ETH Price: $3,329.86 (+0.61%)
 

Overview

ETH Balance

0.009180785891007245 ETH

Eth Value

$30.57 (@ $3,329.86/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Request Team Fun...120890612021-03-22 14:10:391405 days ago1616422239IN
0xb44978B9...Bb95A7c15
0 ETH0.0068927224
Request Team Fun...120890532021-03-22 14:08:211405 days ago1616422101IN
0xb44978B9...Bb95A7c15
0 ETH0.0068927224
Request Team Fun...120890282021-03-22 14:02:141405 days ago1616421734IN
0xb44978B9...Bb95A7c15
0 ETH0.0061422200
Forward Liquidit...120889192021-03-22 13:36:471405 days ago1616420207IN
0xb44978B9...Bb95A7c15
0 ETH0.0366076200
Payout Investor ...120888212021-03-22 13:15:111405 days ago1616418911IN
0xb44978B9...Bb95A7c15
0 ETH0.00429478165
Set Investment D...120853282021-03-22 0:13:501405 days ago1616372030IN
0xb44978B9...Bb95A7c15
0 ETH0.00435755159
Reserve Bitcash ...119161212021-02-23 22:36:161432 days ago1614119776IN
0xb44978B9...Bb95A7c15
0.481 ETH0.02376847156
Reserve Bitcash ...119109652021-02-23 3:48:381432 days ago1614052118IN
0xb44978B9...Bb95A7c15
0.92 ETH0.04741412260
Reserve Bitcash ...119059292021-02-22 9:09:311433 days ago1613984971IN
0xb44978B9...Bb95A7c15
0.0791544 ETH0.01712807112.417
Reserve Bitcash ...118926022021-02-20 7:55:211435 days ago1613807721IN
0xb44978B9...Bb95A7c15
0.05 ETH0.01893859124.3
Reserve Bitcash ...118922962021-02-20 6:45:451435 days ago1613803545IN
0xb44978B9...Bb95A7c15
0.0482 ETH0.01982458130.115
Reserve Bitcash ...118918322021-02-20 4:58:381435 days ago1613797118IN
0xb44978B9...Bb95A7c15
0.181 ETH0.02014911132.245
Reserve Bitcash ...118820452021-02-18 17:01:241437 days ago1613667684IN
0xb44978B9...Bb95A7c15
0.2 ETH0.02011742132.037
Reserve Bitcash ...118681232021-02-16 13:30:151439 days ago1613482215IN
0xb44978B9...Bb95A7c15
0.009 ETH0.0170545284
Reserve Bitcash ...118672352021-02-16 10:16:511439 days ago1613470611IN
0xb44978B9...Bb95A7c15
0.01 ETH0.01865198102.28
Reserve Bitcash ...118612672021-02-15 12:13:151440 days ago1613391195IN
0xb44978B9...Bb95A7c15
0.0241 ETH0.014265593.629
Reserve Bitcash ...118489702021-02-13 14:58:121442 days ago1613228292IN
0xb44978B9...Bb95A7c15
0.3165 ETH0.0188336695.427
Reserve Bitcash ...118488542021-02-13 14:35:461442 days ago1613226946IN
0xb44978B9...Bb95A7c15
0.391 ETH0.0188273495.395
Reserve Bitcash ...118400122021-02-12 5:52:071443 days ago1613109127IN
0xb44978B9...Bb95A7c15
0.05 ETH0.0161658488.647
Reserve Bitcash ...118272632021-02-10 6:55:401445 days ago1612940140IN
0xb44978B9...Bb95A7c15
0.19 ETH0.02261598124.017
Reserve Bitcash ...118272302021-02-10 6:48:451445 days ago1612939725IN
0xb44978B9...Bb95A7c15
0.069 ETH0.02596306142.371
Reserve Bitcash ...118207962021-02-09 7:07:461446 days ago1612854466IN
0xb44978B9...Bb95A7c15
0.03 ETH0.02151798109.028
Reserve Bitcash ...118207692021-02-09 7:03:161446 days ago1612854196IN
0xb44978B9...Bb95A7c15
0.094 ETH0.02191754120.187
Reserve Bitcash ...118204342021-02-09 5:50:311446 days ago1612849831IN
0xb44978B9...Bb95A7c15
0.024 ETH0.02087359137
Reserve Bitcash ...118168582021-02-08 16:20:371447 days ago1612801237IN
0xb44978B9...Bb95A7c15
0.332 ETH0.0228543150
View all transactions

Latest 5 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
120890612021-03-22 14:10:391405 days ago1616422239
0xb44978B9...Bb95A7c15
8.73 ETH
120890532021-03-22 14:08:211405 days ago1616422101
0xb44978B9...Bb95A7c15
1 ETH
120890282021-03-22 14:02:141405 days ago1616421734
0xb44978B9...Bb95A7c15
1 wei
120889192021-03-22 13:36:471405 days ago1616420207
0xb44978B9...Bb95A7c15
9.73918078 ETH
120889192021-03-22 13:36:471405 days ago1616420207
0xb44978B9...Bb95A7c15
11.92286208 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BitcashPayDecentralizedLiquidityContribution

Compiler Version
v0.7.0+commit.9e61f92b

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license, Audited

Contract Source Code (Solidity)Audit Report

/**
 *Submitted for verification at Etherscan.io on 2021-01-09
*/

// SPDX-License-Identifier: MIT
pragma solidity >=0.4.16 <0.8.0;

/**

██████╗░██╗████████╗░█████╗░░█████╗░░██████╗██╗░░██╗██████╗░░█████╗░██╗░░░██╗
██╔══██╗██║╚══██╔══╝██╔══██╗██╔══██╗██╔════╝██║░░██║██╔══██╗██╔══██╗╚██╗░██╔╝
██████╦╝██║░░░██║░░░██║░░╚═╝███████║╚█████╗░███████║██████╔╝███████║░╚████╔╝░
██╔══██╗██║░░░██║░░░██║░░██╗██╔══██║░╚═══██╗██╔══██║██╔═══╝░██╔══██║░░╚██╔╝░░
██████╦╝██║░░░██║░░░╚█████╔╝██║░░██║██████╔╝██║░░██║██║░░░░░██║░░██║░░░██║░░░
╚═════╝░╚═╝░░░╚═╝░░░░╚════╝░╚═╝░░╚═╝╚═════╝░╚═╝░░╚═╝╚═╝░░░░░╚═╝░░╚═╝░░░╚═╝░░░

Bitcashpay BCP token has a Decentralized Liquidity Contribution or DLC as we termed it. 
Unlike the traditional ICOs where the project owners or team members gather 
funds to “further develop” the project ( or simply run away ), 
participants to our DLC will directly contribute to uniswap’s ETH/BCP pair. 
Ninety-five percent (95%) of accumulated funds during our DLC event will go directly to ETH/BCP pairing in uniswap, 
this will create a HUGE DECENTRALIZED LIUIDITY POOL in Uniswap, an OWNERLESS POOL 
and only five percent (5%) will go to the team to be used for further development. 
There will be a total of 300M BCP tokens up for grabs on our DLC event with a hardcap of 20,000 ETH

*/






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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

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

        return c;
    }

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

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

interface BitcashPay {
    function approve(
        address _spender,
        uint256 _value
    ) external returns (bool success);

    function transferFrom(
        address _from,
        address _to,
        uint _value
    ) external returns (bool success);

    function transfer(address _to, uint _amount) external returns (bool success);
}

interface UniswapRouterV2 {

