ETH Price: $2,643.81 (-0.29%)

Contract

0xf9C04eC24d9d0DcF86c0186A363DE404F5d5E778
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer161466622022-12-09 10:51:23680 days ago1670583083IN
0xf9C04eC2...4F5d5E778
0 ETH0.0008582518.25566521
Transfer161466242022-12-09 10:43:47680 days ago1670582627IN
0xf9C04eC2...4F5d5E778
0 ETH0.0023090749.11562345
Transfer110843402020-10-19 4:38:561461 days ago1603082336IN
0xf9C04eC2...4F5d5E778
0 ETH0.0006899419
Transfer109294262020-09-25 3:36:191485 days ago1601004979IN
0xf9C04eC2...4F5d5E778
0 ETH0.0016315444.93
Transfer108232442020-09-08 20:42:511501 days ago1599597771IN
0xf9C04eC2...4F5d5E778
0 ETH0.0025419170
Transfer108201642020-09-08 9:26:441502 days ago1599557204IN
0xf9C04eC2...4F5d5E778
0 ETH0.0029960583
End Sale108022352020-09-05 15:30:151505 days ago1599319815IN
0xf9C04eC2...4F5d5E778
0 ETH0.00615083438
Transfer108018832020-09-05 14:14:051505 days ago1599315245IN
0xf9C04eC2...4F5d5E778
0 ETH0.01644978453
Transfer108009582020-09-05 10:56:021505 days ago1599303362IN
0xf9C04eC2...4F5d5E778
1 ETH0.0214908300
Transfer108008772020-09-05 10:39:061505 days ago1599302346IN
0xf9C04eC2...4F5d5E778
2 ETH0.02077444290
Transfer108006082020-09-05 9:36:391505 days ago1599298599IN
0xf9C04eC2...4F5d5E778
0.4 ETH0.01898354265
Transfer108002292020-09-05 8:14:431505 days ago1599293683IN
0xf9C04eC2...4F5d5E778
0 ETH0.00980127270
Transfer108000512020-09-05 7:35:441505 days ago1599291344IN
0xf9C04eC2...4F5d5E778
0.1 ETH0.017909250
Transfer107997772020-09-05 6:34:151505 days ago1599287655IN
0xf9C04eC2...4F5d5E778
0.5 ETH0.0716361,000
Transfer107995442020-09-05 5:39:111505 days ago1599284351IN
0xf9C04eC2...4F5d5E778
0.5 ETH0.01217812170
Transfer107995322020-09-05 5:36:271505 days ago1599284187IN
0xf9C04eC2...4F5d5E778
0.5 ETH0.054512800
Transfer107995252020-09-05 5:34:211505 days ago1599284061IN
0xf9C04eC2...4F5d5E778
0.5 ETH0.040884600
Transfer107994782020-09-05 5:26:201505 days ago1599283580IN
0xf9C04eC2...4F5d5E778
0.5 ETH0.040884600
Transfer107994742020-09-05 5:24:551505 days ago1599283495IN
0xf9C04eC2...4F5d5E778
0.5 ETH0.0272672400
Transfer107994182020-09-05 5:14:031505 days ago1599282843IN
0xf9C04eC2...4F5d5E778
0.7 ETH0.020442300
Transfer107994122020-09-05 5:12:471505 days ago1599282767IN
0xf9C04eC2...4F5d5E778
0.7 ETH0.011618200
Transfer107994092020-09-05 5:11:101505 days ago1599282670IN
0xf9C04eC2...4F5d5E778
0.7 ETH0.01227132180
Transfer107992292020-09-05 4:25:171505 days ago1599279917IN
0xf9C04eC2...4F5d5E778
1 ETH0.04727976660
Transfer107992162020-09-05 4:24:021505 days ago1599279842IN
0xf9C04eC2...4F5d5E778
1 ETH0.017035250
Transfer107992002020-09-05 4:20:401505 days ago1599279640IN
0xf9C04eC2...4F5d5E778
1 ETH0.0105617155
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
108009582020-09-05 10:56:021505 days ago1599303362
0xf9C04eC2...4F5d5E778
1 ETH
108008772020-09-05 10:39:061505 days ago1599302346
0xf9C04eC2...4F5d5E778
2 ETH
108006082020-09-05 9:36:391505 days ago1599298599
0xf9C04eC2...4F5d5E778
0.4 ETH
108000512020-09-05 7:35:441505 days ago1599291344
0xf9C04eC2...4F5d5E778
0.1 ETH
107997772020-09-05 6:34:151505 days ago1599287655
0xf9C04eC2...4F5d5E778
0.5 ETH
107995442020-09-05 5:39:111505 days ago1599284351
0xf9C04eC2...4F5d5E778
0.5 ETH
107995322020-09-05 5:36:271505 days ago1599284187
0xf9C04eC2...4F5d5E778
0.5 ETH
107995252020-09-05 5:34:211505 days ago1599284061
0xf9C04eC2...4F5d5E778
0.5 ETH
107994782020-09-05 5:26:201505 days ago1599283580
0xf9C04eC2...4F5d5E778
0.5 ETH
107994742020-09-05 5:24:551505 days ago1599283495
0xf9C04eC2...4F5d5E778
0.5 ETH
107994182020-09-05 5:14:031505 days ago1599282843
0xf9C04eC2...4F5d5E778
0.7 ETH
107994122020-09-05 5:12:471505 days ago1599282767
0xf9C04eC2...4F5d5E778
0.7 ETH
107994092020-09-05 5:11:101505 days ago1599282670
0xf9C04eC2...4F5d5E778
0.7 ETH
107992292020-09-05 4:25:171505 days ago1599279917
0xf9C04eC2...4F5d5E778
1 ETH
107992162020-09-05 4:24:021505 days ago1599279842
0xf9C04eC2...4F5d5E778
1 ETH
107992002020-09-05 4:20:401505 days ago1599279640
0xf9C04eC2...4F5d5E778
1 ETH
107991932020-09-05 4:18:461505 days ago1599279526
0xf9C04eC2...4F5d5E778
1 ETH
107991872020-09-05 4:17:341505 days ago1599279454
0xf9C04eC2...4F5d5E778
1 ETH
107983782020-09-05 1:16:271505 days ago1599268587
0xf9C04eC2...4F5d5E778
0.7 ETH
107983682020-09-05 1:13:291505 days ago1599268409
0xf9C04eC2...4F5d5E778
0.8 ETH
107977302020-09-04 22:57:561505 days ago1599260276
0xf9C04eC2...4F5d5E778
1.02934701 ETH
107966302020-09-04 18:59:131506 days ago1599245953
0xf9C04eC2...4F5d5E778
0.01 ETH
107962332020-09-04 17:27:531506 days ago1599240473
0xf9C04eC2...4F5d5E778
0.5 ETH
107961052020-09-04 17:01:331506 days ago1599238893
0xf9C04eC2...4F5d5E778
1 ETH
107960572020-09-04 16:52:131506 days ago1599238333
0xf9C04eC2...4F5d5E778
0.05 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BullStaking

Compiler Version
v0.6.0+commit.26b70077

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-09-04
*/

//SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.6.0;

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {

        if (a == 0) {
            return 0;
        }

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

        return c;
    }

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

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


        return c;
    }

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

interface IERC20 {

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

contract ERC20 is IERC20 {
    using SafeMath for uint256;


    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

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

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

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

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

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

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

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }


    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }

}


