ETH Price: $3,404.37 (+2.18%)

Contract

0xdc71bc29D12960a3EE5452FAC6F033A1B8E756FB
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Deposit205356912024-08-15 18:02:47100 days ago1723744967IN
0xdc71bc29...1B8E756FB
0 ETH0.0007226213.15471634
Deposit205155052024-08-12 22:24:59103 days ago1723501499IN
0xdc71bc29...1B8E756FB
0 ETH0.000157322.86399473
Deposit205144362024-08-12 18:51:11103 days ago1723488671IN
0xdc71bc29...1B8E756FB
0 ETH0.00038386.9868294
Deposit205143212024-08-12 18:27:47103 days ago1723487267IN
0xdc71bc29...1B8E756FB
0 ETH0.000542749.88013531
Deposit205079022024-08-11 20:57:23104 days ago1723409843IN
0xdc71bc29...1B8E756FB
0 ETH0.000166263.0266697
Deposit205065122024-08-11 16:18:23104 days ago1723393103IN
0xdc71bc29...1B8E756FB
0 ETH0.000147212.6799092
Deposit204790502024-08-07 20:20:47108 days ago1723062047IN
0xdc71bc29...1B8E756FB
0 ETH0.000323625.89132397
Deposit204790462024-08-07 20:19:59108 days ago1723061999IN
0xdc71bc29...1B8E756FB
0 ETH0.000299225.44715456
Deposit200782292024-06-12 20:47:23164 days ago1718225243IN
0xdc71bc29...1B8E756FB
0 ETH0.00096317.53054129
Deposit199606282024-05-27 10:31:35180 days ago1716805895IN
0xdc71bc29...1B8E756FB
0 ETH0.0007704814.0258716
Deposit199606262024-05-27 10:31:11180 days ago1716805871IN
0xdc71bc29...1B8E756FB
0 ETH0.0007080212.88894916
Deposit198779672024-05-15 21:07:59192 days ago1715807279IN
0xdc71bc29...1B8E756FB
0 ETH0.000433937.899305
Deposit198274452024-05-08 19:32:47199 days ago1715196767IN
0xdc71bc29...1B8E756FB
0 ETH0.000294875.36794456
Deposit197407762024-04-26 16:40:35211 days ago1714149635IN
0xdc71bc29...1B8E756FB
0 ETH0.000344746.27581234
Withdraw196063552024-04-07 21:01:23230 days ago1712523683IN
0xdc71bc29...1B8E756FB
0 ETH0.0015520913.2090673
Deposit194857862024-03-21 21:45:11247 days ago1711057511IN
0xdc71bc29...1B8E756FB
0 ETH0.0016119429.34378928
Deposit194855872024-03-21 21:04:35247 days ago1711055075IN
0xdc71bc29...1B8E756FB
0 ETH0.0017108531.14439105
Deposit194855532024-03-21 20:57:47247 days ago1711054667IN
0xdc71bc29...1B8E756FB
0 ETH0.0022123140.27297579
Deposit194855402024-03-21 20:55:11247 days ago1711054511IN
0xdc71bc29...1B8E756FB
0 ETH0.0020303636.96082602
Deposit194855352024-03-21 20:54:11247 days ago1711054451IN
0xdc71bc29...1B8E756FB
0 ETH0.0012155637.39955957
Deposit194855342024-03-21 20:53:59247 days ago1711054439IN
0xdc71bc29...1B8E756FB
0 ETH0.0012435838.26176392
Deposit194855332024-03-21 20:53:47247 days ago1711054427IN
0xdc71bc29...1B8E756FB
0 ETH0.0021532539.19793066
Deposit194855322024-03-21 20:53:35247 days ago1711054415IN
0xdc71bc29...1B8E756FB
0 ETH0.0021517839.17109415
Deposit194845012024-03-21 17:25:23247 days ago1711041923IN
0xdc71bc29...1B8E756FB
0 ETH0.0015628228.44957319
Deposit193660872024-03-05 2:49:47263 days ago1709606987IN
0xdc71bc29...1B8E756FB
0 ETH0.004220476.8282736
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AeolusV2dot1

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU LGPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-04-14
*/

// File: contracts/math/SafeMath.sol

pragma solidity <0.6 >=0.4.21;


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */

  /*@CTK SafeMath_mul
    @tag spec
    @post __reverted == __has_assertion_failure
    @post __has_assertion_failure == __has_overflow
    @post __reverted == false -> c == a * b
    @post msg == msg__post
   */
  /* CertiK Smart Labelling, for more details visit: https://certik.org */
  function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
    if (a == 0) {
      return 0;
    }
    c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  /*@CTK SafeMath_div
    @tag spec
    @pre b != 0
    @post __reverted == __has_assertion_failure
    @post __has_overflow == true -> __has_assertion_failure == true
    @post __reverted == false -> __return == a / b
    @post msg == msg__post
   */
  /* CertiK Smart Labelling, for more details visit: https://certik.org */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    // uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return a / b;
  }

  /**
  * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  /*@CTK SafeMath_sub
    @tag spec
    @post __reverted == __has_assertion_failure
    @post __has_overflow == true -> __has_assertion_failure == true
    @post __reverted == false -> __return == a - b
    @post msg == msg__post
   */
  /* CertiK Smart Labelling, for more details visit: https://certik.org */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  /*@CTK SafeMath_add
    @tag spec
    @post __reverted == __has_assertion_failure
    @post __has_assertion_failure == __has_overflow
    @post __reverted == false -> c == a + b
    @post msg == msg__post
   */
  /* CertiK Smart Labelling, for more details visit: https://certik.org */
  function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
    c = a + b;
    assert(c >= a);
    return c;
  }
}

// File: contracts/ownership/Ownable.sol

pragma solidity <6.0 >=0.4.0;


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


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


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

// File: contracts/token/IERC20Basic.sol

pragma solidity <0.6 >=0.4.21;