    function addLiquidityETH(
        address token,
        uint256 amountTokenMax,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external payable returns (
        uint256 amountToken,
        uint256 amountETH,
        uint256 liquidity
    );

    function quote(
        uint256 amountA,
        uint256 reserveA,
        uint256 reserveB
    ) external pure returns (
        uint256 amountB
    );

    function swapExactTokensForETH(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (
        uint256[] memory amounts
    );

    function WETH() external pure returns (address);
}

interface IERC20Token {

    function transferFrom(
        address _from,
        address _to,
        uint256 _value
    )  external returns (
        bool success
    );

    function approve(
        address _spender,
        uint256 _value
    )  external returns (
        bool success
    );

}

interface UniswapV2Pair {

    function getReserves() external view returns (
        uint112 reserve0,
        uint112 reserve1,
        uint32 blockTimestampLast
    );

    function token1() external view returns (address);
}

contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor () {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and make it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        // On the first call to nonReentrant, _notEntered will be true
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;

        _;

        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }
}

contract BitcashPayDecentralizedLiquidityContribution is ReentrancyGuard
{
    using SafeMath for uint;

    BitcashPay public BITCASHPAY_CONTRACT;
    UniswapV2Pair public UNISWAP_PAIR;
    UniswapRouterV2 public UNISWAP_ROUTER;

    address public owner;
    uint investmentDays = 90;

    address payable TEAM_ADDRESS;
    address public TOKEN_DEFINER;
    address constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;

    uint public startDate;

    uint public reservationChange = 66667000000000 wei; //in wei 15k BCP per 1 ETH

    uint public maxBCPAvailableForContribution = 300000000;

    uint public referraBonusRate = 10;
    uint public hardCap = 20000 ether;

    uint MULTIPLIER = 10 ** 8; // BCP TO WEI

    mapping (address => uint) internal bcpReservations;
    mapping (address => Bonus[]) internal referralBonuses;
    mapping (address => uint) internal reservedEther;

    struct Globals {
        uint totalReservedTokens;
        uint totalWeiContributed;
        uint totalReferralTokens;
    }

    Globals public g;

    struct Bonus {
        address fromAddress;
        address toAddress;
        uint amount;
        uint bonus;
    }

    event UniSwapResult(
        uint amountToken,
        uint amountETH,
        uint liquidity
    );

    event BitcashPayReservation (
        address _reservedTo,
        uint _amountReserved
    );

    event BitcashPayReservationReferralBonus (
        address _from,
        address _referrerAddress,
        uint _amount
    );

    constructor(address _bitcashPayToken, address _uniswapPair, address _uniswapRouter, address payable _teamAddress)
    {
        BITCASHPAY_CONTRACT = BitcashPay(_bitcashPayToken);
        UNISWAP_PAIR = UniswapV2Pair(_uniswapPair);
        UNISWAP_ROUTER = UniswapRouterV2(_uniswapRouter);
        TOKEN_DEFINER = msg.sender;
        TEAM_ADDRESS = _teamAddress;
        startDate = block.timestamp;
        owner = msg.sender;
    }

    // BITCASHPAY DLC VARIABLE SETTERS //

    function setMaxBCPAvailableForContribution(uint _amount) public onlyOwner
    {
        maxBCPAvailableForContribution = _amount;
    }

    
    function setDefaultReservationChange(uint _reservationChange) public onlyOwner
    {
        reservationChange = _reservationChange;
    }
    

    function setInvestmentDays(uint _investmentDays) public onlyOwner
    {
        investmentDays = _investmentDays;
    }

    function setReferralBonusRate(uint _referralBonusRate) public onlyOwner
    {
        referraBonusRate = _referralBonusRate;
    }

    function setHardCap(uint _hardCap) public onlyOwner
    {
        hardCap = _hardCap;
    }

    /** @notice Allows reservation of BitcashPay tokens
      */
    receive() external payable {
        require (
            msg.value >= reservationChange,
            'BitcashPay: Reservation too low.'
        );

        uint reservationAmount = (msg.value).div(reservationChange);

        _reserveBitcashPay(
            msg.sender,
            reservationAmount
        );

        g.totalWeiContributed += msg.value;

        reservedEther[msg.sender] += msg.value;
    }

    /** @notice Allows reservation of BitcashPay Token to be excuted by web3
      * @param _referrerAddress address of referrers been pulled from localstorage/url/cookies
      */
    function reserveBitcashPay(address _referrerAddress) external payable nonReentrant
    {

        uint reservationAmount = (msg.value).div(reservationChange);

        _reserveBitcashPay(
            msg.sender,
            reservationAmount
        );

        _reserveReferralBonus(msg.sender, _referrerAddress, reservationAmount);

        g.totalWeiContributed += msg.value;
        
        reservedEther[msg.sender] += msg.value;
    }

    
    /** @notice Allows reservation of BitcashPay tokens with other ERC20 tokens
      * @dev this will require LT contract to be approved as spender
      * @param _tokenAddress address of an ERC20 token to use
      * @param _tokenAmount amount of tokens to use for reservation
      * @param _referrerAddress referral address for bonus
      */
    function reserveBitcashPayWithToken(
        address _tokenAddress, //erc token address
        uint256 _tokenAmount,
        address _referrerAddress
    )
        external nonReentrant
    {
        IERC20Token _token = IERC20Token(
            _tokenAddress
        );

        _token.transferFrom(
            msg.sender,
            address(this),
            _tokenAmount
        );

        _token.approve(
            address(UNISWAP_ROUTER),
            _tokenAmount
        );

        address[] memory _path = preparePath(
            _tokenAddress
        );

        uint256[] memory amounts =
        UNISWAP_ROUTER.swapExactTokensForETH(
            _tokenAmount,
            0,
            _path,
            address(this),
            block.timestamp.add(2 hours)
        );

        require (
            amounts[1] >= reservationChange,
            'BitcashPay: Reservation too low.'
        );


        uint reservationAmount = (amounts[1]).div(reservationChange);

        _reserveBitcashPay(
            msg.sender,
            reservationAmount
        );

        _reserveReferralBonus(msg.sender, _referrerAddress, reservationAmount);

        g.totalWeiContributed += amounts[1];
        reservedEther[msg.sender] += amounts[1];
    }


    // INFO VIEW FUNCTIONS //

    //----------------------------------------//

    function myTotalContributionAmount() external view returns (uint256) {
        return bcpReservations[msg.sender];
    }

    function reservationDaysRemaining() external view returns (uint) {
        return (block.timestamp - startDate) / 60 / 60 / 24;
    }

    function myTotalClaimableReservations() external view returns (uint)
    {
        return claimableReservation(msg.sender);
    }

    function myTotalClaimableReferralBonus() external view returns (uint)
    {
        return claimableReferralBonus(msg.sender);
    }


    // PAYOUT BITCASHPAY TOKENS //
    // ------------------------ //

    //  BITCASHPAY TOKEN PAYOUT FUNCTIONS (INDIVIDUAL)  //
    //  ----------------------------------------  //

    function getMyTokens()
        external
        afterReservationPhase
    {
        payoutInvestorAddress(msg.sender);
        payoutReferralAddress(msg.sender);
    }

   
    function payoutInvestorAddress(
        address _investorAddress
    )
        public
        afterReservationPhase
        returns (uint claimedReservation)
    {
        uint reservation = claimableReservation(_investorAddress);
        require(claimableReservation(_investorAddress) > 0, "BitcashPay: You dont have claimable reservation.");
        BITCASHPAY_CONTRACT.transferFrom(owner, _investorAddress, reservation);
        bcpReservations[_investorAddress] = 0;
        return claimableReservation(_investorAddress);
    }


    function payoutReferralAddress(
        address _referrerAddress
    ) public
        afterReservationPhase
        returns (uint256 _referralTokens)
    {
        _referralTokens = claimableReferralBonus(_referrerAddress);
        if (_referralTokens > 0) {
            BITCASHPAY_CONTRACT.transferFrom(owner, _referrerAddress, claimableReservation(_referrerAddress));
            delete referralBonuses[_referrerAddress];
        }
    }


    // BITCASHPAY RESERVATION INTERNAL FUNCTIONS //
    // ---------------------------------------- //

    /** @notice Calculates the claimable reservation
      * @dev if contribution reached the hard cap (20,000ETH) the maximum BCP Available for Contribution will be devided
      * @param _contributorsAddress address of the contributor
      */
    function claimableReservation(address _contributorsAddress) public view returns (uint)
    {

        if (g.totalWeiContributed >= hardCap) {
            uint contributorsShare = maxBCPAvailableForContribution.mul(MULTIPLIER).mul(reservedEther[_contributorsAddress] / g.totalWeiContributed);
            return contributorsShare;
        }
        
        return bcpReservations[_contributorsAddress];
    }

    function claimableReferralBonus(address _referrerAddress) public view returns (uint TotalBonus)
    {
        TotalBonus = 0;
        
        for (uint b = 0; b < referralBonuses[_referrerAddress].length; b += 1 ) {
            if (g.totalWeiContributed >= hardCap) {
                TotalBonus += (referralBonuses[_referrerAddress][b].amount).mul(referraBonusRate.mul(100).div(10000));
            } else {
                TotalBonus += referralBonuses[_referrerAddress][b].bonus;
            }
        }
    }


    function _reserveBitcashPay(address _senderAddress, uint _amount) internal
    {
        bcpReservations[_senderAddress] += _amount.mul(MULTIPLIER);
        g.totalReservedTokens += _amount.mul(MULTIPLIER);

        emit BitcashPayReservation(
            _senderAddress,
            _amount.mul(MULTIPLIER)
        );
    }


    function _reserveReferralBonus(address _from, address _referrerAddress,  uint _amount) internal
    {
        uint referralBonus = _amount * referraBonusRate.mul(100) / 10000;

        referralBonuses[_referrerAddress].push(Bonus(_from, _referrerAddress, _amount, referralBonus.mul(MULTIPLIER)));
        g.totalReferralTokens += referralBonus.mul(MULTIPLIER);

        emit BitcashPayReservationReferralBonus (
            _from,
            _referrerAddress,
            referralBonus.mul(MULTIPLIER)
        );
        
    }


    //  LIQUIDITY GENERATION FUNCTION  //
    //  -----------------------------  //

    /** @notice Forwards the contribution to the liquidity pool
      */
    function forwardLiquidity()
        external
        afterReservationPhase
    {

        uint _balance = g.totalWeiContributed;
        uint _buffer = g.totalReservedTokens + g.totalReferralTokens;
        uint _teamContribution = 5;

        // exclude eth for the team (5% of the total contribution)
        _balance = _balance.sub(_balance.mul(_teamContribution * 100 / 10000));

        _buffer = _buffer.mul(_balance).div(
            g.totalWeiContributed
        );

        //pair
        BITCASHPAY_CONTRACT.approve(
            address(UNISWAP_ROUTER), _buffer
        );

        (
            uint amountToken,
            uint amountETH,
            uint liquidity
        ) =

        UNISWAP_ROUTER.addLiquidityETH{value: _balance}(
            address(BITCASHPAY_CONTRACT),
            _buffer,
            0,
            0,
            address(0x0),
            block.timestamp.add(2 hours)
        );

        g.totalReservedTokens = 0;
        g.totalReferralTokens = 0;
        g.totalWeiContributed = 0;

        emit UniSwapResult(
            amountToken, amountETH, liquidity
        );
    }

    function requestTeamFunds(
        uint256 _amount
    )
        external
        afterUniswapTransfer
    {
        TEAM_ADDRESS.transfer(_amount);
    }

    function requestLeftOverBCPFunds(
        uint256 _amount
    )
        external
        afterUniswapTransfer
    {
        BITCASHPAY_CONTRACT.transfer(owner, _amount);
    }

    function preparePath(
        address _tokenAddress
    ) internal pure returns (
        address[] memory _path
    ) {
        _path = new address[](2);
        _path[0] = _tokenAddress;
        _path[1] = WETH;
    }

    function notContract(address _addr) internal view returns (bool) {
        uint32 size;
        assembly {
            size := extcodesize(_addr)
        }
        return (size == 0);
    }


    modifier afterReservationPhase()
    {   
        require(block.timestamp - startDate >= (investmentDays * 60 * 60 * 24), "BitcashPay: Contribution period is not yet done.");
        _;
    }

    modifier onlyOwner() {
        require(
            msg.sender == owner,
            'BitcashPay: Access Denied!'
        );
        _;
    }

    modifier afterUniswapTransfer() {
        require (
            g.totalWeiContributed == 0,
            'BitcashPay: forward liquidity first'
        );
        _;
    }

    function transferOwnership(address newOwner) onlyOwner public{
        if (newOwner != address(0)) owner = newOwner;
    }


}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_bitcashPayToken","type":"address"},{"internalType":"address","name":"_uniswapPair","type":"address"},{"internalType":"address","name":"_uniswapRouter","type":"address"},{"internalType":"address payable","name":"_teamAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_reservedTo","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amountReserved","type":"uint256"}],"name":"BitcashPayReservation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_from","type":"address"},{"indexed":false,"internalType":"address","name":"_referrerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"BitcashPayReservationReferralBonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountToken","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"UniSwapResult","type":"event"},{"inputs":[],"name":"BITCASHPAY_CONTRACT","outputs":[{"internalType":"contract BitcashPay","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN_DEFINER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UNISWAP_PAIR","outputs":[{"internalType":"contract UniswapV2Pair","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UNISWAP_ROUTER","outputs":[{"internalType":"contract UniswapRouterV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_referrerAddress","type":"address"}],"name":"claimableReferralBonus","outputs":[{"internalType":"uint256","name":"TotalBonus","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_contributorsAddress","type":"address"}],"name":"claimableReservation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"forwardLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"g","outputs":[{"internalType":"uint256","name":"totalReservedTokens","type":"uint256"},{"internalType":"uint256","name":"totalWeiContributed","type":"uint256"},{"internalType":"uint256","name":"totalReferralTokens","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMyTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"hardCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBCPAvailableForContribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"myTotalClaimableReferralBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"myTotalClaimableReservations","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"myTotalContributionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_investorAddress","type":"address"}],"name":"payoutInvestorAddress","outputs":[{"internalType":"uint256","name":"claimedReservation","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_referrerAddress","type":"address"}],"name":"payoutReferralAddress","outputs":[{"internalType":"uint256","name":"_referralTokens","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"referraBonusRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"requestLeftOverBCPFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"requestTeamFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reservationChange","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reservationDaysRemaining","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_referrerAddress","type":"address"}],"name":"reserveBitcashPay","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"uint256","name":"_tokenAmount","type":"uint256"},{"internalType":"address","name":"_referrerAddress","type":"address"}],"name":"reserveBitcashPayWithToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_reservationChange","type":"uint256"}],"name":"setDefaultReservationChange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_hardCap","type":"uint256"}],"name":"setHardCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_investmentDays","type":"uint256"}],"name":"setInvestmentDays","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setMaxBCPAvailableForContribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_referralBonusRate","type":"uint256"}],"name":"setReferralBonusRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startDate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052605a600555653ca21eda6e006009556311e1a300600a55600a600b5569043c33c1937564800000600c556305f5e100600d5534801561004257600080fd5b50604051612f50380380612f508339818101604052608081101561006557600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050600160008190555083600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260088190555033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050612d148061023c6000396000f3fe6080604052600436106101dc5760003560e01c80638da5cb5b11610102578063d8f2870911610095578063e7f326e411610064578063e7f326e414610938578063f2fde38b1461099d578063fb86a404146109ee578063ffd5971014610a19576102df565b8063d8f2870914610892578063e2179b8e146108bd578063e26b12d9146108f6578063e7cbe05a14610921576102df565b8063aabfedd0116100d1578063aabfedd014610786578063b8f85c63146107eb578063d18d944b14610816578063d826492014610851576102df565b80638da5cb5b1461067a5780639e85c43b146106bb5780639ebbf457146106e6578063a35ab6391461074b576102df565b80635b3b136a1161017a5780636ba631cf116101495780636ba631cf1461053957806373178c0d1461057a5780637c1e4cbf146105bb5780638438ff3214610636576102df565b80635b3b136a1461049157806366c8feac146104a857806367d63b7b146104d35780636a6ae9f3146104fe576102df565b8063218f8989116101b6578063218f8989146103af57806325a53fc3146103ea5780633eacb3571461042b578063420a899614610466576102df565b8063031845c2146102e45780630b97bc861461031f5780631595cac01461034a576102df565b366102df57600954341015610259576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f426974636173685061793a205265736572766174696f6e20746f6f206c6f772e81525060200191505060405180910390fd5b600061027060095434610a5490919063ffffffff16565b905061027c3382610a9e565b3460116001016000828254019250508190555034601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555050005b600080fd5b3480156102f057600080fd5b5061031d6004803603602081101561030757600080fd5b8101908080359060200190929190505050610b93565b005b34801561032b57600080fd5b50610334610c60565b6040518082815260200191505060405180910390f35b34801561035657600080fd5b506103996004803603602081101561036d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c66565b6040518082815260200191505060405180910390f35b3480156103bb57600080fd5b506103e8600480360360208110156103d257600080fd5b8101908080359060200190929190505050610e4b565b005b3480156103f657600080fd5b506103ff610f18565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043757600080fd5b506104646004803603602081101561044e57600080fd5b8101908080359060200190929190505050610f3e565b005b34801561047257600080fd5b5061047b61100b565b6040518082815260200191505060405180910390f35b34801561049d57600080fd5b506104a6611034565b005b3480156104b457600080fd5b506104bd6110b1565b6040518082815260200191505060405180910390f35b3480156104df57600080fd5b506104e86110b7565b6040518082815260200191505060405180910390f35b34801561050a57600080fd5b506105376004803603602081101561052157600080fd5b81019080803590602001909291905050506110bd565b005b34801561054557600080fd5b5061054e61120f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561058657600080fd5b5061058f611235565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105c757600080fd5b50610634600480360360608110156105de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061125b565b005b6106786004803603602081101561064c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117c9565b005b34801561068657600080fd5b5061068f6118e4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106c757600080fd5b506106d061190a565b6040518082815260200191505060405180910390f35b3480156106f257600080fd5b506107356004803603602081101561070957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611910565b6040518082815260200191505060405180910390f35b34801561075757600080fd5b506107846004803603602081101561076e57600080fd5b8101908080359060200190929190505050611a7e565b005b34801561079257600080fd5b506107d5600480360360208110156107a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b4b565b6040518082815260200191505060405180910390f35b3480156107f757600080fd5b50610800611c26565b6040518082815260200191505060405180910390f35b34801561082257600080fd5b5061084f6004803603602081101561083957600080fd5b8101908080359060200190929190505050611c6d565b005b34801561085d57600080fd5b50610866611d3a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561089e57600080fd5b506108a7611d60565b6040518082815260200191505060405180910390f35b3480156108c957600080fd5b506108d2611d70565b60405180848152602001838152602001828152602001935050505060405180910390f35b34801561090257600080fd5b5061090b611d88565b6040518082815260200191505060405180910390f35b34801561092d57600080fd5b50610936611d98565b005b34801561094457600080fd5b506109876004803603602081101561095b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061213e565b6040518082815260200191505060405180910390f35b3480156109a957600080fd5b506109ec600480360360208110156109c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061237a565b005b3480156109fa57600080fd5b50610a036124b6565b6040518082815260200191505060405180910390f35b348015610a2557600080fd5b50610a5260048036036020811015610a3c57600080fd5b81019080803590602001909291905050506124bc565b005b6000610a9683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612586565b905092915050565b610ab3600d548261264c90919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550610b14600d548261264c90919063ffffffff16565b6011600001600082825401925050819055507fb6551a8753e72d0690027902b6b3c441688807ffae1a8af0fc97190990e999a782610b5d600d548461264c90919063ffffffff16565b604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f426974636173685061793a204163636573732044656e6965642100000000000081525060200191505060405180910390fd5b8060098190555050565b60085481565b60006018603c8060055402020260085442031015610ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612c7f6030913960400191505060405180910390fd5b610cd882611910565b90506000811115610e4657600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d4e86611b4b565b6040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610dbe57600080fd5b505af1158015610dd2573d6000803e3d6000fd5b505050506040513d6020811015610de857600080fd5b810190808051906020019092919050505050600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e459190612ba1565b5b919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f426974636173685061793a204163636573732044656e6965642100000000000081525060200191505060405180910390fd5b80600a8190555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611001576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f426974636173685061793a204163636573732044656e6965642100000000000081525060200191505060405180910390fd5b8060058190555050565b60006018603c8060085442038161101e57fe5b048161102657fe5b048161102e57fe5b04905090565b6018603c806005540202026008544203101561109b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612c7f6030913960400191505060405180910390fd5b6110a43361213e565b506110ae33610c66565b50565b60095481565b600b5481565b60006011600101541461111b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612c3b6023913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156111d057600080fd5b505af11580156111e4573d6000803e3d6000fd5b505050506040513d60208110156111fa57600080fd5b81019080805190602001909291905050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260005414156112d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b600260008190555060008390508073ffffffffffffffffffffffffffffffffffffffff166323b872dd3330866040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561137057600080fd5b505af1158015611384573d6000803e3d6000fd5b505050506040513d602081101561139a57600080fd5b8101908080519060200190929190505050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561143f57600080fd5b505af1158015611453573d6000803e3d6000fd5b505050506040513d602081101561146957600080fd5b8101908080519060200190929190505050506060611486856126d2565b90506060600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318cbafe586600085306114e2611c20426127c790919063ffffffff16565b6040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015611562578082015181840152602081019050611547565b505050509050019650505050505050600060405180830381600087803b15801561158b57600080fd5b505af115801561159f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156115c957600080fd5b81019080805160405193929190846401000000008211156115e957600080fd5b838201915060208201858111156115ff57600080fd5b825186602082028301116401000000008211171561161c57600080fd5b8083526020830192505050908051906020019060200280838360005b83811015611653578082015181840152602081019050611638565b5050505090500160405250505090506009548160018151811061167257fe5b602002602001015110156116ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f426974636173685061793a205265736572766174696f6e20746f6f206c6f772e81525060200191505060405180910390fd5b60006117196009548360018151811061170357fe5b6020026020010151610a5490919063ffffffff16565b90506117253382610a9e565b61173033868361284f565b8160018151811061173d57fe5b60200260200101516011600101600082825401925050819055508160018151811061176457fe5b6020026020010151601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550505050506001600081905550505050565b60026000541415611842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600081905550600061186160095434610a5490919063ffffffff16565b905061186d3382610a9e565b61187833838361284f565b3460116001016000828254019250508190555034601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555050600160008190555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000805b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015611a7857600c5460116001015410611a0c57611a0361199961271061198b6064600b5461264c90919063ffffffff16565b610a5490919063ffffffff16565b600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481106119e357fe5b90600052602060002090600402016002015461264c90919063ffffffff16565b82019150611a6d565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110611a5657fe5b906000526020600020906004020160030154820191505b600181019050611914565b50919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f426974636173685061793a204163636573732044656e6965642100000000000081525060200191505060405180910390fd5b80600b8190555050565b6000600c5460116001015410611bde576000611bd3601160010154601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481611bad57fe5b04611bc5600d54600a5461264c90919063ffffffff16565b61264c90919063ffffffff16565b905080915050611c21565b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b6000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f426974636173685061793a204163636573732044656e6965642100000000000081525060200191505060405180910390fd5b80600c8190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611d6b33611910565b905090565b60118060000154908060010154908060020154905083565b6000611d9333611b4b565b905090565b6018603c8060055402020260085442031015611dff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612c7f6030913960400191505060405180910390fd5b600060116001015490506000601160020154601160000154019050600060059050611e53611e446127106064840281611e3457fe5b048561264c90919063ffffffff16565b84612a9790919063ffffffff16565b9250611e7f601160010154611e71858561264c90919063ffffffff16565b610a5490919063ffffffff16565b9150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611f3657600080fd5b505af1158015611f4a573d6000803e3d6000fd5b505050506040513d6020811015611f6057600080fd5b8101908080519060200190929190505050506000806000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71987600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16886000806000611ff4611c20426127c790919063ffffffff16565b6040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561207857600080fd5b505af115801561208c573d6000803e3d6000fd5b50505050506040513d60608110156120a357600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050509250925092506000601160000181905550600060116002018190555060006011600101819055507fec61299b073fac5734ebbaafd76190a06af6a8129994155248c303f194a9d68483838360405180848152602001838152602001828152602001935050505060405180910390a1505050505050565b60006018603c80600554020202600854420310156121a7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612c7f6030913960400191505060405180910390fd5b60006121b283611b4b565b905060006121bf84611b4b565b11612215576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612caf6030913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156122e857600080fd5b505af11580156122fc573d6000803e3d6000fd5b505050506040513d602081101561231257600080fd5b8101908080519060200190929190505050506000600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061237283611b4b565b915050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461243d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f426974636173685061793a204163636573732044656e6965642100000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146124b35780600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600c5481565b60006011600101541461251a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612c3b6023913960400191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612582573d6000803e3d6000fd5b5050565b60008083118290612632576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156125f75780820151818401526020810190506125dc565b50505050905090810190601f1680156126245780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161263e57fe5b049050809150509392505050565b60008083141561265f57600090506126cc565b600082840290508284828161267057fe5b04146126c7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612c5e6021913960400191505060405180910390fd5b809150505b92915050565b6060600267ffffffffffffffff811180156126ec57600080fd5b5060405190808252806020026020018201604052801561271b5781602001602082028036833780820191505090505b509050818160008151811061272c57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061278857fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050919050565b600080828401905083811015612845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600061271061286a6064600b5461264c90919063ffffffff16565b83028161287357fe5b049050600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180608001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001848152602001612913600d548561264c90919063ffffffff16565b815250908060018154018082558091505060019003906000526020600020906004020160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201556060820151816003015550506129f8600d548261264c90919063ffffffff16565b6011600201600082825401925050819055507f338fdf111575f41642a636b9e039d9a3c8d696fd689c2321ecf2c91f63b0a2ca8484612a42600d548561264c90919063ffffffff16565b604051808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a150505050565b6000612ad983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612ae1565b905092915050565b6000838311158290612b8e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612b53578082015181840152602081019050612b38565b50505050905090810190601f168015612b805780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b5080546000825560040290600052602060002090810190612bc29190612bc5565b50565b5b80821115612c3657600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000905550600401612bc6565b509056fe426974636173685061793a20666f7277617264206c6971756964697479206669727374536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77426974636173685061793a20436f6e747269627574696f6e20706572696f64206973206e6f742079657420646f6e652e426974636173685061793a20596f7520646f6e74206861766520636c61696d61626c65207265736572766174696f6e2ea2646970667358221220c2d5776c1af75d071838ffee18c7e96ebdc9c21a19cd52bcf3d9ec6d10f867b864736f6c63430007000033000000000000000000000000e047705117eb07e712c3d684f5b18e74577e83ac000000000000000000000000cbfa63418755fee3bd08e70a586e6cb4625d05a90000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000080012e6f19e13dc1d0293bdeb94458e59c3d6fd0

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c80638da5cb5b11610102578063d8f2870911610095578063e7f326e411610064578063e7f326e414610938578063f2fde38b1461099d578063fb86a404146109ee578063ffd5971014610a19576102df565b8063d8f2870914610892578063e2179b8e146108bd578063e26b12d9146108f6578063e7cbe05a14610921576102df565b8063aabfedd0116100d1578063aabfedd014610786578063b8f85c63146107eb578063d18d944b14610816578063d826492014610851576102df565b80638da5cb5b1461067a5780639e85c43b146106bb5780639ebbf457146106e6578063a35ab6391461074b576102df565b80635b3b136a1161017a5780636ba631cf116101495780636ba631cf1461053957806373178c0d1461057a5780637c1e4cbf146105bb5780638438ff3214610636576102df565b80635b3b136a1461049157806366c8feac146104a857806367d63b7b146104d35780636a6ae9f3146104fe576102df565b8063218f8989116101b6578063218f8989146103af57806325a53fc3146103ea5780633eacb3571461042b578063420a899614610466576102df565b8063031845c2146102e45780630b97bc861461031f5780631595cac01461034a576102df565b366102df57600954341015610259576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f426974636173685061793a205265736572766174696f6e20746f6f206c6f772e81525060200191505060405180910390fd5b600061027060095434610a5490919063ffffffff16565b905061027c3382610a9e565b3460116001016000828254019250508190555034601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555050005b600080fd5b3480156102f057600080fd5b5061031d6004803603602081101561030757600080fd5b8101908080359060200190929190505050610b93565b005b34801561032b57600080fd5b50610334610c60565b6040518082815260200191505060405180910390f35b34801561035657600080fd5b506103996004803603602081101561036d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c66565b6040518082815260200191505060405180910390f35b3480156103bb57600080fd5b506103e8600480360360208110156103d257600080fd5b8101908080359060200190929190505050610e4b565b005b3480156103f657600080fd5b506103ff610f18565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043757600080fd5b506104646004803603602081101561044e57600080fd5b8101908080359060200190929190505050610f3e565b005b34801561047257600080fd5b5061047b61100b565b6040518082815260200191505060405180910390f35b34801561049d57600080fd5b506104a6611034565b005b3480156104b457600080fd5b506104bd6110b1565b6040518082815260200191505060405180910390f35b3480156104df57600080fd5b506104e86110b7565b6040518082815260200191505060405180910390f35b34801561050a57600080fd5b506105376004803603602081101561052157600080fd5b81019080803590602001909291905050506110bd565b005b34801561054557600080fd5b5061054e61120f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561058657600080fd5b5061058f611235565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105c757600080fd5b50610634600480360360608110156105de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061125b565b005b6106786004803603602081101561064c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117c9565b005b34801561068657600080fd5b5061068f6118e4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106c757600080fd5b506106d061190a565b6040518082815260200191505060405180910390f35b3480156106f257600080fd5b506107356004803603602081101561070957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611910565b6040518082815260200191505060405180910390f35b34801561075757600080fd5b506107846004803603602081101561076e57600080fd5b8101908080359060200190929190505050611a7e565b005b34801561079257600080fd5b506107d5600480360360208110156107a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b4b565b6040518082815260200191505060405180910390f35b3480156107f757600080fd5b50610800611c26565b6040518082815260200191505060405180910390f35b34801561082257600080fd5b5061084f6004803603602081101561083957600080fd5b8101908080359060200190929190505050611c6d565b005b34801561085d57600080fd5b50610866611d3a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561089e57600080fd5b506108a7611d60565b6040518082815260200191505060405180910390f35b3480156108c957600080fd5b506108d2611d70565b60405180848152602001838152602001828152602001935050505060405180910390f35b34801561090257600080fd5b5061090b611d88565b6040518082815260200191505060405180910390f35b34801561092d57600080fd5b50610936611d98565b005b34801561094457600080fd5b506109876004803603602081101561095b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061213e565b6040518082815260200191505060405180910390f35b3480156109a957600080fd5b506109ec600480360360208110156109c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061237a565b005b3480156109fa57600080fd5b50610a036124b6565b6040518082815260200191505060405180910390f35b348015610a2557600080fd5b50610a5260048036036020811015610a3c57600080fd5b81019080803590602001909291905050506124bc565b005b6000610a9683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612586565b905092915050565b610ab3600d548261264c90919063ffffffff16565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550610b14600d548261264c90919063ffffffff16565b6011600001600082825401925050819055507fb6551a8753e72d0690027902b6b3c441688807ffae1a8af0fc97190990e999a782610b5d600d548461264c90919063ffffffff16565b604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f426974636173685061793a204163636573732044656e6965642100000000000081525060200191505060405180910390fd5b8060098190555050565b60085481565b60006018603c8060055402020260085442031015610ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612c7f6030913960400191505060405180910390fd5b610cd882611910565b90506000811115610e4657600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d4e86611b4b565b6040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610dbe57600080fd5b505af1158015610dd2573d6000803e3d6000fd5b505050506040513d6020811015610de857600080fd5b810190808051906020019092919050505050600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e459190612ba1565b5b919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f426974636173685061793a204163636573732044656e6965642100000000000081525060200191505060405180910390fd5b80600a8190555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611001576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f426974636173685061793a204163636573732044656e6965642100000000000081525060200191505060405180910390fd5b8060058190555050565b60006018603c8060085442038161101e57fe5b048161102657fe5b048161102e57fe5b04905090565b6018603c806005540202026008544203101561109b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612c7f6030913960400191505060405180910390fd5b6110a43361213e565b506110ae33610c66565b50565b60095481565b600b5481565b60006011600101541461111b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612c3b6023913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156111d057600080fd5b505af11580156111e4573d6000803e3d6000fd5b505050506040513d60208110156111fa57600080fd5b81019080805190602001909291905050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260005414156112d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b600260008190555060008390508073ffffffffffffffffffffffffffffffffffffffff166323b872dd3330866040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561137057600080fd5b505af1158015611384573d6000803e3d6000fd5b505050506040513d602081101561139a57600080fd5b8101908080519060200190929190505050508073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561143f57600080fd5b505af1158015611453573d6000803e3d6000fd5b505050506040513d602081101561146957600080fd5b8101908080519060200190929190505050506060611486856126d2565b90506060600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318cbafe586600085306114e2611c20426127c790919063ffffffff16565b6040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015611562578082015181840152602081019050611547565b505050509050019650505050505050600060405180830381600087803b15801561158b57600080fd5b505af115801561159f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156115c957600080fd5b81019080805160405193929190846401000000008211156115e957600080fd5b838201915060208201858111156115ff57600080fd5b825186602082028301116401000000008211171561161c57600080fd5b8083526020830192505050908051906020019060200280838360005b83811015611653578082015181840152602081019050611638565b5050505090500160405250505090506009548160018151811061167257fe5b602002602001015110156116ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f426974636173685061793a205265736572766174696f6e20746f6f206c6f772e81525060200191505060405180910390fd5b60006117196009548360018151811061170357fe5b6020026020010151610a5490919063ffffffff16565b90506117253382610a9e565b61173033868361284f565b8160018151811061173d57fe5b60200260200101516011600101600082825401925050819055508160018151811061176457fe5b6020026020010151601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550505050506001600081905550505050565b60026000541415611842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b6002600081905550600061186160095434610a5490919063ffffffff16565b905061186d3382610a9e565b61187833838361284f565b3460116001016000828254019250508190555034601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555050600160008190555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000805b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050811015611a7857600c5460116001015410611a0c57611a0361199961271061198b6064600b5461264c90919063ffffffff16565b610a5490919063ffffffff16565b600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083815481106119e357fe5b90600052602060002090600402016002015461264c90919063ffffffff16565b82019150611a6d565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208181548110611a5657fe5b906000526020600020906004020160030154820191505b600181019050611914565b50919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f426974636173685061793a204163636573732044656e6965642100000000000081525060200191505060405180910390fd5b80600b8190555050565b6000600c5460116001015410611bde576000611bd3601160010154601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481611bad57fe5b04611bc5600d54600a5461264c90919063ffffffff16565b61264c90919063ffffffff16565b905080915050611c21565b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b6000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f426974636173685061793a204163636573732044656e6965642100000000000081525060200191505060405180910390fd5b80600c8190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611d6b33611910565b905090565b60118060000154908060010154908060020154905083565b6000611d9333611b4b565b905090565b6018603c8060055402020260085442031015611dff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612c7f6030913960400191505060405180910390fd5b600060116001015490506000601160020154601160000154019050600060059050611e53611e446127106064840281611e3457fe5b048561264c90919063ffffffff16565b84612a9790919063ffffffff16565b9250611e7f601160010154611e71858561264c90919063ffffffff16565b610a5490919063ffffffff16565b9150600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611f3657600080fd5b505af1158015611f4a573d6000803e3d6000fd5b505050506040513d6020811015611f6057600080fd5b8101908080519060200190929190505050506000806000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71987600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16886000806000611ff4611c20426127c790919063ffffffff16565b6040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561207857600080fd5b505af115801561208c573d6000803e3d6000fd5b50505050506040513d60608110156120a357600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050509250925092506000601160000181905550600060116002018190555060006011600101819055507fec61299b073fac5734ebbaafd76190a06af6a8129994155248c303f194a9d68483838360405180848152602001838152602001828152602001935050505060405180910390a1505050505050565b60006018603c80600554020202600854420310156121a7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612c7f6030913960400191505060405180910390fd5b60006121b283611b4b565b905060006121bf84611b4b565b11612215576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612caf6030913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156122e857600080fd5b505af11580156122fc573d6000803e3d6000fd5b505050506040513d602081101561231257600080fd5b8101908080519060200190929190505050506000600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061237283611b4b565b915050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461243d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f426974636173685061793a204163636573732044656e6965642100000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146124b35780600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600c5481565b60006011600101541461251a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612c3b6023913960400191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612582573d6000803e3d6000fd5b5050565b60008083118290612632576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156125f75780820151818401526020810190506125dc565b50505050905090810190601f1680156126245780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161263e57fe5b049050809150509392505050565b60008083141561265f57600090506126cc565b600082840290508284828161267057fe5b04146126c7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612c5e6021913960400191505060405180910390fd5b809150505b92915050565b6060600267ffffffffffffffff811180156126ec57600080fd5b5060405190808252806020026020018201604052801561271b5781602001602082028036833780820191505090505b509050818160008151811061272c57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061278857fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050919050565b600080828401905083811015612845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600061271061286a6064600b5461264c90919063ffffffff16565b83028161287357fe5b049050600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180608001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001848152602001612913600d548561264c90919063ffffffff16565b815250908060018154018082558091505060019003906000526020600020906004020160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201556060820151816003015550506129f8600d548261264c90919063ffffffff16565b6011600201600082825401925050819055507f338fdf111575f41642a636b9e039d9a3c8d696fd689c2321ecf2c91f63b0a2ca8484612a42600d548561264c90919063ffffffff16565b604051808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a150505050565b6000612ad983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612ae1565b905092915050565b6000838311158290612b8e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612b53578082015181840152602081019050612b38565b50505050905090810190601f168015612b805780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b5080546000825560040290600052602060002090810190612bc29190612bc5565b50565b5b80821115612c3657600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000905550600401612bc6565b509056fe426974636173685061793a20666f7277617264206c6971756964697479206669727374536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77426974636173685061793a20436f6e747269627574696f6e20706572696f64206973206e6f742079657420646f6e652e426974636173685061793a20596f7520646f6e74206861766520636c61696d61626c65207265736572766174696f6e2ea2646970667358221220c2d5776c1af75d071838ffee18c7e96ebdc9c21a19cd52bcf3d9ec6d10f867b864736f6c63430007000033

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