contract BullStaking is IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _stakes;

    address public owner = msg.sender;
    address  public tokenAddress;
    uint public stakingStarts;
    uint public stakingEnds;
    uint public withdrawStarts;
    uint public withdrawEnds;
    uint256 public stakedTotal;
    uint256 public stakingCap;
    uint256 public totalReward;
    uint256 public earlyWithdrawReward;
    uint256 public rewardBalance;
    uint256 public stakedBalance;

    address payable ethFund = 0xB205238e2eCb8462d5D826E28DCd2aCe0BF811a4;

    ERC20 public ERC20Interface;
    event Staked(address indexed token, address indexed staker_, uint256 requestedAmount_, uint256 stakedAmount_);
    event PaidOut(address indexed token, address indexed staker_, uint256 amount_, uint256 reward_);
    event Refunded(address indexed token, address indexed staker_, uint256 amount_);

    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    uint8 private _decimals;
    uint256 public price;
    uint256 public sold = 0;

    bool public distributionFinished = false;

    bool public distribution_ongoing = false;

    uint256 public tokensPerEth = 60000e18;

    constructor (string memory name, string memory symbol, address payable _ethFund, uint256 _tokensPerEth) public {
        tokensPerEth = _tokensPerEth*1e18;
        price = SafeMath.div(1e18, SafeMath.div(tokensPerEth, 1e18));
        _name = name;
        _symbol = symbol;
        ethFund = _ethFund;
        _decimals = 18;
        _totalSupply = 100000000e18;
        owner = msg.sender;
        _balances[owner] = _balances[owner].add(_totalSupply);
    }

    modifier saleHappening {
      require(distribution_ongoing == true, "distribution started");
      require(sold <= _totalSupply, "tokens sold out");
      _;
    }

    function tokenSaleStarted() public view returns (bool) {
        return distribution_ongoing;
    }

    function startSale() public
    onlyOwner {
      distribution_ongoing = true;
    }

    function endSale() public
    onlyOwner {
      distribution_ongoing = false;
    }

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

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

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

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

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

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

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


    function _setupDecimals(uint8 decimals_) internal {
        _decimals = decimals_;
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }

    function finishDistribution() onlyOwner canDistr public returns (bool) {
        distributionFinished = true;

        return true;
    }

    function distr(address _to, uint256 _amount) canDistr private returns (bool) {

        _balances[owner] = _balances[owner].sub(_amount);
        _balances[_to] = _balances[_to].add(_amount);

        return true;
    }


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

    modifier canDistr() {
        require(!distributionFinished);
        _;
    }


    receive ()
      external
      payable
      saleHappening
    {
      
      uint excessAmount = msg.value % price;

      uint purchaseAmount = SafeMath.sub(msg.value, excessAmount);

      uint tokenPurchase = SafeMath.div(SafeMath.mul(purchaseAmount,1e18), price);

      uint total_token = tokenPurchase;

      sold= SafeMath.add(sold, total_token);

      assert(sold <= _totalSupply);

      ethFund.transfer(msg.value);
      assert(distr(msg.sender, total_token));

    }


    function init_staking(
        address tokenAddress_,
        uint stakingEnds_,
        uint withdrawStarts_,
        uint256 stakingCap_
    )

    public onlyOwner {

        require(tokenAddress_ != address(0), "BullStaking: 0 address");
        tokenAddress = tokenAddress_;

        stakingStarts = now;

        require(stakingEnds_ > 0, "BullStaking: staking end must be positive");
        stakingEnds = now + stakingEnds_;

        require(withdrawStarts_ >= stakingEnds_, "Bulltaking: withdrawStarts must be after staking ends");
        withdrawStarts = withdrawStarts_;

        withdrawEnds = withdrawStarts + 180 days; // 6 months to withdraw reward

        require(stakingCap_ > 0, "BullStaking: stakingCap must be positive");
        stakingCap = stakingCap_;
    }

    function addReward(uint256 rewardAmount, uint256 withdrawableAmount)
    public

    returns (bool) {
        require(rewardAmount > 0, "BullStaking: reward must be positive");
        require(withdrawableAmount >= 0, "BullStaking: withdrawable amount cannot be negative");
        require(withdrawableAmount <= rewardAmount, "BullStaking: withdrawable amount must be less than or equal to the reward amount");
        address from = msg.sender;
        if (!_payMe(from, rewardAmount)) {
            return false;
        }

        totalReward = totalReward.add(rewardAmount);
        rewardBalance = totalReward;
        earlyWithdrawReward = earlyWithdrawReward.add(withdrawableAmount);
        return true;
    }

    function stakeOf(address account) public view returns (uint256) {
        return _stakes[account];
    }

    function stake(uint256 amount)
    public
    _positive(amount)
    _realAddress(msg.sender)
    returns (bool) {
        address from = msg.sender;
        return _stake(from, amount);
    }

    function withdraw(uint256 amount)
    public
    _after(withdrawStarts)
    _positive(amount)
    _realAddress(msg.sender)
    returns (bool) {
        address from = msg.sender;
        require(amount <= _stakes[from], "BullStaking: not enough balance");
        if (now < withdrawEnds) {
            return _withdrawEarly(from, amount);
        } else {
            return _withdrawAfterClose(from, amount);
        }
    }

    function _withdrawEarly(address from, uint256 amount)
    private
    _realAddress(from)
    returns (bool) {
        // The formula to calculate reward:
        // r = (earlyWithdrawReward / stakedTotal) * (now - stakingEnds) / (withdrawEnds - stakingEnds)
        // w = (1+r) * a
        uint256 denom = (withdrawEnds.sub(stakingEnds)).mul(stakedTotal);
        uint256 reward = (
        ( (now.sub(stakingEnds)).mul(earlyWithdrawReward) ).mul(amount)
        ).div(denom);
        uint256 payOut = amount.add(reward);
        rewardBalance = rewardBalance.sub(reward);
        stakedBalance = stakedBalance.sub(amount);
        _stakes[from] = _stakes[from].sub(amount);
        if (_payDirect(from, payOut)) {
            emit PaidOut(tokenAddress, from, amount, reward);
            return true;
        }
        return false;
    }

    function _withdrawAfterClose(address from, uint256 amount)
    private
    _realAddress(from)
    returns (bool) {
        uint256 reward = (rewardBalance.mul(amount)).div(stakedBalance);
        uint256 payOut = amount.add(reward);
        _stakes[from] = _stakes[from].sub(amount);
        if (_payDirect(from, payOut)) {
            emit PaidOut(tokenAddress, from, amount, reward);
            return true;
        }
        return false;
    }

    function _stake(address staker, uint256 amount)
    private
    _after(stakingStarts)
    _before(stakingEnds)
    _positive(amount)
    returns (bool) {
        amount = amount*1e18;
        uint256 remaining = amount;
        if (remaining > (stakingCap.sub(stakedBalance))) {
            remaining = stakingCap.sub(stakedBalance);
        }

        require(remaining > 0, "BullStaking: Staking cap is filled");
        require((remaining + stakedTotal) <= stakingCap, "BullStaking: this will increase staking amount pass the cap");
        if (!_payMe(staker, remaining)) {
            return false;
        }
        emit Staked(tokenAddress, staker, amount, remaining);

        if (remaining < amount) {

            uint256 refund = amount.sub(remaining);
            if (_payTo(staker, staker, refund)) {
                emit Refunded(tokenAddress, staker, refund);
            }
        }

        stakedBalance = stakedBalance.add(remaining);
        stakedTotal = stakedTotal.add(remaining);
        _stakes[staker] = _stakes[staker].add(remaining);
        return true;
    }

    function _payMe(address payer, uint256 amount)
    private
    returns (bool) {
        return _payTo(payer, address(this), amount);
    }

    function _payTo(address allower, address receiver, uint256 amount)
    private
    returns (bool) {

        ERC20Interface = ERC20(tokenAddress);
        return ERC20Interface.transferFrom(allower, receiver, amount);
    }

    function _payDirect(address to, uint256 amount)
    private
    _positive(amount)
    returns (bool) {
        ERC20Interface = ERC20(tokenAddress);
        return ERC20Interface.transfer(to, amount);
    }

    modifier _realAddress(address addr) {
        require(addr != address(0), "BullStaking: zero address");
        _;
    }

    modifier _positive(uint256 amount) {
        require(amount >= 0, "BullStaking: negative amount");
        _;
    }

    modifier _after(uint eventTime) {
        require(now >= eventTime, "BullStaking: bad timing for the request");
        _;
    }

    modifier _before(uint eventTime) {
        require(now < eventTime, "BullStaking: bad timing for the request");
        _;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address payable","name":"_ethFund","type":"address"},{"internalType":"uint256","name":"_tokensPerEth","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"staker_","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"reward_","type":"uint256"}],"name":"PaidOut","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"staker_","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"Refunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"staker_","type":"address"},{"indexed":false,"internalType":"uint256","name":"requestedAmount_","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"stakedAmount_","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"ERC20Interface","outputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rewardAmount","type":"uint256"},{"internalType":"uint256","name":"withdrawableAmount","type":"uint256"}],"name":"addReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributionFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distribution_ongoing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"earlyWithdrawReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finishDistribution","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress_","type":"address"},{"internalType":"uint256","name":"stakingEnds_","type":"uint256"},{"internalType":"uint256","name":"withdrawStarts_","type":"uint256"},{"internalType":"uint256","name":"stakingCap_","type":"uint256"}],"name":"init_staking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"stakeOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakedTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingEnds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingStarts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenSaleStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensPerEth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawEnds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawStarts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405233600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b205238e2ecb8462d5d826e28dcd2ace0bf811a4600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006015556000601660006101000a81548160ff0219169083151502179055506000601660016101000a81548160ff021916908315150217905550690cb49b44ba602d800000601755348015620000f057600080fd5b50604051620036f0380380620036f0833981810160405260808110156200011657600080fd5b81019080805160405193929190846401000000008211156200013757600080fd5b838201915060208201858111156200014e57600080fd5b82518660018202830111640100000000821117156200016c57600080fd5b8083526020830192505050908051906020019080838360005b83811015620001a257808201518184015260208101905062000185565b50505050905090810190601f168015620001d05780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084640100000000821115620001f457600080fd5b838201915060208201858111156200020b57600080fd5b82518660018202830111640100000000821117156200022957600080fd5b8083526020830192505050908051906020019080838360005b838110156200025f57808201518184015260208101905062000242565b50505050905090810190601f1680156200028d5780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919080519060200190929190505050670de0b6b3a76400008102601781905550620002fb670de0b6b3a7640000620002ea601754670de0b6b3a7640000620004cf60201b62000d991760201c565b620004cf60201b62000d991760201c565b60148190555083601190805190602001906200031992919062000675565b5082601290805190602001906200033292919062000675565b5081600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012601360006101000a81548160ff021916908360ff1602179055506a52b7d2dcc80cd2e400000060108190555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000460601054600f6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200052160201b62000de31790919060201c565b600f6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505062000724565b60006200051983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620005aa60201b60201c565b905092915050565b600080828401905083811015620005a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080831182906200065a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200061e57808201518184015260208101905062000601565b50505050905090810190601f1680156200064c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816200066757fe5b049050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620006b857805160ff1916838001178555620006e9565b82800160010185558215620006e9579182015b82811115620006e8578251825591602001919060010190620006cb565b5b509050620006f89190620006fc565b5090565b6200072191905b808211156200071d57600081600090555060010162000703565b5090565b90565b612fbc80620007346000396000f3fe6080604052600436106101fd5760003560e01c8063750142e61161010d578063a9059cbb116100a0578063c108d5421161006f578063c108d54214610bea578063cbdd69b514610c19578063d66692a714610c44578063eacebf6114610c6f578063f114589714610c9a576103e8565b8063a9059cbb14610b0a578063aa5c3ab414610b7d578063b410e2a114610ba8578063b66a0e5d14610bd3576103e8565b80639b1cbccc116100dc5780639b1cbccc14610a065780639d76ea5814610a35578063a035b1fe14610a8c578063a694fc3a14610ab7576103e8565b8063750142e61461089757806375c93bb9146108c25780638da5cb5b1461091f57806395d89b4114610976576103e8565b8063313ce56711610190578063426233601161015f578063426233601461074c57806344c370d3146107b15780635b9f0016146107dc5780636d68c7d41461080757806370a0823114610832576103e8565b8063313ce567146106aa57806333a543ce146106db578063380d831b1461070a5780633f7fd60a14610721576103e8565b806321b13cdf116101cc57806321b13cdf1461052a57806323b872dd1461055557806329f4136b146105e85780632e1a7d4d14610657576103e8565b806302c7e7af146103ed57806306fdde031461041857806318160ddd146104a85780631bbc4b83146104d3576103e8565b366103e85760011515601660019054906101000a900460ff1615151461028b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f646973747269627574696f6e207374617274656400000000000000000000000081525060200191505060405180910390fd5b6010546015541115610305576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f746f6b656e7320736f6c64206f7574000000000000000000000000000000000081525060200191505060405180910390fd5b6000601454348161031257fe5b06905060006103213483610cc9565b9050600061034261033a83670de0b6b3a7640000610d13565b601454610d99565b9050600081905061035560155482610de3565b601581905550601054601554111561036957fe5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156103d1573d6000803e3d6000fd5b506103dc3382610e6b565b6103e257fe5b50505050005b600080fd5b3480156103f957600080fd5b50610402610fff565b6040518082815260200191505060405180910390f35b34801561042457600080fd5b5061042d611005565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561046d578082015181840152602081019050610452565b50505050905090810190601f16801561049a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104b457600080fd5b506104bd6110a7565b6040518082815260200191505060405180910390f35b3480156104df57600080fd5b506104e86110b1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053657600080fd5b5061053f6110d7565b6040518082815260200191505060405180910390f35b34801561056157600080fd5b506105ce6004803603606081101561057857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110dd565b604051808215151515815260200191505060405180910390f35b3480156105f457600080fd5b506106556004803603608081101561060b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001909291905050506110f5565b005b34801561066357600080fd5b506106906004803603602081101561067a57600080fd5b8101908080359060200190929190505050611370565b604051808215151515815260200191505060405180910390f35b3480156106b657600080fd5b506106bf6115d5565b604051808260ff1660ff16815260200191505060405180910390f35b3480156106e757600080fd5b506106f06115ec565b604051808215151515815260200191505060405180910390f35b34801561071657600080fd5b5061071f611603565b005b34801561072d57600080fd5b5061073661167a565b6040518082815260200191505060405180910390f35b34801561075857600080fd5b5061079b6004803603602081101561076f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611680565b6040518082815260200191505060405180910390f35b3480156107bd57600080fd5b506107c66116c8565b6040518082815260200191505060405180910390f35b3480156107e857600080fd5b506107f16116ce565b6040518082815260200191505060405180910390f35b34801561081357600080fd5b5061081c6116d4565b6040518082815260200191505060405180910390f35b34801561083e57600080fd5b506108816004803603602081101561085557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116da565b6040518082815260200191505060405180910390f35b3480156108a357600080fd5b506108ac611723565b6040518082815260200191505060405180910390f35b3480156108ce57600080fd5b50610905600480360360408110156108e557600080fd5b810190808035906020019092919080359060200190929190505050611729565b604051808215151515815260200191505060405180910390f35b34801561092b57600080fd5b5061093461189e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561098257600080fd5b5061098b6118c4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109cb5780820151818401526020810190506109b0565b50505050905090810190601f1680156109f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a1257600080fd5b50610a1b611966565b604051808215151515815260200191505060405180910390f35b348015610a4157600080fd5b50610a4a6119fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a9857600080fd5b50610aa1611a24565b6040518082815260200191505060405180910390f35b348015610ac357600080fd5b50610af060048036036020811015610ada57600080fd5b8101908080359060200190929190505050611a2a565b604051808215151515815260200191505060405180910390f35b348015610b1657600080fd5b50610b6360048036036040811015610b2d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b61565b604051808215151515815260200191505060405180910390f35b348015610b8957600080fd5b50610b92611b78565b6040518082815260200191505060405180910390f35b348015610bb457600080fd5b50610bbd611b7e565b6040518082815260200191505060405180910390f35b348015610bdf57600080fd5b50610be8611b84565b005b348015610bf657600080fd5b50610bff611bfb565b604051808215151515815260200191505060405180910390f35b348015610c2557600080fd5b50610c2e611c0e565b6040518082815260200191505060405180910390f35b348015610c5057600080fd5b50610c59611c14565b6040518082815260200191505060405180910390f35b348015610c7b57600080fd5b50610c84611c1a565b6040518082815260200191505060405180910390f35b348015610ca657600080fd5b50610caf611c20565b604051808215151515815260200191505060405180910390f35b6000610d0b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c33565b905092915050565b600080831415610d265760009050610d93565b6000828402905082848281610d3757fe5b0414610d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612e8e6021913960400191505060405180910390fd5b809150505b92915050565b6000610ddb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cf3565b905092915050565b600080828401905083811015610e61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000601660009054906101000a900460ff1615610e8757600080fd5b610efb82600f6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc990919063ffffffff16565b600f6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fb282600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610de390919063ffffffff16565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60155481565b606060118054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561109d5780601f106110725761010080835404028352916020019161109d565b820191906000526020600020905b81548152906001019060200180831161108057829003601f168201915b5050505050905090565b6000601054905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b60006110ea848484611db9565b600190509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461114f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156111f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f42756c6c5374616b696e673a203020616464726573730000000000000000000081525060200191505060405180910390fd5b83600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260038190555060008311611293576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612f076029913960400191505060405180910390fd5b824201600481905550828210156112f5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180612f526035913960400191505060405180910390fd5b8160058190555062ed4e006005540160068190555060008111611363576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612dcb6028913960400191505060405180910390fd5b8060088190555050505050565b6000600554804210156113ce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612df36027913960400191505060405180910390fd5b826000811015611446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f42756c6c5374616b696e673a206e6567617469766520616d6f756e740000000081525060200191505060405180910390fd5b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42756c6c5374616b696e673a207a65726f20616464726573730000000000000081525060200191505060405180910390fd5b60003390506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548611156115a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f42756c6c5374616b696e673a206e6f7420656e6f7567682062616c616e63650081525060200191505060405180910390fd5b6006544210156115bf576115b7818761207e565b9450506115cd565b6115c9818761233d565b9450505b505050919050565b6000601360009054906101000a900460ff16905090565b6000601660019054906101000a900460ff16905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461165d57600080fd5b6000601660016101000a81548160ff021916908315150217905550565b600a5481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60085481565b600c5481565b60035481565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60095481565b6000808311611783576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612e1a6024913960400191505060405180910390fd5b60008210156117dd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180612ed46033913960400191505060405180910390fd5b82821115611836576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526050815260200180612e3e6050913960600191505060405180910390fd5b60003390506118458185612571565b611853576000915050611898565b61186884600954610de390919063ffffffff16565b600981905550600954600b8190555061188c83600a54610de390919063ffffffff16565b600a8190555060019150505b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060128054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561195c5780601f106119315761010080835404028352916020019161195c565b820191906000526020600020905b81548152906001019060200180831161193f57829003601f168201915b5050505050905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119c257600080fd5b601660009054906101000a900460ff16156119dc57600080fd5b6001601660006101000a81548160ff0219169083151502179055506001905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60145481565b6000816000811015611aa4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f42756c6c5374616b696e673a206e6567617469766520616d6f756e740000000081525060200191505060405180910390fd5b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611b48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42756c6c5374616b696e673a207a65726f20616464726573730000000000000081525060200191505060405180910390fd5b6000339050611b578186612586565b9350505050919050565b6000611b6e338484611db9565b6001905092915050565b600b5481565b60045481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bde57600080fd5b6001601660016101000a81548160ff021916908315150217905550565b601660009054906101000a900460ff1681565b60175481565b60075481565b60065481565b601660019054906101000a900460ff1681565b6000838311158290611ce0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ca5578082015181840152602081019050611c8a565b50505050905090810190601f168015611cd25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290611d9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d64578082015181840152602081019050611d49565b50505050905090810190601f168015611d915780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611dab57fe5b049050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612eaf6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ec5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612d476023913960400191505060405180910390fd5b611ed08383836129f1565b611f3c81604051806060016040528060268152602001612da560269139600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c339092919063ffffffff16565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fd181600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610de390919063ffffffff16565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612124576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42756c6c5374616b696e673a207a65726f20616464726573730000000000000081525060200191505060405180910390fd5b6000612151600754612143600454600654610cc990919063ffffffff16565b610d1390919063ffffffff16565b905060006121a28261219487612186600a5461217860045442610cc990919063ffffffff16565b610d1390919063ffffffff16565b610d1390919063ffffffff16565b610d9990919063ffffffff16565b905060006121b98287610de390919063ffffffff16565b90506121d082600b54610cc990919063ffffffff16565b600b819055506121eb86600c54610cc990919063ffffffff16565b600c81905550612242866000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc990919063ffffffff16565b6000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061228e87826129f6565b1561232e578673ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f85ab59351da11b79336de7647172267c33bf533ee87d9d292441c2672177159b8885604051808381526020018281526020019250505060405180910390a360019450505050612336565b600094505050505b5092915050565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156123e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42756c6c5374616b696e673a207a65726f20616464726573730000000000000081525060200191505060405180910390fd5b600061240e600c5461240086600b54610d1390919063ffffffff16565b610d9990919063ffffffff16565b905060006124258286610de390919063ffffffff16565b9050612478856000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc990919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124c486826129f6565b15612563578573ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f85ab59351da11b79336de7647172267c33bf533ee87d9d292441c2672177159b8785604051808381526020018281526020019250505060405180910390a360019350505061256a565b6000935050505b5092915050565b600061257e833084612bc0565b905092915050565b6000600354804210156125e4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612df36027913960400191505060405180910390fd5b60045480421061263f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612df36027913960400191505060405180910390fd5b8360008110156126b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f42756c6c5374616b696e673a206e6567617469766520616d6f756e740000000081525060200191505060405180910390fd5b670de0b6b3a76400008502945060008590506126e0600c54600854610cc990919063ffffffff16565b811115612701576126fe600c54600854610cc990919063ffffffff16565b90505b6000811161275a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612f306022913960400191505060405180910390fd5b600854600754820111156127b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180612d6a603b913960400191505060405180910390fd5b6127c38782612571565b6127d15760009450506129e8565b8673ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f6c86f3fd5118b3aa8bb4f389a617046de0a3d3d477de1a1673d227f802f616dc8884604051808381526020018281526020019250505060405180910390a38581101561291957600061287d8288610cc990919063ffffffff16565b905061288a888983612bc0565b15612917578773ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fec1e5ed733e00f1a00915d56caef57b4f52312dde4f9b3165f213319a0da156b836040518082815260200191505060405180910390a35b505b61292e81600c54610de390919063ffffffff16565b600c8190555061294981600754610de390919063ffffffff16565b6007819055506129a0816000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610de390919063ffffffff16565b6000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019450505b50505092915050565b505050565b6000816000811015612a70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f42756c6c5374616b696e673a206e6567617469766520616d6f756e740000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612b7c57600080fd5b505af1158015612b90573d6000803e3d6000fd5b505050506040513d6020811015612ba657600080fd5b810190808051906020019092919050505091505092915050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8585856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015612d0257600080fd5b505af1158015612d16573d6000803e3d6000fd5b505050506040513d6020811015612d2c57600080fd5b81019080805190602001909291905050509050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737342756c6c5374616b696e673a20746869732077696c6c20696e637265617365207374616b696e6720616d6f756e742070617373207468652063617045524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636542756c6c5374616b696e673a207374616b696e67436170206d75737420626520706f73697469766542756c6c5374616b696e673a206261642074696d696e6720666f7220746865207265717565737442756c6c5374616b696e673a20726577617264206d75737420626520706f73697469766542756c6c5374616b696e673a20776974686472617761626c6520616d6f756e74206d757374206265206c657373207468616e206f7220657175616c20746f207468652072657761726420616d6f756e74536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e736665722066726f6d20746865207a65726f206164647265737342756c6c5374616b696e673a20776974686472617761626c6520616d6f756e742063616e6e6f74206265206e6567617469766542756c6c5374616b696e673a207374616b696e6720656e64206d75737420626520706f73697469766542756c6c5374616b696e673a205374616b696e67206361702069732066696c6c656442756c6c74616b696e673a207769746864726177537461727473206d757374206265206166746572207374616b696e6720656e6473a26469706673582212200f0066cd20c9c76f8d2d367b865807a9b0254a1512b6ce0e1152bc5c644229c464736f6c63430006000033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000069744a0c3679470212d08d269ec051dbeb8d6b0400000000000000000000000000000000000000000000000000000000000099f600000000000000000000000000000000000000000000000000000000000000135061796d656e7462756c6c2e66696e616e636500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000442554c4c00000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101fd5760003560e01c8063750142e61161010d578063a9059cbb116100a0578063c108d5421161006f578063c108d54214610bea578063cbdd69b514610c19578063d66692a714610c44578063eacebf6114610c6f578063f114589714610c9a576103e8565b8063a9059cbb14610b0a578063aa5c3ab414610b7d578063b410e2a114610ba8578063b66a0e5d14610bd3576103e8565b80639b1cbccc116100dc5780639b1cbccc14610a065780639d76ea5814610a35578063a035b1fe14610a8c578063a694fc3a14610ab7576103e8565b8063750142e61461089757806375c93bb9146108c25780638da5cb5b1461091f57806395d89b4114610976576103e8565b8063313ce56711610190578063426233601161015f578063426233601461074c57806344c370d3146107b15780635b9f0016146107dc5780636d68c7d41461080757806370a0823114610832576103e8565b8063313ce567146106aa57806333a543ce146106db578063380d831b1461070a5780633f7fd60a14610721576103e8565b806321b13cdf116101cc57806321b13cdf1461052a57806323b872dd1461055557806329f4136b146105e85780632e1a7d4d14610657576103e8565b806302c7e7af146103ed57806306fdde031461041857806318160ddd146104a85780631bbc4b83146104d3576103e8565b366103e85760011515601660019054906101000a900460ff1615151461028b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f646973747269627574696f6e207374617274656400000000000000000000000081525060200191505060405180910390fd5b6010546015541115610305576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f746f6b656e7320736f6c64206f7574000000000000000000000000000000000081525060200191505060405180910390fd5b6000601454348161031257fe5b06905060006103213483610cc9565b9050600061034261033a83670de0b6b3a7640000610d13565b601454610d99565b9050600081905061035560155482610de3565b601581905550601054601554111561036957fe5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156103d1573d6000803e3d6000fd5b506103dc3382610e6b565b6103e257fe5b50505050005b600080fd5b3480156103f957600080fd5b50610402610fff565b6040518082815260200191505060405180910390f35b34801561042457600080fd5b5061042d611005565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561046d578082015181840152602081019050610452565b50505050905090810190601f16801561049a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104b457600080fd5b506104bd6110a7565b6040518082815260200191505060405180910390f35b3480156104df57600080fd5b506104e86110b1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053657600080fd5b5061053f6110d7565b6040518082815260200191505060405180910390f35b34801561056157600080fd5b506105ce6004803603606081101561057857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110dd565b604051808215151515815260200191505060405180910390f35b3480156105f457600080fd5b506106556004803603608081101561060b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001909291905050506110f5565b005b34801561066357600080fd5b506106906004803603602081101561067a57600080fd5b8101908080359060200190929190505050611370565b604051808215151515815260200191505060405180910390f35b3480156106b657600080fd5b506106bf6115d5565b604051808260ff1660ff16815260200191505060405180910390f35b3480156106e757600080fd5b506106f06115ec565b604051808215151515815260200191505060405180910390f35b34801561071657600080fd5b5061071f611603565b005b34801561072d57600080fd5b5061073661167a565b6040518082815260200191505060405180910390f35b34801561075857600080fd5b5061079b6004803603602081101561076f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611680565b6040518082815260200191505060405180910390f35b3480156107bd57600080fd5b506107c66116c8565b6040518082815260200191505060405180910390f35b3480156107e857600080fd5b506107f16116ce565b6040518082815260200191505060405180910390f35b34801561081357600080fd5b5061081c6116d4565b6040518082815260200191505060405180910390f35b34801561083e57600080fd5b506108816004803603602081101561085557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116da565b6040518082815260200191505060405180910390f35b3480156108a357600080fd5b506108ac611723565b6040518082815260200191505060405180910390f35b3480156108ce57600080fd5b50610905600480360360408110156108e557600080fd5b810190808035906020019092919080359060200190929190505050611729565b604051808215151515815260200191505060405180910390f35b34801561092b57600080fd5b5061093461189e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561098257600080fd5b5061098b6118c4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109cb5780820151818401526020810190506109b0565b50505050905090810190601f1680156109f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a1257600080fd5b50610a1b611966565b604051808215151515815260200191505060405180910390f35b348015610a4157600080fd5b50610a4a6119fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a9857600080fd5b50610aa1611a24565b6040518082815260200191505060405180910390f35b348015610ac357600080fd5b50610af060048036036020811015610ada57600080fd5b8101908080359060200190929190505050611a2a565b604051808215151515815260200191505060405180910390f35b348015610b1657600080fd5b50610b6360048036036040811015610b2d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b61565b604051808215151515815260200191505060405180910390f35b348015610b8957600080fd5b50610b92611b78565b6040518082815260200191505060405180910390f35b348015610bb457600080fd5b50610bbd611b7e565b6040518082815260200191505060405180910390f35b348015610bdf57600080fd5b50610be8611b84565b005b348015610bf657600080fd5b50610bff611bfb565b604051808215151515815260200191505060405180910390f35b348015610c2557600080fd5b50610c2e611c0e565b6040518082815260200191505060405180910390f35b348015610c5057600080fd5b50610c59611c14565b6040518082815260200191505060405180910390f35b348015610c7b57600080fd5b50610c84611c1a565b6040518082815260200191505060405180910390f35b348015610ca657600080fd5b50610caf611c20565b604051808215151515815260200191505060405180910390f35b6000610d0b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c33565b905092915050565b600080831415610d265760009050610d93565b6000828402905082848281610d3757fe5b0414610d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612e8e6021913960400191505060405180910390fd5b809150505b92915050565b6000610ddb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cf3565b905092915050565b600080828401905083811015610e61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000601660009054906101000a900460ff1615610e8757600080fd5b610efb82600f6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc990919063ffffffff16565b600f6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fb282600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610de390919063ffffffff16565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60155481565b606060118054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561109d5780601f106110725761010080835404028352916020019161109d565b820191906000526020600020905b81548152906001019060200180831161108057829003601f168201915b5050505050905090565b6000601054905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b60006110ea848484611db9565b600190509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461114f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156111f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f42756c6c5374616b696e673a203020616464726573730000000000000000000081525060200191505060405180910390fd5b83600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260038190555060008311611293576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612f076029913960400191505060405180910390fd5b824201600481905550828210156112f5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180612f526035913960400191505060405180910390fd5b8160058190555062ed4e006005540160068190555060008111611363576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612dcb6028913960400191505060405180910390fd5b8060088190555050505050565b6000600554804210156113ce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612df36027913960400191505060405180910390fd5b826000811015611446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f42756c6c5374616b696e673a206e6567617469766520616d6f756e740000000081525060200191505060405180910390fd5b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42756c6c5374616b696e673a207a65726f20616464726573730000000000000081525060200191505060405180910390fd5b60003390506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548611156115a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f42756c6c5374616b696e673a206e6f7420656e6f7567682062616c616e63650081525060200191505060405180910390fd5b6006544210156115bf576115b7818761207e565b9450506115cd565b6115c9818761233d565b9450505b505050919050565b6000601360009054906101000a900460ff16905090565b6000601660019054906101000a900460ff16905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461165d57600080fd5b6000601660016101000a81548160ff021916908315150217905550565b600a5481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60085481565b600c5481565b60035481565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60095481565b6000808311611783576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612e1a6024913960400191505060405180910390fd5b60008210156117dd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180612ed46033913960400191505060405180910390fd5b82821115611836576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526050815260200180612e3e6050913960600191505060405180910390fd5b60003390506118458185612571565b611853576000915050611898565b61186884600954610de390919063ffffffff16565b600981905550600954600b8190555061188c83600a54610de390919063ffffffff16565b600a8190555060019150505b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060128054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561195c5780601f106119315761010080835404028352916020019161195c565b820191906000526020600020905b81548152906001019060200180831161193f57829003601f168201915b5050505050905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119c257600080fd5b601660009054906101000a900460ff16156119dc57600080fd5b6001601660006101000a81548160ff0219169083151502179055506001905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60145481565b6000816000811015611aa4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f42756c6c5374616b696e673a206e6567617469766520616d6f756e740000000081525060200191505060405180910390fd5b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611b48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42756c6c5374616b696e673a207a65726f20616464726573730000000000000081525060200191505060405180910390fd5b6000339050611b578186612586565b9350505050919050565b6000611b6e338484611db9565b6001905092915050565b600b5481565b60045481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bde57600080fd5b6001601660016101000a81548160ff021916908315150217905550565b601660009054906101000a900460ff1681565b60175481565b60075481565b60065481565b601660019054906101000a900460ff1681565b6000838311158290611ce0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ca5578082015181840152602081019050611c8a565b50505050905090810190601f168015611cd25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290611d9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d64578082015181840152602081019050611d49565b50505050905090810190601f168015611d915780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611dab57fe5b049050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612eaf6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ec5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612d476023913960400191505060405180910390fd5b611ed08383836129f1565b611f3c81604051806060016040528060268152602001612da560269139600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c339092919063ffffffff16565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fd181600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610de390919063ffffffff16565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612124576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42756c6c5374616b696e673a207a65726f20616464726573730000000000000081525060200191505060405180910390fd5b6000612151600754612143600454600654610cc990919063ffffffff16565b610d1390919063ffffffff16565b905060006121a28261219487612186600a5461217860045442610cc990919063ffffffff16565b610d1390919063ffffffff16565b610d1390919063ffffffff16565b610d9990919063ffffffff16565b905060006121b98287610de390919063ffffffff16565b90506121d082600b54610cc990919063ffffffff16565b600b819055506121eb86600c54610cc990919063ffffffff16565b600c81905550612242866000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc990919063ffffffff16565b6000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061228e87826129f6565b1561232e578673ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f85ab59351da11b79336de7647172267c33bf533ee87d9d292441c2672177159b8885604051808381526020018281526020019250505060405180910390a360019450505050612336565b600094505050505b5092915050565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156123e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f42756c6c5374616b696e673a207a65726f20616464726573730000000000000081525060200191505060405180910390fd5b600061240e600c5461240086600b54610d1390919063ffffffff16565b610d9990919063ffffffff16565b905060006124258286610de390919063ffffffff16565b9050612478856000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cc990919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124c486826129f6565b15612563578573ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f85ab59351da11b79336de7647172267c33bf533ee87d9d292441c2672177159b8785604051808381526020018281526020019250505060405180910390a360019350505061256a565b6000935050505b5092915050565b600061257e833084612bc0565b905092915050565b6000600354804210156125e4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612df36027913960400191505060405180910390fd5b60045480421061263f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612df36027913960400191505060405180910390fd5b8360008110156126b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f42756c6c5374616b696e673a206e6567617469766520616d6f756e740000000081525060200191505060405180910390fd5b670de0b6b3a76400008502945060008590506126e0600c54600854610cc990919063ffffffff16565b811115612701576126fe600c54600854610cc990919063ffffffff16565b90505b6000811161275a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612f306022913960400191505060405180910390fd5b600854600754820111156127b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180612d6a603b913960400191505060405180910390fd5b6127c38782612571565b6127d15760009450506129e8565b8673ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f6c86f3fd5118b3aa8bb4f389a617046de0a3d3d477de1a1673d227f802f616dc8884604051808381526020018281526020019250505060405180910390a38581101561291957600061287d8288610cc990919063ffffffff16565b905061288a888983612bc0565b15612917578773ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fec1e5ed733e00f1a00915d56caef57b4f52312dde4f9b3165f213319a0da156b836040518082815260200191505060405180910390a35b505b61292e81600c54610de390919063ffffffff16565b600c8190555061294981600754610de390919063ffffffff16565b6007819055506129a0816000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610de390919063ffffffff16565b6000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019450505b50505092915050565b505050565b6000816000811015612a70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f42756c6c5374616b696e673a206e6567617469766520616d6f756e740000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612b7c57600080fd5b505af1158015612b90573d6000803e3d6000fd5b505050506040513d6020811015612ba657600080fd5b810190808051906020019092919050505091505092915050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8585856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015612d0257600080fd5b505af1158015612d16573d6000803e3d6000fd5b505050506040513d6020811015612d2c57600080fd5b81019080805190602001909291905050509050939250505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737342756c6c5374616b696e673a20746869732077696c6c20696e637265617365207374616b696e6720616d6f756e742070617373207468652063617045524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636542756c6c5374616b696e673a207374616b696e67436170206d75737420626520706f73697469766542756c6c5374616b696e673a206261642074696d696e6720666f7220746865207265717565737442756c6c5374616b696e673a20726577617264206d75737420626520706f73697469766542756c6c5374616b696e673a20776974686472617761626c6520616d6f756e74206d757374206265206c657373207468616e206f7220657175616c20746f207468652072657761726420616d6f756e74536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e736665722066726f6d20746865207a65726f206164647265737342756c6c5374616b696e673a20776974686472617761626c6520616d6f756e742063616e6e6f74206265206e6567617469766542756c6c5374616b696e673a207374616b696e6720656e64206d75737420626520706f73697469766542756c6c5374616b696e673a205374616b696e67206361702069732066696c6c656442756c6c74616b696e673a207769746864726177537461727473206d757374206265206166746572207374616b696e6720656e6473a26469706673582212200f0066cd20c9c76f8d2d367b865807a9b0254a1512b6ce0e1152bc5c644229c464736f6c63430006000033

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000069744a0c3679470212d08d269ec051dbeb8d6b0400000000000000000000000000000000000000000000000000000000000099f600000000000000000000000000000000000000000000000000000000000000135061796d656e7462756c6c2e66696e616e636500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000442554c4c00000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): Paymentbull.finance
Arg [1] : symbol (string): BULL
Arg [2] : _ethFund (address): 0x69744a0c3679470212D08d269ec051dbEb8D6b04
Arg [3] : _tokensPerEth (uint256): 39414

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 00000000000000000000000069744a0c3679470212d08d269ec051dbeb8d6b04
Arg [3] : 00000000000000000000000000000000000000000000000000000000000099f6
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000013
Arg [5] : 5061796d656e7462756c6c2e66696e616e636500000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 42554c4c00000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