/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract IERC20Basic {
  function totalSupply() public view returns (uint256);
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

// File: contracts/token/IERC20.sol

pragma solidity <0.6 >=0.4.21;



/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract IERC20 is IERC20Basic {
  function name() external view returns (string memory);
  function symbol() external view returns (string memory);
  function allowance(address owner, address spender) public view returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

// File: contracts/token/IMintableToken.sol

pragma solidity <0.6 >=0.4.24;


contract IMintableToken is IERC20 {
    function mint(address, uint) external returns (bool);
    function burn(uint) external returns (bool);

    event Minted(address indexed to, uint256 amount);
    event Burned(address indexed from, uint256 amount);
    event MinterAdded(address indexed minter);
    event MinterRemoved(address indexed minter);
}

// File: contracts/utils/Address.sol

pragma solidity ^0.5.0;

/**
 * @dev Collection of functions related to the address type,
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * This test is non-exhaustive, and there may be false-negatives: during the
     * execution of a contract's constructor, its address will be reported as
     * not containing a contract.
     *
     * > It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies in extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.

        uint256 size;
        // solhint-disable-next-line no-inline-assembly
        assembly { size := extcodesize(account) }
        return size > 0;
    }
}

// File: contracts/token/SafeERC20.sol

pragma solidity ^0.5.0;




/**
 * @title SafeERC20
 * @dev Wrappers around ERC20 operations that throw on failure (when the token
 * contract returns false). Tokens that return no value (and instead revert or
 * throw on failure) are also supported, non-reverting calls are assumed to be
 * successful.
 * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,
 * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
 */
library SafeERC20 {
    using SafeMath for uint256;
    using Address for address;

    function safeTransfer(IERC20 token, address to, uint256 value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }

    function safeApprove(IERC20 token, address spender, uint256 value) internal {
        // safeApprove should only be called when setting an initial allowance,
        // or when resetting it to zero. To increase and decrease it, use
        // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'
        // solhint-disable-next-line max-line-length
        require((value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }

    function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).add(value);
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }

    function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).sub(value);
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }

    /**
     * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement
     * on the return value: the return value is optional (but if data is returned, it must not be false).
     * @param token The token targeted by the call.
     * @param data The call data (encoded using abi.encode or one of its variants).
     */
    function callOptionalReturn(IERC20 token, bytes memory data) private {
        // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since
        // we're implementing it ourselves.

        // A Solidity high level call has three parts:
        //  1. The target address is checked to verify it contains contract code
        //  2. The call itself is made, and success asserted
        //  3. The return value is decoded, which in turn checks the size of the returned data.
        // solhint-disable-next-line max-line-length
        require(address(token).isContract(), "SafeERC20: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = address(token).call(data);
        require(success, "SafeERC20: low-level call failed");

        if (returndata.length > 0) { // Return data is optional
            // solhint-disable-next-line max-line-length
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

// File: contracts/uniswapv2/IRouter.sol

pragma solidity >=0.5.0 <0.8.0;

interface IRouter {
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function swapETHForExactTokens(
        uint amountOut,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable returns (uint[] memory amounts);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts);
}

// File: contracts/AeolusV2dot1.sol

pragma solidity <0.6 >=0.4.24;







// Aeolus is the master of Cyclone tokens. He can distribute CYC and he is a fair guy.
//
// Note that it's ownable and the owner wields tremendous power. The ownership
// will be transferred to a governance smart contract once CYC is sufficiently
// distributed and the community can show to govern itself.
//
// Have fun reading it. Hopefully it's bug-free. God bless.
contract AeolusV2dot1 is Ownable {
    using SafeMath for uint256;
    using SafeERC20 for IERC20;

    // Info of each user.
    struct UserInfo {
        uint256 amount;     // How many LP tokens the user has provided.
        uint256 rewardDebt; // Reward debt. See explanation below.
        //
        // We do some fancy math here. Basically, any point in time, the amount of CYCs
        // entitled to a user but is pending to be distributed is:
        //
        //   pending reward = (user.amount * accCYCPerShare) - user.rewardDebt
        //
        // Whenever a user deposits or withdraws LP tokens to a pool. Here's what happens:
        //   1. Update accCYCPerShare and lastRewardBlock
        //   2. User receives the pending reward sent to his/her address.
        //   3. User's `amount` gets updated.
        //   4. User's `rewardDebt` gets updated.
    }


    // Address of LP token contract.
    IERC20 public lpToken;
    // Accumulated CYCs per share, times 1e12. See below.
    uint256 public accCYCPerShare;
    // Last block reward block height
    uint256 public lastRewardBlock;
    // Reward per block
    uint256 public rewardPerBlock;
    // Reward to distribute
    uint256 public rewardToDistribute;
    // Entrance Fee Rate
    uint256 public entranceFeeRate;

    IERC20 public wrappedCoin;
    IRouter public router;
    // The Cyclone TOKEN
    IMintableToken public cycToken;

    // Info of each user that stakes LP tokens.
    mapping (address => UserInfo) public userInfo;

    event RewardAdded(uint256 amount, bool isBlockReward);
    event Deposit(address indexed user, uint256 amount, uint256 fee);
    event Withdraw(address indexed user, uint256 amount);
    event EmergencyWithdraw(address indexed user, uint256 amount);

    constructor(IMintableToken _cycToken, IERC20 _lpToken, address _router, IERC20 _wrappedCoin) public {
        cycToken = _cycToken;
        lastRewardBlock = block.number;
        lpToken = _lpToken;
        router = IRouter(_router);
        wrappedCoin = _wrappedCoin;
        require(_lpToken.approve(_router, uint256(-1)), "failed to approve router");
        require(_wrappedCoin.approve(_router, uint256(-1)), "failed to approve router");
    }

    function setEntranceFeeRate(uint256 _entranceFeeRate) public onlyOwner {
        require(_entranceFeeRate < 10000, "invalid entrance fee rate");
        entranceFeeRate = _entranceFeeRate;
    }

    function setRewardPerBlock(uint256 _rewardPerBlock) public onlyOwner {
        updateBlockReward();
        rewardPerBlock = _rewardPerBlock;
    }

    function rewardPending() internal view returns (uint256) {
        uint256 reward = block.number.sub(lastRewardBlock).mul(rewardPerBlock);
        uint256 cycBalance = cycToken.balanceOf(address(this)).sub(rewardToDistribute);
        if (cycBalance < reward) {
            return cycBalance;
        }
        return reward;
    }

    // View function to see pending reward on frontend.
    function pendingReward(address _user) external view returns (uint256) {
        UserInfo storage user = userInfo[_user];
        uint256 acps = accCYCPerShare;
        if (rewardPerBlock > 0) {
            uint256 lpSupply = lpToken.balanceOf(address(this));
            if (block.number > lastRewardBlock && lpSupply > 0) {
                acps = acps.add(rewardPending().mul(1e12).div(lpSupply));
            }
        }

        return user.amount.mul(acps).div(1e12).sub(user.rewardDebt);
    }

    // Update reward variables to be up-to-date.
    function updateBlockReward() public {
        if (block.number <= lastRewardBlock || rewardPerBlock == 0) {
            return;
        }
        uint256 lpSupply = lpToken.balanceOf(address(this));
        uint256 reward = rewardPending();
        if (lpSupply == 0 || reward == 0) {
            lastRewardBlock = block.number;
            return;
        }
        rewardToDistribute = rewardToDistribute.add(reward);
        emit RewardAdded(reward, true);
        lastRewardBlock = block.number;
        accCYCPerShare = accCYCPerShare.add(reward.mul(1e12).div(lpSupply));
    }

    // Deposit LP tokens to Aeolus for CYC allocation.
    function deposit(uint256 _amount) public {
        updateBlockReward();
        UserInfo storage user = userInfo[msg.sender];
        uint256 originAmount = user.amount;
        uint256 acps = accCYCPerShare;
        if (originAmount > 0) {
            uint256 pending = originAmount.mul(acps).div(1e12).sub(user.rewardDebt);
            if (pending > 0) {
                safeCYCTransfer(msg.sender, pending);
            }
        }
        uint256 feeInCYC = 0;
        if (_amount > 0) {
            lpToken.safeTransferFrom(address(msg.sender), address(this), _amount);
            uint256 entranceFee = _amount.mul(entranceFeeRate).div(10000);
            if (entranceFee > 0) {
                IERC20 wct = wrappedCoin;
                (uint256 wcAmount, uint256 cycAmount) = router.removeLiquidity(address(wct), address(cycToken), entranceFee, 0, 0, address(this), block.timestamp.mul(2));
                if (wcAmount > 0) {
                    address[] memory path = new address[](2);
                    path[0] = address(wct);
                    path[1] = address(cycToken);
                    uint256[] memory amounts = router.swapExactTokensForTokens(wcAmount, 0, path, address(this), block.timestamp.mul(2));
                    feeInCYC = cycAmount.add(amounts[1]);
                } else {
                    feeInCYC = cycAmount;
                }
                if (feeInCYC > 0) {
                    require(cycToken.burn(feeInCYC), "failed to burn cyc token");
                }
                _amount = _amount.sub(entranceFee);
            }
            user.amount = originAmount.add(_amount);
        }
        user.rewardDebt = user.amount.mul(acps).div(1e12);
        emit Deposit(msg.sender, _amount, feeInCYC);
    }

    // Withdraw LP tokens from Aeolus.
    function withdraw(uint256 _amount) public {
        UserInfo storage user = userInfo[msg.sender];
        uint256 originAmount = user.amount;
        require(originAmount >= _amount, "withdraw: not good");
        updateBlockReward();
        uint256 acps = accCYCPerShare;
        uint256 pending = originAmount.mul(acps).div(1e12).sub(user.rewardDebt);
        if (pending > 0) {
            safeCYCTransfer(msg.sender, pending);
        }
        if (_amount > 0) {
            user.amount = originAmount.sub(_amount);
            lpToken.safeTransfer(address(msg.sender), _amount);
        }
        user.rewardDebt = user.amount.mul(acps).div(1e12);
        emit Withdraw(msg.sender, _amount);
    }

    // Withdraw without caring about rewards. EMERGENCY ONLY.
    function emergencyWithdraw() public {
        UserInfo storage user = userInfo[msg.sender];
        uint256 amount = user.amount;
        user.amount = 0;
        user.rewardDebt = 0;
        lpToken.safeTransfer(address(msg.sender), amount);
        emit EmergencyWithdraw(msg.sender, amount);
    }

    // Safe CYC transfer function, just in case if rounding error causes pool to not have enough CYCs.
    function safeCYCTransfer(address _to, uint256 _amount) internal {
        IMintableToken token = cycToken;
        uint256 cycBalance = token.balanceOf(address(this));
        if (_amount > cycBalance) {
            _amount = cycBalance;
        }
        rewardToDistribute = rewardToDistribute.sub(_amount);
        require(token.transfer(_to, _amount), "failed to transfer cyc token");
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"contract IMintableToken","name":"_cycToken","type":"address"},{"internalType":"contract IERC20","name":"_lpToken","type":"address"},{"internalType":"address","name":"_router","type":"address"},{"internalType":"contract IERC20","name":"_wrappedCoin","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"EmergencyWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"isBlockReward","type":"bool"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"constant":true,"inputs":[],"name":"accCYCPerShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cycToken","outputs":[{"internalType":"contract IMintableToken","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"emergencyWithdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"entranceFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastRewardBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lpToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"pendingReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardPerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rewardToDistribute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_entranceFeeRate","type":"uint256"}],"name":"setEntranceFeeRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_rewardPerBlock","type":"uint256"}],"name":"setRewardPerBlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"updateBlockReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userInfo","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"rewardDebt","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wrappedCoin","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b506040516115483803806115488339818101604052608081101561003357600080fd5b50805160208083015160408085015160609095015160008054336001600160a01b03199182161782556009805482166001600160a01b03808a169190911790915543600355600180548316828816908117909155600880548416838c169081179091556007805490941692861692909217909255845163095ea7b360e01b81526004810191909152600019602482015293519697949694959294909363095ea7b3936044808301949193928390030190829087803b1580156100f457600080fd5b505af1158015610108573d6000803e3d6000fd5b505050506040513d602081101561011e57600080fd5b5051610171576040805162461bcd60e51b815260206004820152601860248201527f6661696c656420746f20617070726f766520726f757465720000000000000000604482015290519081900360640190fd5b6040805163095ea7b360e01b81526001600160a01b038481166004830152600019602483015291519183169163095ea7b3916044808201926020929091908290030181600087803b1580156101c557600080fd5b505af11580156101d9573d6000803e3d6000fd5b505050506040513d60208110156101ef57600080fd5b5051610242576040805162461bcd60e51b815260206004820152601860248201527f6661696c656420746f20617070726f766520726f757465720000000000000000604482015290519081900360640190fd5b505050506112f3806102556000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80638da5cb5b116100ad578063db2e21bc11610071578063db2e21bc1461023c578063f2fde38b14610244578063f40f0f521461026a578063f48cde7f14610290578063f887ea40146102ad57610121565b80638da5cb5b146101ea578063a9f8d181146101f2578063b6b55f25146101fa578063bb872b4a14610217578063c0dfd25c1461023457610121565b806345c2eeda116100f457806345c2eeda146101c2578063527ba9af146101ca5780635fcbd285146101d25780638ae39cac146101da5780638d949d4b146101e257610121565b806318006104146101265780631959a0021461014a5780632e1a7d4d146101895780633d6b3f84146101a8575b600080fd5b61012e6102b5565b604080516001600160a01b039092168252519081900360200190f35b6101706004803603602081101561016057600080fd5b50356001600160a01b03166102c4565b6040805192835260208301919091528051918290030190f35b6101a66004803603602081101561019f57600080fd5b50356102dd565b005b6101b0610426565b60408051918252519081900360200190f35b6101b061042c565b61012e610432565b61012e610441565b6101b0610450565b6101a6610456565b61012e610599565b6101b06105a8565b6101a66004803603602081101561021057600080fd5b50356105ae565b6101a66004803603602081101561022d57600080fd5b5035610ad2565b6101b0610af6565b6101a6610afc565b6101a66004803603602081101561025a57600080fd5b50356001600160a01b0316610b71565b6101b06004803603602081101561028057600080fd5b50356001600160a01b0316610bf6565b6101a6600480360360208110156102a657600080fd5b5035610d0f565b61012e610d81565b6009546001600160a01b031681565b600a602052600090815260409020805460019091015482565b336000908152600a60205260409020805482811015610338576040805162461bcd60e51b81526020600482015260126024820152711dda5d1a191c985dce881b9bdd0819dbdbd960721b604482015290519081900360640190fd5b610340610456565b60025460018301546000906103809061037464e8d4a51000610368878763ffffffff610d9016565b9063ffffffff610dbb16565b9063ffffffff610dce16565b90508015610392576103923382610de0565b84156103c7576103a8838663ffffffff610dce16565b84556001546103c7906001600160a01b0316338763ffffffff610f5616565b83546103e49064e8d4a5100090610368908563ffffffff610d9016565b600185015560408051868152905133917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364919081900360200190a25050505050565b60025481565b60065481565b6007546001600160a01b031681565b6001546001600160a01b031681565b60045481565b600354431115806104675750600454155b1561047157610597565b600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156104bc57600080fd5b505afa1580156104d0573d6000803e3d6000fd5b505050506040513d60208110156104e657600080fd5b5051905060006104f4610fad565b9050811580610501575080155b1561051157505043600355610597565b600554610524908263ffffffff61107316565b600555604080518281526001602082015281517f46296264cd106b25aaa6bd852f4cf76bbd7d70550bbe6352bc3a47e35c6f1b2f929181900390910190a143600355610591610582836103688464e8d4a5100063ffffffff610d9016565b6002549063ffffffff61107316565b60025550505b565b6000546001600160a01b031681565b60035481565b6105b6610456565b336000908152600a60205260409020805460025481156106095760018301546000906105f59061037464e8d4a51000610368878763ffffffff610d9016565b90508015610607576106073382610de0565b505b60008415610a6f5760015461062f906001600160a01b031633308863ffffffff61108016565b600061064c61271061036860065489610d9090919063ffffffff16565b90508015610a5b576007546008546009546001600160a01b039283169260009283929082169163baa2abde918691168785803061069042600263ffffffff610d9016565b604080516001600160e01b031960e08b901b1681526001600160a01b039889166004820152968816602488015260448701959095526064860193909352608485019190915290931660a483015260c4820192909252815160e480830193928290030181600087803b15801561070457600080fd5b505af1158015610718573d6000803e3d6000fd5b505050506040513d604081101561072e57600080fd5b50805160209091015190925090508115610970576040805160028082526060808301845292602083019080388339019050509050838160008151811061077057fe5b6001600160a01b03928316602091820292909201015260095482519116908290600190811061079b57fe5b6001600160a01b039283166020918202929092010152600854606091166338ed173985600085306107d342600263ffffffff610d9016565b6040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561084c578181015183820152602001610834565b505050509050019650505050505050600060405180830381600087803b15801561087557600080fd5b505af1158015610889573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156108b257600080fd5b81019080805160405193929190846401000000008211156108d257600080fd5b9083019060208201858111156108e757600080fd5b825186602082028301116401000000008211171561090457600080fd5b82525081516020918201928201910280838360005b83811015610931578181015183820152602001610919565b5050505090500160405250505090506109678160018151811061095057fe5b60200260200101518461107390919063ffffffff16565b96505050610974565b8094505b8415610a455760095460408051630852cd8d60e31b81526004810188905290516001600160a01b03909216916342966c68916024808201926020929091908290030181600087803b1580156109c857600080fd5b505af11580156109dc573d6000803e3d6000fd5b505050506040513d60208110156109f257600080fd5b5051610a45576040805162461bcd60e51b815260206004820152601860248201527f6661696c656420746f206275726e2063796320746f6b656e0000000000000000604482015290519081900360640190fd5b610a55898563ffffffff610dce16565b98505050505b610a6b848763ffffffff61107316565b8555505b8354610a8c9064e8d4a5100090610368908563ffffffff610d9016565b60018501556040805186815260208101839052815133927f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15928290030190a25050505050565b6000546001600160a01b03163314610ae957600080fd5b610af1610456565b600455565b60055481565b336000818152600a60205260408120805482825560018083019390935591549092610b37916001600160a01b0316908363ffffffff610f5616565b60408051828152905133917f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd9695919081900360200190a25050565b6000546001600160a01b03163314610b8857600080fd5b6001600160a01b038116610b9b57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166000908152600a6020526040812060025460045415610cdf57600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015610c6457600080fd5b505afa158015610c78573d6000803e3d6000fd5b505050506040513d6020811015610c8e57600080fd5b505160035490915043118015610ca45750600081115b15610cdd57610cda610ccd8261036864e8d4a51000610cc1610fad565b9063ffffffff610d9016565b839063ffffffff61107316565b91505b505b610d07826001015461037464e8d4a51000610368858760000154610d9090919063ffffffff16565b949350505050565b6000546001600160a01b03163314610d2657600080fd5b6127108110610d7c576040805162461bcd60e51b815260206004820152601960248201527f696e76616c696420656e7472616e636520666565207261746500000000000000604482015290519081900360640190fd5b600655565b6008546001600160a01b031681565b600082610d9f57506000610db5565b5081810281838281610dad57fe5b0414610db557fe5b92915050565b6000818381610dc657fe5b049392505050565b600082821115610dda57fe5b50900390565b600954604080516370a0823160e01b815230600482015290516001600160a01b039092169160009183916370a0823191602480820192602092909190829003018186803b158015610e3057600080fd5b505afa158015610e44573d6000803e3d6000fd5b505050506040513d6020811015610e5a57600080fd5b5051905080831115610e6a578092505b600554610e7d908463ffffffff610dce16565b6005556040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820186905291519184169163a9059cbb916044808201926020929091908290030181600087803b158015610ed357600080fd5b505af1158015610ee7573d6000803e3d6000fd5b505050506040513d6020811015610efd57600080fd5b5051610f50576040805162461bcd60e51b815260206004820152601c60248201527f6661696c656420746f207472616e736665722063796320746f6b656e00000000604482015290519081900360640190fd5b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610fa89084906110d6565b505050565b600080610fcb600454610cc160035443610dce90919063ffffffff16565b600554600954604080516370a0823160e01b8152306004820152905193945060009361105993926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561102157600080fd5b505afa158015611035573d6000803e3d6000fd5b505050506040513d602081101561104b57600080fd5b50519063ffffffff610dce16565b90508181101561106c5791506110709050565b5090505b90565b81810182811015610db557fe5b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610f509085905b6110e8826001600160a01b031661128e565b611139576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106111775780518252601f199092019160209182019101611158565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146111d9576040519150601f19603f3d011682016040523d82523d6000602084013e6111de565b606091505b509150915081611235576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115610f505780806020019051602081101561125157600080fd5b5051610f505760405162461bcd60e51b815260040180806020018281038252602a815260200180611295602a913960400191505060405180910390fd5b3b15159056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820ab6c4638ed2de10be40f70dfa5ec3205ba6c6ad4b476b2aecbee6c40e422579864736f6c634300051100320000000000000000000000008861cff2366c1128fd699b68304ad99a0764ef9a00000000000000000000000037d9c7f451e5c619a7d4ca01e06761eb7dae6f890000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c80638da5cb5b116100ad578063db2e21bc11610071578063db2e21bc1461023c578063f2fde38b14610244578063f40f0f521461026a578063f48cde7f14610290578063f887ea40146102ad57610121565b80638da5cb5b146101ea578063a9f8d181146101f2578063b6b55f25146101fa578063bb872b4a14610217578063c0dfd25c1461023457610121565b806345c2eeda116100f457806345c2eeda146101c2578063527ba9af146101ca5780635fcbd285146101d25780638ae39cac146101da5780638d949d4b146101e257610121565b806318006104146101265780631959a0021461014a5780632e1a7d4d146101895780633d6b3f84146101a8575b600080fd5b61012e6102b5565b604080516001600160a01b039092168252519081900360200190f35b6101706004803603602081101561016057600080fd5b50356001600160a01b03166102c4565b6040805192835260208301919091528051918290030190f35b6101a66004803603602081101561019f57600080fd5b50356102dd565b005b6101b0610426565b60408051918252519081900360200190f35b6101b061042c565b61012e610432565b61012e610441565b6101b0610450565b6101a6610456565b61012e610599565b6101b06105a8565b6101a66004803603602081101561021057600080fd5b50356105ae565b6101a66004803603602081101561022d57600080fd5b5035610ad2565b6101b0610af6565b6101a6610afc565b6101a66004803603602081101561025a57600080fd5b50356001600160a01b0316610b71565b6101b06004803603602081101561028057600080fd5b50356001600160a01b0316610bf6565b6101a6600480360360208110156102a657600080fd5b5035610d0f565b61012e610d81565b6009546001600160a01b031681565b600a602052600090815260409020805460019091015482565b336000908152600a60205260409020805482811015610338576040805162461bcd60e51b81526020600482015260126024820152711dda5d1a191c985dce881b9bdd0819dbdbd960721b604482015290519081900360640190fd5b610340610456565b60025460018301546000906103809061037464e8d4a51000610368878763ffffffff610d9016565b9063ffffffff610dbb16565b9063ffffffff610dce16565b90508015610392576103923382610de0565b84156103c7576103a8838663ffffffff610dce16565b84556001546103c7906001600160a01b0316338763ffffffff610f5616565b83546103e49064e8d4a5100090610368908563ffffffff610d9016565b600185015560408051868152905133917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364919081900360200190a25050505050565b60025481565b60065481565b6007546001600160a01b031681565b6001546001600160a01b031681565b60045481565b600354431115806104675750600454155b1561047157610597565b600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156104bc57600080fd5b505afa1580156104d0573d6000803e3d6000fd5b505050506040513d60208110156104e657600080fd5b5051905060006104f4610fad565b9050811580610501575080155b1561051157505043600355610597565b600554610524908263ffffffff61107316565b600555604080518281526001602082015281517f46296264cd106b25aaa6bd852f4cf76bbd7d70550bbe6352bc3a47e35c6f1b2f929181900390910190a143600355610591610582836103688464e8d4a5100063ffffffff610d9016565b6002549063ffffffff61107316565b60025550505b565b6000546001600160a01b031681565b60035481565b6105b6610456565b336000908152600a60205260409020805460025481156106095760018301546000906105f59061037464e8d4a51000610368878763ffffffff610d9016565b90508015610607576106073382610de0565b505b60008415610a6f5760015461062f906001600160a01b031633308863ffffffff61108016565b600061064c61271061036860065489610d9090919063ffffffff16565b90508015610a5b576007546008546009546001600160a01b039283169260009283929082169163baa2abde918691168785803061069042600263ffffffff610d9016565b604080516001600160e01b031960e08b901b1681526001600160a01b039889166004820152968816602488015260448701959095526064860193909352608485019190915290931660a483015260c4820192909252815160e480830193928290030181600087803b15801561070457600080fd5b505af1158015610718573d6000803e3d6000fd5b505050506040513d604081101561072e57600080fd5b50805160209091015190925090508115610970576040805160028082526060808301845292602083019080388339019050509050838160008151811061077057fe5b6001600160a01b03928316602091820292909201015260095482519116908290600190811061079b57fe5b6001600160a01b039283166020918202929092010152600854606091166338ed173985600085306107d342600263ffffffff610d9016565b6040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b8381101561084c578181015183820152602001610834565b505050509050019650505050505050600060405180830381600087803b15801561087557600080fd5b505af1158015610889573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156108b257600080fd5b81019080805160405193929190846401000000008211156108d257600080fd5b9083019060208201858111156108e757600080fd5b825186602082028301116401000000008211171561090457600080fd5b82525081516020918201928201910280838360005b83811015610931578181015183820152602001610919565b5050505090500160405250505090506109678160018151811061095057fe5b60200260200101518461107390919063ffffffff16565b96505050610974565b8094505b8415610a455760095460408051630852cd8d60e31b81526004810188905290516001600160a01b03909216916342966c68916024808201926020929091908290030181600087803b1580156109c857600080fd5b505af11580156109dc573d6000803e3d6000fd5b505050506040513d60208110156109f257600080fd5b5051610a45576040805162461bcd60e51b815260206004820152601860248201527f6661696c656420746f206275726e2063796320746f6b656e0000000000000000604482015290519081900360640190fd5b610a55898563ffffffff610dce16565b98505050505b610a6b848763ffffffff61107316565b8555505b8354610a8c9064e8d4a5100090610368908563ffffffff610d9016565b60018501556040805186815260208101839052815133927f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15928290030190a25050505050565b6000546001600160a01b03163314610ae957600080fd5b610af1610456565b600455565b60055481565b336000818152600a60205260408120805482825560018083019390935591549092610b37916001600160a01b0316908363ffffffff610f5616565b60408051828152905133917f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd9695919081900360200190a25050565b6000546001600160a01b03163314610b8857600080fd5b6001600160a01b038116610b9b57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166000908152600a6020526040812060025460045415610cdf57600154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015610c6457600080fd5b505afa158015610c78573d6000803e3d6000fd5b505050506040513d6020811015610c8e57600080fd5b505160035490915043118015610ca45750600081115b15610cdd57610cda610ccd8261036864e8d4a51000610cc1610fad565b9063ffffffff610d9016565b839063ffffffff61107316565b91505b505b610d07826001015461037464e8d4a51000610368858760000154610d9090919063ffffffff16565b949350505050565b6000546001600160a01b03163314610d2657600080fd5b6127108110610d7c576040805162461bcd60e51b815260206004820152601960248201527f696e76616c696420656e7472616e636520666565207261746500000000000000604482015290519081900360640190fd5b600655565b6008546001600160a01b031681565b600082610d9f57506000610db5565b5081810281838281610dad57fe5b0414610db557fe5b92915050565b6000818381610dc657fe5b049392505050565b600082821115610dda57fe5b50900390565b600954604080516370a0823160e01b815230600482015290516001600160a01b039092169160009183916370a0823191602480820192602092909190829003018186803b158015610e3057600080fd5b505afa158015610e44573d6000803e3d6000fd5b505050506040513d6020811015610e5a57600080fd5b5051905080831115610e6a578092505b600554610e7d908463ffffffff610dce16565b6005556040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820186905291519184169163a9059cbb916044808201926020929091908290030181600087803b158015610ed357600080fd5b505af1158015610ee7573d6000803e3d6000fd5b505050506040513d6020811015610efd57600080fd5b5051610f50576040805162461bcd60e51b815260206004820152601c60248201527f6661696c656420746f207472616e736665722063796320746f6b656e00000000604482015290519081900360640190fd5b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610fa89084906110d6565b505050565b600080610fcb600454610cc160035443610dce90919063ffffffff16565b600554600954604080516370a0823160e01b8152306004820152905193945060009361105993926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561102157600080fd5b505afa158015611035573d6000803e3d6000fd5b505050506040513d602081101561104b57600080fd5b50519063ffffffff610dce16565b90508181101561106c5791506110709050565b5090505b90565b81810182811015610db557fe5b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610f509085905b6110e8826001600160a01b031661128e565b611139576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106111775780518252601f199092019160209182019101611158565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146111d9576040519150601f19603f3d011682016040523d82523d6000602084013e6111de565b606091505b509150915081611235576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115610f505780806020019051602081101561125157600080fd5b5051610f505760405162461bcd60e51b815260040180806020018281038252602a815260200180611295602a913960400191505060405180910390fd5b3b15159056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820ab6c4638ed2de10be40f70dfa5ec3205ba6c6ad4b476b2aecbee6c40e422579864736f6c63430005110032

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

0000000000000000000000008861cff2366c1128fd699b68304ad99a0764ef9a00000000000000000000000037d9c7f451e5c619a7d4ca01e06761eb7dae6f890000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2

-----Decoded View---------------
Arg [0] : _cycToken (address): 0x8861cfF2366C1128fd699B68304aD99a0764Ef9a
Arg [1] : _lpToken (address): 0x37D9c7F451E5C619A7d4cA01E06761Eb7dAE6f89
Arg [2] : _router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [3] : _wrappedCoin (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000008861cff2366c1128fd699b68304ad99a0764ef9a
Arg [1] : 00000000000000000000000037d9c7f451e5c619a7d4ca01e06761eb7dae6f89
Arg [2] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [3] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2


Deployed Bytecode Sourcemap

11329:7738:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11329:7738:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12755:30;;;:::i;:::-;;;;-1:-1:-1;;;;;12755:30:0;;;;;;;;;;;;;;12843:45;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12843:45:0;-1:-1:-1;;;;;12843:45:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;17452:720;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17452:720:0;;:::i;:::-;;12362:29;;;:::i;:::-;;;;;;;;;;;;;;;;12630:30;;;:::i;12669:25::-;;;:::i;12275:21::-;;;:::i;12499:29::-;;;:::i;14956:596::-;;;:::i;2775:20::-;;;:::i;12437:30::-;;;:::i;15616:1788::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15616:1788:0;;:::i;13828:150::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13828:150:0;;:::i;12564:33::-;;;:::i;18243:307::-;;;:::i;3390:178::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3390:178:0;-1:-1:-1;;;;;3390:178:0;;:::i;14389:509::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14389:509:0;-1:-1:-1;;;;;14389:509:0;;:::i;13623:197::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13623:197:0;;:::i;12701:21::-;;;:::i;12755:30::-;;;-1:-1:-1;;;;;12755:30:0;;:::o;12843:45::-;;;;;;;;;;;;;;;;;;;:::o;17452:720::-;17538:10;17505:21;17529:20;;;:8;:20;;;;;17583:11;;17613:23;;;;17605:54;;;;;-1:-1:-1;;;17605:54:0;;;;;;;;;;;;-1:-1:-1;;;17605:54:0;;;;;;;;;;;;;;;17670:19;:17;:19::i;:::-;17715:14;;17795:15;;;;17700:12;;17758:53;;:32;17785:4;17758:22;:12;17715:14;17758:22;:16;:22;:::i;:::-;:26;:32;:26;:32;:::i;:::-;:36;:53;:36;:53;:::i;:::-;17740:71;-1:-1:-1;17826:11:0;;17822:80;;17854:36;17870:10;17882:7;17854:15;:36::i;:::-;17916:11;;17912:148;;17958:25;:12;17975:7;17958:25;:16;:25;:::i;:::-;17944:39;;17998:7;;:50;;-1:-1:-1;;;;;17998:7:0;18027:10;18040:7;17998:50;:20;:50;:::i;:::-;18088:11;;:31;;18114:4;;18088:21;;18104:4;18088:21;:15;:21;:::i;:31::-;18070:15;;;:49;18135:29;;;;;;;;18144:10;;18135:29;;;;;;;;;;17452:720;;;;;:::o;12362:29::-;;;;:::o;12630:30::-;;;;:::o;12669:25::-;;;-1:-1:-1;;;;;12669:25:0;;:::o;12275:21::-;;;-1:-1:-1;;;;;12275:21:0;;:::o;12499:29::-;;;;:::o;14956:596::-;15023:15;;15007:12;:31;;:54;;;-1:-1:-1;15042:14:0;;:19;15007:54;15003:93;;;15078:7;;15003:93;15125:7;;:32;;;-1:-1:-1;;;15125:32:0;;15151:4;15125:32;;;;;;15106:16;;-1:-1:-1;;;;;15125:7:0;;:17;;:32;;;;;;;;;;;;;;:7;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;15125:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15125:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15125:32:0;;-1:-1:-1;15168:14:0;15185:15;:13;:15::i;:::-;15168:32;-1:-1:-1;15215:13:0;;;:28;;-1:-1:-1;15232:11:0;;15215:28;15211:112;;;-1:-1:-1;;15278:12:0;15260:15;:30;15305:7;;15211:112;15354:18;;:30;;15377:6;15354:30;:22;:30;:::i;:::-;15333:18;:51;15400:25;;;;;;15420:4;15400:25;;;;;;;;;;;;;;;;;15454:12;15436:15;:30;15494:50;15513:30;15534:8;15513:16;:6;15524:4;15513:16;:10;:16;:::i;:30::-;15494:14;;;:50;:18;:50;:::i;:::-;15477:14;:67;-1:-1:-1;;14956:596:0;:::o;2775:20::-;;;-1:-1:-1;;;;;2775:20:0;;:::o;12437:30::-;;;;:::o;15616:1788::-;15668:19;:17;:19::i;:::-;15731:10;15698:21;15722:20;;;:8;:20;;;;;15776:11;;15813:14;;15842:16;;15838:222;;15930:15;;;;15875;;15893:53;;:32;15920:4;15893:22;:12;15910:4;15893:22;:16;:22;:::i;:53::-;15875:71;-1:-1:-1;15965:11:0;;15961:88;;15997:36;16013:10;16025:7;15997:15;:36::i;:::-;15838:222;;16070:16;16105:11;;16101:1182;;16133:7;;:69;;-1:-1:-1;;;;;16133:7:0;16166:10;16187:4;16194:7;16133:69;:24;:69;:::i;:::-;16217:19;16239:39;16272:5;16239:28;16251:15;;16239:7;:11;;:28;;;;:::i;:39::-;16217:61;-1:-1:-1;16297:15:0;;16293:925;;16346:11;;16416:6;;16461:8;;-1:-1:-1;;;;;16346:11:0;;;;16333:10;;;;16416:6;;;;:22;;16346:11;;16461:8;16472:11;16333:10;;16499:4;16506:22;:15;16526:1;16506:22;:19;:22;:::i;:::-;16416:113;;;-1:-1:-1;;;;;;16416:113:0;;;;;;;-1:-1:-1;;;;;16416:113:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16416:113:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;16416:113:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16416:113:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16416:113:0;;;;;;;;;-1:-1:-1;16416:113:0;-1:-1:-1;16552:12:0;;16548:463;;16613:16;;;16627:1;16613:16;;;16589:21;16613:16;;;;;16589:21;16613:16;;;;;105:10:-1;16613:16:0;88:34:-1;136:17;;-1:-1;16613:16:0;16589:40;;16670:3;16652:4;16657:1;16652:7;;;;;;;;-1:-1:-1;;;;;16652:22:0;;;:7;;;;;;;;;:22;16715:8;;16697:7;;16715:8;;;16697:4;;16715:8;;16697:7;;;;;;-1:-1:-1;;;;;16697:27:0;;;:7;;;;;;;;;:27;16774:6;;16747:24;;16774:6;:31;16806:8;16774:6;16819:4;16833;16840:22;:15;16860:1;16840:22;:19;:22;:::i;:::-;16774:89;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16774:89:0;-1:-1:-1;;;;;16774:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;16774:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16774:89:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16774:89:0;;;;;;39:16:-1;36:1;17:17;2:54;101:4;16774:89:0;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;16774:89:0;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;373:25;;-1:-1;16774:89:0;;421:4:-1;412:14;;;;16774:89:0;;;;;412:14:-1;16774:89:0;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;16774:89:0;;;;;;;;;;;16747:116;;16897:25;16911:7;16919:1;16911:10;;;;;;;;;;;;;;16897:9;:13;;:25;;;;:::i;:::-;16886:36;;16548:463;;;;;16982:9;16971:20;;16548:463;17033:12;;17029:121;;17078:8;;:23;;;-1:-1:-1;;;17078:23:0;;;;;;;;;;-1:-1:-1;;;;;17078:8:0;;;;:13;;:23;;;;;;;;;;;;;;;:8;;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;17078:23:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17078:23:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17078:23:0;17070:60;;;;;-1:-1:-1;;;17070:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;17178:24;:7;17190:11;17178:24;:11;:24;:::i;:::-;17168:34;;16293:925;;;;17246:25;:12;17263:7;17246:25;:16;:25;:::i;:::-;17232:39;;-1:-1:-1;16101:1182:0;17311:11;;:31;;17337:4;;17311:21;;17327:4;17311:21;:15;:21;:::i;:31::-;17293:15;;;:49;17358:38;;;;;;;;;;;;;;17366:10;;17358:38;;;;;;;;15616:1788;;;;;:::o;13828:150::-;3203:5;;-1:-1:-1;;;;;3203:5:0;3189:10;:19;3181:28;;;;;;13908:19;:17;:19::i;:::-;13938:14;:32;13828:150::o;12564:33::-;;;;:::o;18243:307::-;18323:10;18290:21;18314:20;;;:8;:20;;;;;18362:11;;18384:15;;;-1:-1:-1;18410:15:0;;;:19;;;;18440:7;;18314:20;;18440:49;;-1:-1:-1;;;;;18440:7:0;;18362:11;18440:49;:20;:49;:::i;:::-;18505:37;;;;;;;;18523:10;;18505:37;;;;;;;;;;18243:307;;:::o;3390:178::-;3203:5;;-1:-1:-1;;;;;3203:5:0;3189:10;:19;3181:28;;;;;;-1:-1:-1;;;;;3467:22:0;;3459:31;;;;;;3523:5;;;3502:37;;-1:-1:-1;;;;;3502:37:0;;;;3523:5;;;3502:37;;;3546:5;:16;;-1:-1:-1;;;;;;3546:16:0;-1:-1:-1;;;;;3546:16:0;;;;;;;;;;3390:178::o;14389:509::-;-1:-1:-1;;;;;14494:15:0;;14450:7;14494:15;;;:8;:15;;;;;14535:14;;14564;;:18;14560:259;;14618:7;;:32;;;-1:-1:-1;;;14618:32:0;;14644:4;14618:32;;;;;;14599:16;;-1:-1:-1;;;;;14618:7:0;;:17;;:32;;;;;;;;;;;;;;:7;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;14618:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14618:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14618:32:0;14684:15;;14618:32;;-1:-1:-1;14669:12:0;:30;:46;;;;;14714:1;14703:8;:12;14669:46;14665:143;;;14743:49;14752:39;14782:8;14752:25;14772:4;14752:15;:13;:15::i;:::-;:19;:25;:19;:25;:::i;:39::-;14743:4;;:49;:8;:49;:::i;:::-;14736:56;;14665:143;14560:259;;14838:52;14874:4;:15;;;14838:31;14864:4;14838:21;14854:4;14838;:11;;;:15;;:21;;;;:::i;:52::-;14831:59;14389:509;-1:-1:-1;;;;14389:509:0:o;13623:197::-;3203:5;;-1:-1:-1;;;;;3203:5:0;3189:10;:19;3181:28;;;;;;13732:5;13713:16;:24;13705:62;;;;;-1:-1:-1;;;13705:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13778:15;:34;13623:197::o;12701:21::-;;;-1:-1:-1;;;;;12701:21:0;;:::o;559:174::-;617:9;639:6;635:37;;-1:-1:-1;663:1:0;656:8;;635:37;-1:-1:-1;682:5:0;;;686:1;682;:5;:1;701:5;;;;;:10;694:18;;;;559:174;;;;:::o;1156:277::-;1214:7;1426:1;1422;:5;;;;;;;1156:277;-1:-1:-1;;;1156:277:0:o;1869:113::-;1927:7;1955:1;1950;:6;;1943:14;;;;-1:-1:-1;1971:5:0;;;1869:113::o;18662:402::-;18760:8;;18800:30;;;-1:-1:-1;;;18800:30:0;;18824:4;18800:30;;;;;;-1:-1:-1;;;;;18760:8:0;;;;18737:20;;18760:8;;18800:15;;:30;;;;;;;;;;;;;;;18760:8;18800:30;;;5:2:-1;;;;30:1;27;20:12;5:2;18800:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18800:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18800:30:0;;-1:-1:-1;18845:20:0;;;18841:73;;;18892:10;18882:20;;18841:73;18945:18;;:31;;18968:7;18945:31;:22;:31;:::i;:::-;18924:18;:52;18995:28;;;-1:-1:-1;;;18995:28:0;;-1:-1:-1;;;;;18995:28:0;;;;;;;;;;;;;;;:14;;;;;;:28;;;;;;;;;;;;;;;-1:-1:-1;18995:14:0;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;18995:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18995:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18995:28:0;18987:69;;;;;-1:-1:-1;;;18987:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18662:402;;;;:::o;6853:176::-;6962:58;;;-1:-1:-1;;;;;6962:58:0;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;6962:58:0;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;6936:85:0;;6955:5;;6936:18;:85::i;:::-;6853:176;;;:::o;13986:338::-;14034:7;14054:14;14071:53;14109:14;;14071:33;14088:15;;14071:12;:16;;:33;;;;:::i;:53::-;14194:18;;14156:8;;:33;;;-1:-1:-1;;;14156:33:0;;14183:4;14156:33;;;;;;14054:70;;-1:-1:-1;14135:18:0;;14156:57;;14194:18;-1:-1:-1;;;;;14156:8:0;;:18;;:33;;;;;;;;;;;;;;:8;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;14156:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14156:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14156:33:0;;:57;:37;:57;:::i;:::-;14135:78;;14241:6;14228:10;:19;14224:69;;;14271:10;-1:-1:-1;14264:17:0;;-1:-1:-1;14264:17:0;14224:69;-1:-1:-1;14310:6:0;-1:-1:-1;13986:338:0;;:::o;2345:127::-;2425:5;;;2444:6;;;;2437:14;;;7037:204;7164:68;;;-1:-1:-1;;;;;7164:68:0;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;7164:68:0;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;7138:95:0;;7157:5;;8847:1114;9451:27;9459:5;-1:-1:-1;;;;;9451:25:0;;:27::i;:::-;9443:71;;;;;-1:-1:-1;;;9443:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9588:12;9602:23;9637:5;-1:-1:-1;;;;;9629:19:0;9649:4;9629:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;9629:25:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;9587:67:0;;;;9673:7;9665:52;;;;;-1:-1:-1;;;9665:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9734:17;;:21;9730:224;;9876:10;9865:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9865:30:0;9857:85;;;;-1:-1:-1;;;9857:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5791:422;6158:20;6197:8;;;5791:422::o

Swarm Source

bzzr://ab6c4638ed2de10be40f70dfa5ec3205ba6c6ad4b476b2aecbee6c40e4225798

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  ]

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.