000000000000000000000000e047705117eb07e712c3d684f5b18e74577e83ac000000000000000000000000cbfa63418755fee3bd08e70a586e6cb4625d05a90000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000080012e6f19e13dc1d0293bdeb94458e59c3d6fd0

-----Decoded View---------------
Arg [0] : _bitcashPayToken (address): 0xe047705117Eb07e712C3d684f5B18E74577e83aC
Arg [1] : _uniswapPair (address): 0xcBfa63418755feE3bd08e70A586E6Cb4625D05a9
Arg [2] : _uniswapRouter (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [3] : _teamAddress (address): 0x80012E6f19E13Dc1D0293BDEB94458E59C3D6FD0

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000e047705117eb07e712c3d684f5b18e74577e83ac
Arg [1] : 000000000000000000000000cbfa63418755fee3bd08e70a586e6cb4625d05a9
Arg [2] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [3] : 00000000000000000000000080012e6f19e13dc1d0293bdeb94458e59c3d6fd0


Deployed Bytecode Sourcemap

10501:12629:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13395:17;;13382:9;:30;;13359:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13485:22;13510:34;13526:17;;13511:9;13510:15;;:34;;;;:::i;:::-;13485:59;;13557:86;13590:10;13615:17;13557:18;:86::i;:::-;13681:9;13656:1;:21;;;:34;;;;;;;;;;;13732:9;13703:13;:25;13717:10;13703:25;;;;;;;;;;;;;;;;:38;;;;;;;;;;;13321:428;10501:12629;;;;;12726:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10949:21;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17659:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12574:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10614:37;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12881:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16302:135;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16920:173;;;;;;;;;;;;;:::i;:::-;;10979:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11128:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21828:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10658:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10839:28;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;14764:1313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13941:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10744:20;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11065:54;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18901:523;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13011:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18476:417;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16172:122;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13152:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10698:37;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;16585:135;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11568:16;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16445:132;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20491:1160;;;;;;;;;;;;;:::i;:::-;;17106:543;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;22999:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11168:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21659:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4763:132;4821:7;4848:39;4852:1;4855;4848:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;4841:46;;4763:132;;;;:::o;19434:333::-;19560:23;19572:10;;19560:7;:11;;:23;;;;:::i;:::-;19525:15;:31;19541:14;19525:31;;;;;;;;;;;;;;;;:58;;;;;;;;;;;19619:23;19631:10;;19619:7;:11;;:23;;;;:::i;:::-;19594:1;:21;;;:48;;;;;;;;;;;19660:99;19696:14;19725:23;19737:10;;19725:7;:11;;:23;;;;:::i;:::-;19660:99;;;;;;;;;;;;;;;;;;;;;;;;;;19434:333;;:::o;12726:141::-;22729:5;;;;;;;;;;;22715:19;;:10;:19;;;22693:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12841:18:::1;12821:17;:38;;;;12726:141:::0;:::o;10949:21::-;;;;:::o;17659:450::-;17788:23;22577:2;22572;22567;22550:14;;:19;:24;:29;22536:9;;22518:15;:27;:62;;22510:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17847:40:::1;17870:16;17847:22;:40::i;:::-;17829:58;;17920:1;17902:15;:19;17898:204;;;17938:19;;;;;;;;;;;:32;;;17971:5;;;;;;;;;;;17978:16;17996:38;18017:16;17996:20;:38::i;:::-;17938:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;18057:15;:33;18073:16;18057:33;;;;;;;;;;;;;;;;18050:40;;;;:::i;:::-;17898:204;17659:450:::0;;;:::o;12574:138::-;22729:5;;;;;;;;;;;22715:19;;:10;:19;;;22693:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12697:7:::1;12664:30;:40;;;;12574:138:::0;:::o;10614:37::-;;;;;;;;;;;;;:::o;12881:122::-;22729:5;;;;;;;;;;;22715:19;;:10;:19;;;22693:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12980:15:::1;12963:14;:32;;;;12881:122:::0;:::o;16302:135::-;16361:4;16427:2;16422;16417;16404:9;;16386:15;:27;16385:34;;;;;;:39;;;;;;:44;;;;;;16378:51;;16302:135;:::o;16920:173::-;22577:2;22572;22567;22550:14;;:19;:24;:29;22536:9;;22518:15;:27;:62;;22510:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17008:33:::1;17030:10;17008:21;:33::i;:::-;;17052;17074:10;17052:21;:33::i;:::-;;16920:173::o:0;10979:50::-;;;;:::o;11128:33::-;;;;:::o;21828:182::-;22907:1;22882;:21;;;:26;22859:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21958:19:::1;;;;;;;;;;;:28;;;21987:5;;;;;;;;;;;21994:7;21958:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;21828:182:::0;:::o;10658:33::-;;;;;;;;;;;;;:::o;10839:28::-;;;;;;;;;;;;;:::o;14764:1313::-;9555:1;10152:7;;:19;;10144:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9555:1;10285:7;:18;;;;14972::::1;15019:13;14972:71;;15056:6;:19;;;15090:10;15123:4;15143:12;15056:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;15179:6;:14;;;15216;;;;;;;;;;;15246:12;15179:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;15282:22;15307:50;15333:13;15307:11;:50::i;:::-;15282:75;;15370:24;15406:14;;;;;;;;;;;:36;;;15457:12;15484:1;15500:5;15528:4;15548:28;15568:7;15548:15;:19;;:28;;;;:::i;:::-;15406:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;15370:217;;15637:17;;15623:7;15631:1;15623:10;;;;;;;;;;;;;;:31;;15600:114;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;15729:22;15754:35;15771:17;;15755:7;15763:1;15755:10;;;;;;;;;;;;;;15754:16;;:35;;;;:::i;:::-;15729:60;;15802:86;15835:10;15860:17;15802:18;:86::i;:::-;15901:70;15923:10;15935:16;15953:17;15901:21;:70::i;:::-;16009:7;16017:1;16009:10;;;;;;;;;;;;;;15984:1;:21;;;:35;;;;;;;;;;;16059:7;16067:1;16059:10;;;;;;;;;;;;;;16030:13;:25;16044:10;16030:25;;;;;;;;;;;;;;;;:39;;;;;;;;;;;10316:1;;;;9511::::0;10464:7;:22;;;;14764:1313;;;:::o;13941:456::-;9555:1;10152:7;;:19;;10144:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9555:1;10285:7;:18;;;;14042:22:::1;14067:34;14083:17;;14068:9;14067:15;;:34;;;;:::i;:::-;14042:59;;14114:86;14147:10;14172:17;14114:18;:86::i;:::-;14213:70;14235:10;14247:16;14265:17;14213:21;:70::i;:::-;14321:9;14296:1;:21;;;:34;;;;;;;;;;;14380:9;14351:13;:25;14365:10;14351:25;;;;;;;;;;;;;;;;:38;;;;;;;;;;;10316:1;9511::::0;10464:7;:22;;;;13941:456;:::o;10744:20::-;;;;;;;;;;;;;:::o;11065:54::-;;;;:::o;18901:523::-;18980:15;19053:6;19048:369;19069:15;:33;19085:16;19069:33;;;;;;;;;;;;;;;:40;;;;19065:1;:44;19048:369;;;19164:7;;19139:1;:21;;;:32;19135:271;;19206:87;19256:36;19286:5;19256:25;19277:3;19256:16;;:20;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;19207:15;:33;19223:16;19207:33;;;;;;;;;;;;;;;19241:1;19207:36;;;;;;;;;;;;;;;;;;:43;;;19206:49;;:87;;;;:::i;:::-;19192:101;;;;19135:271;;;19348:15;:33;19364:16;19348:33;;;;;;;;;;;;;;;19382:1;19348:36;;;;;;;;;;;;;;;;;;:42;;;19334:56;;;;19135:271;19116:1;19111:6;;;;19048:369;;;;18901:523;;;:::o;13011:133::-;22729:5;;;;;;;;;;;22715:19;;:10;:19;;;22693:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13118:18:::1;13099:16;:37;;;;13011:133:::0;:::o;18476:417::-;18557:4;18610:7;;18585:1;:21;;;:32;18581:240;;18634:22;18659:111;18748:1;:21;;;18710:13;:35;18724:20;18710:35;;;;;;;;;;;;;;;;:59;;;;;;18659:46;18694:10;;18659:30;;:34;;:46;;;;:::i;:::-;:50;;:111;;;;:::i;:::-;18634:136;;18792:17;18785:24;;;;;18581:240;18848:15;:37;18864:20;18848:37;;;;;;;;;;;;;;;;18841:44;;18476:417;;;;:::o;16172:122::-;16232:7;16259:15;:27;16275:10;16259:27;;;;;;;;;;;;;;;;16252:34;;16172:122;:::o;13152:94::-;22729:5;;;;;;;;;;;22715:19;;:10;:19;;;22693:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13230:8:::1;13220:7;:18;;;;13152:94:::0;:::o;10698:37::-;;;;;;;;;;;;;:::o;16585:135::-;16649:4;16678:34;16701:10;16678:22;:34::i;:::-;16671:41;;16585:135;:::o;11568:16::-;;;;;;;;;;;;;;;;;;;:::o;16445:132::-;16508:4;16537:32;16558:10;16537:20;:32::i;:::-;16530:39;;16445:132;:::o;20491:1160::-;22577:2;22572;22567;22550:14;;:19;:24;:29;22536:9;;22518:15;:27;:62;;22510:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20586:13:::1;20602:1;:21;;;20586:37;;20634:12;20673:1;:21;;;20649:1;:21;;;:45;20634:60;;20705:22;20730:1;20705:26;;20823:59;20836:45;20875:5;20869:3;20849:17;:23;:31;;;;;;20836:8;:12;;:45;;;;:::i;:::-;20823:8;:12;;:59;;;;:::i;:::-;20812:70;;20905:72;20945:1;:21;;;20905;20917:8;20905:7;:11;;:21;;;;:::i;:::-;:25;;:72;;;;:::i;:::-;20895:82;;21006:19;;;;;;;;;;;:27;;;21056:14;;;;;;;;;;;21073:7;21006:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;21119:16;21150:14:::0;21179::::1;21218;;;;;;;;;;;:30;;;21256:8;21288:19;;;;;;;;;;;21323:7;21345:1;21361::::0;21385:3:::1;21404:28;21424:7;21404:15;:19;;:28;;;;:::i;:::-;21218:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21104:339;;;;;;21480:1;21456;:21;;:25;;;;21516:1;21492;:21;;:25;;;;21552:1;21528;:21;;:25;;;;21571:72;21599:11;21612:9;21623;21571:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22644:1;;;;;;20491:1160::o:0;17106:543::-;17244:23;22577:2;22572;22567;22550:14;;:19;:24;:29;22536:9;;22518:15;:27;:62;;22510:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17285:16:::1;17304:38;17325:16;17304:20;:38::i;:::-;17285:57;;17402:1;17361:38;17382:16;17361:20;:38::i;:::-;:42;17353:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17467:19;;;;;;;;;;;:32;;;17500:5;;;;;;;;;;;17507:16;17525:11;17467:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;17584:1;17548:15;:33;17564:16;17548:33;;;;;;;;;;;;;;;:37;;;;17603:38;17624:16;17603:20;:38::i;:::-;17596:45;;;17106:543:::0;;;:::o;22999:124::-;22729:5;;;;;;;;;;;22715:19;;:10;:19;;;22693:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23095:1:::1;23075:22;;:8;:22;;;23071:44;;23107:8;23099:5;;:16;;;;;;;;;;;;;;;;;;23071:44;22999:124:::0;:::o;11168:33::-;;;;:::o;21659:161::-;22907:1;22882;:21;;;:26;22859:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21782:12:::1;;;;;;;;;;;:21;;:30;21804:7;21782:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;21659:161:::0;:::o;5391:278::-;5477:7;5509:1;5505;:5;5512:12;5497:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5536:9;5552:1;5548;:5;;;;;;5536:17;;5660:1;5653:8;;;5391:278;;;;;:::o;3816:471::-;3874:7;4124:1;4119;:6;4115:47;;;4149:1;4142:8;;;;4115:47;4174:9;4190:1;4186;:5;4174:17;;4219:1;4214;4210;:5;;;;;;:10;4202:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4278:1;4271:8;;;3816:471;;;;;:::o;22018:227::-;22111:22;22174:1;22160:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22152:24;;22198:13;22187:5;22193:1;22187:8;;;;;;;;;;;;;:24;;;;;;;;;;;10898:42;22222:5;22228:1;22222:8;;;;;;;;;;;;;:15;;;;;;;;;;;22018:227;;;:::o;2462:181::-;2520:7;2540:9;2556:1;2552;:5;2540:17;;2581:1;2576;:6;;2568:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2634:1;2627:8;;;2462:181;;;;:::o;19777:541::-;19889:18;19948:5;19920:25;19941:3;19920:16;;:20;;:25;;;;:::i;:::-;19910:7;:35;:43;;;;;;19889:64;;19966:15;:33;19982:16;19966:33;;;;;;;;;;;;;;;20005:70;;;;;;;;20011:5;20005:70;;;;;;20018:16;20005:70;;;;;;20036:7;20005:70;;;;20045:29;20063:10;;20045:13;:17;;:29;;;;:::i;:::-;20005:70;;;19966:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20112:29;20130:10;;20112:13;:17;;:29;;;;:::i;:::-;20087:1;:21;;;:54;;;;;;;;;;;20159:141;20209:5;20229:16;20260:29;20278:10;;20260:13;:17;;:29;;;;:::i;:::-;20159:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19777:541;;;;:::o;2926:136::-;2984:7;3011:43;3015:1;3018;3011:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3004:50;;2926:136;;;;:::o;3365:192::-;3451:7;3484:1;3479;:6;;3487:12;3471:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3511:9;3527:1;3523;:5;3511:17;;3548:1;3541:8;;;3365:192;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

ipfs://c2d5776c1af75d071838ffee18c7e96ebdc9c21a19cd52bcf3d9ec6d10f867b8

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.