3909:10960:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5822:4;5798:28;;:20;;;;;;;;;;;:28;;;5790:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5876:12;;5868:4;;:20;;5860:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8517:17:::1;8549:5;;8537:9;:17;;;;;;8517:37;;8565:19;8587:37;8600:9;8611:12;8587;:37::i;:::-;8565:59;;8635:18;8656:54;8669:33;8682:14;8697:4;8669:12;:33::i;:::-;8704:5;;8656:12;:54::i;:::-;8635:75;;8721:16;8740:13;8721:32;;8770:31;8783:4;;8789:11;8770:12;:31::i;:::-;8764:4;:37;;;;8827:12;;8819:4;;:20;;8812:28;;;;8851:7;;;;;;;;;;;:16;;:27;8868:9;8851:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;8851:27:0;8894:30;8900:10;8912:11;8894:5;:30::i;:::-;8887:38;;;;5917:1;;;;3909:10960:::0;;;;;5104:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5104:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6232:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6232:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6232:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6509:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6509:100:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4524:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4524:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4172:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4172:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6925:189;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6925:189:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6925:189:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8945:807;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8945:807:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;8945:807:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10821:438;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10821:438:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10821:438:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6418:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6418:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5934:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5934:101:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6138:86;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6138:86:0;;;:::i;:::-;;4334:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4334:34:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10501:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10501:106:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10501:106:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4269:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4269:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4410:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4410:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4110:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4110:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6617:119;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6617:119:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6617:119:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4301:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4301:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9760:733;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9760:733:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9760:733:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4035:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4035:33:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6323:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6323:87:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6323:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7869:141;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7869:141:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4075:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4075:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5077:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5077:20:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10615:198;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10615:198:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10615:198:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6744:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6744:173:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6744:173:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4375:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4375:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4142:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4142:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6043:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6043:87:0;;;:::i;:::-;;5136:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5136:40:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5234:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5234:38:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4236:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4236:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4205:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4205:24:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5185:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5185:40:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;281:136;339:7;366:43;370:1;373;366:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;359:50;;281:136;;;;:::o;625:252::-;683:7;714:1;709;:6;705:47;;;739:1;732:8;;;;705:47;764:9;780:1;776;:5;764:17;;809:1;804;800;:5;;;;;;:10;792:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;868:1;861:8;;;625:252;;;;;:::o;885:132::-;943:7;970:39;974:1;977;970:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;963:46;;885:132;;;;:::o;92:181::-;150:7;170:9;186:1;182;:5;170:17;;211:1;206;:6;;198:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:1;257:8;;;92:181;;;;:::o;8018:225::-;8089:4;8381:20;;;;;;;;;;;8380:21;8372:30;;;;;;8127:29:::1;8148:7;8127:9;:16;8137:5;;;;;;;;;;;8127:16;;;;;;;;;;;;;;;;:20;;:29;;;;:::i;:::-;8108:9;:16;8118:5;;;;;;;;;;;8108:16;;;;;;;;;;;;;;;:48;;;;8184:27;8203:7;8184:9;:14;8194:3;8184:14;;;;;;;;;;;;;;;;:18;;:27;;;;:::i;:::-;8167:9;:14;8177:3;8167:14;;;;;;;;;;;;;;;:44;;;;8231:4;8224:11;;8018:225:::0;;;;:::o;5104:23::-;;;;:::o;6232:83::-;6269:13;6302:5;6295:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6232:83;:::o;6509:100::-;6562:7;6589:12;;6582:19;;6509:100;:::o;4524:27::-;;;;;;;;;;;;;:::o;4172:26::-;;;;:::o;6925:189::-;7031:4;7048:36;7058:6;7066:9;7077:6;7048:9;:36::i;:::-;7102:4;7095:11;;6925:189;;;;;:::o;8945:807::-;8307:5;;;;;;;;;;;8293:19;;:10;:19;;;8285:28;;;;;;9165:1:::1;9140:27;;:13;:27;;;;9132:62;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;9220:13;9205:12;;:28;;;;;;;;;;;;;;;;;;9262:3;9246:13;:19;;;;9301:1;9286:12;:16;9278:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9379:12;9373:3;:18;9359:11;:32;;;;9431:12;9412:15;:31;;9404:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9529:15;9512:14;:32;;;;9589:8;9572:14;;:25;9557:12;:40;;;;9663:1;9649:11;:15;9641:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9733:11;9720:10;:24;;;;8945:807:::0;;;;:::o;10821:438::-;10962:4;10879:14;;14652:9;14645:3;:16;;14637:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10910:6:::1;14532:1;14522:6;:11;;14514:52;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;10936:10:::2;14408:1;14392:18;;:4;:18;;;;14384:56;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;10979:12:::3;10994:10;10979:25;;11033:7;:13:::0;11041:4:::3;11033:13;;;;;;;;;;;;;;;;11023:6;:23;;11015:67;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;11103:12;;11097:3;:18;11093:159;;;11139:28;11154:4;11160:6;11139:14;:28::i;:::-;11132:35;;;;;11093:159;11207:33;11227:4;11233:6;11207:19;:33::i;:::-;11200:40;;;14451:1;14577::::2;14716::::1;10821:438:::0;;;;:::o;6418:83::-;6459:5;6484:9;;;;;;;;;;;6477:16;;6418:83;:::o;5934:101::-;5983:4;6007:20;;;;;;;;;;;6000:27;;5934:101;:::o;6138:86::-;8307:5;;;;;;;;;;;8293:19;;:10;:19;;;8285:28;;;;;;6211:5:::1;6188:20;;:28;;;;;;;;;;;;;;;;;;6138:86::o:0;4334:34::-;;;;:::o;10501:106::-;10556:7;10583;:16;10591:7;10583:16;;;;;;;;;;;;;;;;10576:23;;10501:106;;;:::o;4269:25::-;;;;:::o;4410:28::-;;;;:::o;4110:25::-;;;;:::o;6617:119::-;6683:7;6710:9;:18;6720:7;6710:18;;;;;;;;;;;;;;;;6703:25;;6617:119;;;:::o;4301:26::-;;;;:::o;9760:733::-;9857:4;9897:1;9882:12;:16;9874:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9980:1;9958:18;:23;;9950:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10078:12;10056:18;:34;;10048:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10186:12;10201:10;10186:25;;10227:26;10234:4;10240:12;10227:6;:26::i;:::-;10222:72;;10277:5;10270:12;;;;;10222:72;10320:29;10336:12;10320:11;;:15;;:29;;;;:::i;:::-;10306:11;:43;;;;10376:11;;10360:13;:27;;;;10420:43;10444:18;10420:19;;:23;;:43;;;;:::i;:::-;10398:19;:65;;;;10481:4;10474:11;;;9760:733;;;;;:::o;4035:33::-;;;;;;;;;;;;;:::o;6323:87::-;6362:13;6395:7;6388:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6323:87;:::o;7869:141::-;7934:4;8307:5;;;;;;;;;;;8293:19;;:10;:19;;;8285:28;;;;;;8381:20:::1;;;;;;;;;;;8380:21;8372:30;;;::::0;::::1;;7974:4:::2;7951:20;;:27;;;;;;;;;;;;;;;;;;7998:4;7991:11;;7869:141:::0;:::o;4075:28::-;;;;;;;;;;;;;:::o;5077:20::-;;;;:::o;10615:198::-;10725:4;10673:6;14532:1;14522:6;:11;;14514:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10699:10:::1;14408:1;14392:18;;:4;:18;;;;14384:56;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;10742:12:::2;10757:10;10742:25;;10785:20;10792:4;10798:6;10785;:20::i;:::-;10778:27;;;14577:1:::1;10615:198:::0;;;;:::o;6744:173::-;6830:4;6847:40;6857:10;6869:9;6880:6;6847:9;:40::i;:::-;6905:4;6898:11;;6744:173;;;;:::o;4375:28::-;;;;:::o;4142:23::-;;;;:::o;6043:87::-;8307:5;;;;;;;;;;;8293:19;;:10;:19;;;8285:28;;;;;;6118:4:::1;6095:20;;:27;;;;;;;;;;;;;;;;;;6043:87::o:0;5136:40::-;;;;;;;;;;;;;:::o;5234:38::-;;;;:::o;4236:26::-;;;;:::o;4205:24::-;;;;:::o;5185:40::-;;;;;;;;;;;;;:::o;425:192::-;511:7;544:1;539;:6;;547:12;531:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;531:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;571:9;587:1;583;:5;571:17;;608:1;601:8;;;425:192;;;;;:::o;1025:193::-;1111:7;1143:1;1139;:5;1146:12;1131:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1131:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1170:9;1186:1;1182;:5;;;;;;1170:17;;1209:1;1202:8;;;1025:193;;;;;:::o;7122:539::-;7246:1;7228:20;;:6;:20;;;;7220:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7330:1;7309:23;;:9;:23;;;;7301:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7385:47;7406:6;7414:9;7425:6;7385:20;:47::i;:::-;7465:71;7487:6;7465:71;;;;;;;;;;;;;;;;;:9;:17;7475:6;7465:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;7445:9;:17;7455:6;7445:17;;;;;;;;;;;;;;;:91;;;;7570:32;7595:6;7570:9;:20;7580:9;7570:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7547:9;:20;7557:9;7547:20;;;;;;;;;;;;;;;:55;;;;7635:9;7618:35;;7627:6;7618:35;;;7646:6;7618:35;;;;;;;;;;;;;;;;;;7122:539;;;:::o;11267:860::-;11372:4;11352;14408:1;14392:18;;:4;:18;;;;14384:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11565:13:::1;11581:48;11617:11;;11582:29;11599:11;;11582:12;;:16;;:29;;;;:::i;:::-;11581:35;;:48;;;;:::i;:::-;11565:64;;11640:14;11657:96;11747:5;11668:63;11724:6;11670:47;11697:19;;11671:20;11679:11;;11671:3;:7;;:20;;;;:::i;:::-;11670:26;;:47;;;;:::i;:::-;11668:55;;:63;;;;:::i;:::-;11657:89;;:96;;;;:::i;:::-;11640:113;;11764:14;11781:18;11792:6;11781;:10;;:18;;;;:::i;:::-;11764:35;;11826:25;11844:6;11826:13;;:17;;:25;;;;:::i;:::-;11810:13;:41;;;;11878:25;11896:6;11878:13;;:17;;:25;;;;:::i;:::-;11862:13;:41;;;;11930:25;11948:6;11930:7;:13:::0;11938:4:::1;11930:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;11914:7;:13:::0;11922:4:::1;11914:13;;;;;;;;;;;;;;;:41;;;;11970:24;11981:4;11987:6;11970:10;:24::i;:::-;11966:131;;;12038:4;12016:43;;12024:12;;;;;;;;;;;12016:43;;;12044:6;12052;12016:43;;;;;;;;;;;;;;;;;;;;;;;;12081:4;12074:11;;;;;;;11966:131;12114:5;12107:12;;;;;14451:1;11267:860:::0;;;;;:::o;12135:460::-;12245:4;12225;14408:1;14392:18;;:4;:18;;;;14384:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12262:14:::1;12279:46;12311:13;;12280:25;12298:6;12280:13;;:17;;:25;;;;:::i;:::-;12279:31;;:46;;;;:::i;:::-;12262:63;;12336:14;12353:18;12364:6;12353;:10;;:18;;;;:::i;:::-;12336:35;;12398:25;12416:6;12398:7;:13:::0;12406:4:::1;12398:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;12382:7;:13:::0;12390:4:::1;12382:13;;;;;;;;;;;;;;;:41;;;;12438:24;12449:4;12455:6;12438:10;:24::i;:::-;12434:131;;;12506:4;12484:43;;12492:12;;;;;;;;;;;12484:43;;;12512:6;12520;12484:43;;;;;;;;;;;;;;;;;;;;;;;;12549:4;12542:11;;;;;;12434:131;12582:5;12575:12;;;;14451:1;12135:460:::0;;;;;:::o;13730:142::-;13804:4;13828:36;13835:5;13850:4;13857:6;13828;:36::i;:::-;13821:43;;13730:142;;;;:::o;12603:1119::-;12754:4;12676:13;;14652:9;14645:3;:16;;14637:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12704:11:::1;;14791:9;14785:3;:15;14777:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12732:6:::2;14532:1;14522:6;:11;;14514:52;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;12787:4:::3;12780:6;:11;12771:20;;12802:17;12822:6;12802:26;;12856:29;12871:13;;12856:10;;:14;;:29;;;;:::i;:::-;12843:9;:43;12839:117;;;12915:29;12930:13;;12915:10;;:14;;:29;;;;:::i;:::-;12903:41;;12839:117;12988:1;12976:9;:13;12968:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13076:10;;13060:11;;13048:9;:23;13047:39;;13039:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13166:25;13173:6;13181:9;13166:6;:25::i;:::-;13161:71;;13215:5;13208:12;;;;;13161:71;13268:6;13247:47;;13254:12;;;;;;;;;;;13247:47;;;13276:6;13284:9;13247:47;;;;;;;;;;;;;;;;;;;;;;;;13323:6;13311:9;:18;13307:219;;;13348:14;13365:21;13376:9;13365:6;:10;;:21;;;;:::i;:::-;13348:38;;13405:30;13412:6;13420;13428;13405;:30::i;:::-;13401:114;;;13484:6;13461:38;;13470:12;;;;;;;;;;;13461:38;;;13492:6;13461:38;;;;;;;;;;;;;;;;;;13401:114;13307:219;;13554:28;13572:9;13554:13;;:17;;:28;;;;:::i;:::-;13538:13;:44;;;;13607:26;13623:9;13607:11;;:15;;:26;;;;:::i;:::-;13593:11;:40;;;;13662:30;13682:9;13662:7;:15:::0;13670:6:::3;13662:15;;;;;;;;;;;;;;;;:19;;:30;;;;:::i;:::-;13644:7;:15:::0;13652:6:::3;13644:15;;;;;;;;;;;;;;;:48;;;;13710:4;13703:11;;;14577:1;14855::::2;14716::::1;12603:1119:::0;;;;;:::o;7769:92::-;;;;:::o;14117:212::-;14215:4;14193:6;14532:1;14522:6;:11;;14514:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14255:12:::1;;;;;;;;;;;14232:14;;:36;;;;;;;;;;;;;;;;;;14286:14;;;;;;;;;;;:23;;;14310:2;14314:6;14286:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;14286:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;14286:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;14286:35:0;;;;;;;;;;;;;;;;14279:42;;14117:212:::0;;;;;:::o;13880:229::-;13974:4;14016:12;;;;;;;;;;;13993:14;;:36;;;;;;;;;;;;;;;;;;14047:14;;;;;;;;;;;:27;;;14075:7;14084:8;14094:6;14047:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14047:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14047:54:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14047:54:0;;;;;;;;;;;;;;;;14040:61;;13880:229;;;;;:::o

Swarm Source

ipfs://0f0066cd20c9c76f8d2d367b865807a9b0254a1512b6ce0e1152bc5c644229c4

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.