Contract 0x52cFa188A1468A521A98eaa798E715Fbb9eb38a3 3

 

Contract Overview

Pancake Bunny: BNB Single Asset Vault
Balance:
2.09000789 BNB

BNB Value:
$731.44 (@ $349.97/BNB)

Token:
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xc2ac8acfed7e2eb1c680b22309e89f43d64a260629614682a71ede4a66a60033Withdraw All112333712021-09-25 21:52:0026 mins ago0x710c6a22513d8098eadb2325cd0c0bb98db1bf12 IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.00718096
0x3645bd636689c9b709d182e263c8df2022385ec312c880d660390e4ae32ee00fWithdraw All112327622021-09-25 21:21:3357 mins ago0x584848c958365ade821e11afbe65da3b264af0d8 IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.00725596
0x9984021af78c579bf2b6bcf6a92b60a01d96275a2d03fcc2eccce11a20b10662Harvest112324152021-09-25 21:04:121 hr 14 mins ago0x793074d9799dc3c6039f8056f1ba884a73462051 IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.00538144
0x393dfc1bc56b903070794256d053ad0bcaa5467bb8aa64f22749618cc665ffb7Migrate To112322482021-09-25 20:55:511 hr 23 mins ago0xb6791d1878550c0261677398efa9cbf5cf6cb607 IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.008691755
0x971829bfe5b50dcadddebc11817cd0ce9d4509c4de4eeb2f08469348eb81ccc7Migrate To112318022021-09-25 20:33:331 hr 45 mins ago0x94b125a7bfeb50063a5b36d756b87317a4281b86 IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.008541755
0x839320fa3d35ce3e11b8c29a278c483e3de6b4738424a584025fa947df720f7bHarvest112300172021-09-25 19:04:093 hrs 14 mins ago0x793074d9799dc3c6039f8056f1ba884a73462051 IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.00538144
0x802cb22d0d948a667b333387791cd340b89cbf79091324c244c05be9b5983d26Migrate To112281382021-09-25 17:29:364 hrs 49 mins ago0x37131ec0b7fa6f61ee3d96bc3b753ee9aa21c1ea IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.00266671
0xa86dcc18347966c3838290c4f5d46d04dcb3d0c28bb29de67ac0e9e03fdf220fMigrate To112281362021-09-25 17:29:304 hrs 49 mins ago0x37131ec0b7fa6f61ee3d96bc3b753ee9aa21c1ea IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.0019194
0x353ec3d4c02873c757eda6b835ed8e79aaefb292580643798fd3b0289d92bd02Migrate To112281362021-09-25 17:29:304 hrs 49 mins ago0x37131ec0b7fa6f61ee3d96bc3b753ee9aa21c1ea IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.008616755
0x5d690bfebaf565104b9584e1f66e2caa6f6d99a3a154ed4da92b28fb639600d4Migrate To112278072021-09-25 17:13:015 hrs 5 mins ago0x887f36756636f5e5829e6f2451eb3029c568c34b IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.008541755
0x2dce06c849dc4981ce78b5ba7a0a44b764fc5fca1bead1a47ed845c9f3d039faHarvest112276312021-09-25 17:04:135 hrs 14 mins ago0x793074d9799dc3c6039f8056f1ba884a73462051 IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.00538144
0xd0271176400521d0c1395b571ae3c32c0b14594eb2504078b704f64adbd11bbaMigrate To112264372021-09-25 16:02:266 hrs 16 mins ago0x77dac8692c6de37b474c838d965ee52630f7c083 IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.00266671
0x57e7dc36ae0feb04350ed79fe55e75cc3b40c7ba75d8bc856ef2e508099ce53bMigrate To112264332021-09-25 16:02:146 hrs 16 mins ago0x77dac8692c6de37b474c838d965ee52630f7c083 IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.008541755
0x21006b958651bcf565a81c64dcadc7f03301ab6767ff6841d6c31c0d232bcc00Migrate To112259332021-09-25 15:37:146 hrs 41 mins ago0x4192c241bd2209a278e5a2bc69183445c1f1d40b IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.006918774
0x9b9be58b4387c142665c1608fb98e661054332797fbfba7cd65c10477fd60966Harvest112252722021-09-25 15:04:107 hrs 14 mins ago0x793074d9799dc3c6039f8056f1ba884a73462051 IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.00538144
0x13e3d1ed41cf7b8c080b1b6b3c248986ef7ea11a1c1e155d5002e6d42ad2865bMigrate To112249612021-09-25 14:48:377 hrs 30 mins ago0x2eec9f8f820bcf4a9fea72bd7933b084f421719d IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.008616755
0x8993d8ec35bcc60cc5408922f8302ae1712740ddc0c21fa92c7616f8e26a8353Harvest112229122021-09-25 13:04:119 hrs 14 mins ago0x793074d9799dc3c6039f8056f1ba884a73462051 IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.00536565
0xbbf119b8419f725760a6462ef1998e9b877cc97f75b24b95a06056fe303513cfMigrate To112226412021-09-25 12:50:389 hrs 28 mins ago0xa70a85c79d60b72e5ac237651ec88a9b6474e9c2 IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.005749855
0xcd2ccdf16d9ec24e548a457ab3a763f680254601ba2e89c1f9a190082a57fb30Migrate To112218252021-09-25 12:09:4810 hrs 9 mins ago0x3c24ed8a6426afb83354b0be6d16e6c24c067318 IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.008675965
0x2bddbef9c745371296fb3cd9a1075510e3baf0ee1b92d32065507e18a1794f82Migrate To112213012021-09-25 11:43:3410 hrs 35 mins ago0x410cfe926a46685365deac82f4c0b7a580f1797e IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.008675965
0xb1a392c814e2d821d507ec64766229e4a70f9ed1b064629d9deab80456e5fa03Withdraw All112205632021-09-25 11:06:3711 hrs 12 mins ago0x479bade1142d79fff65f107cc3f7b6da9c2c65b8 IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.0044003361
0xf456fdfb5a24d5f99c0319e92b58422aecf0e16084f5e8a0259198a5dca91cb8Harvest112205152021-09-25 11:04:1311 hrs 14 mins ago0x793074d9799dc3c6039f8056f1ba884a73462051 IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.00536565
0x69992865fb3561dcd558fee920988845c4fa63edb5c719179de13f64fbebb925Migrate To112204412021-09-25 11:00:3111 hrs 18 mins ago0x226aa25c6270d45679dc41ba8ee0a9f85a0f3cfb IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.005749855
0x8f5a823d4b4fae3fa46675097b6c0fca1b42bf864ee5e58b710658f4279dd9f0Migrate To112200262021-09-25 10:39:4611 hrs 39 mins ago0x4537223f50e8a02719669d40954c187464e17671 IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.005765645
0x586157ed650c3700dc62450e8a29721a8febe901676c10aae8da822609addbe1Withdraw All112199202021-09-25 10:34:2811 hrs 44 mins ago0x14ac83c1c5314185b2a880d8e5f65009aaa6dfd8 IN  Pancake Bunny: BNB Single Asset Vault0 BNB0.00718096
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xc2ac8acfed7e2eb1c680b22309e89f43d64a260629614682a71ede4a66a60033112333712021-09-25 21:52:0026 mins ago Pancake Bunny: BNB Single Asset Vault Pancake Bunny: Bunny Minter V20.036440063025838196 BNB
0xc2ac8acfed7e2eb1c680b22309e89f43d64a260629614682a71ede4a66a60033112333712021-09-25 21:52:0026 mins ago 0x8123cafca48b37e0f4936b2388d6b8a29f8f0da5 Pancake Bunny: BNB Single Asset Vault0.036440063025838196 BNB
0x3645bd636689c9b709d182e263c8df2022385ec312c880d660390e4ae32ee00f112327622021-09-25 21:21:3357 mins ago Pancake Bunny: BNB Single Asset Vault Pancake Bunny: Bunny Minter V20.005589086184268853 BNB
0x3645bd636689c9b709d182e263c8df2022385ec312c880d660390e4ae32ee00f112327622021-09-25 21:21:3357 mins ago 0x8123cafca48b37e0f4936b2388d6b8a29f8f0da5 Pancake Bunny: BNB Single Asset Vault0.005589086184268853 BNB
0x393dfc1bc56b903070794256d053ad0bcaa5467bb8aa64f22749618cc665ffb7112322482021-09-25 20:55:511 hr 23 mins ago Pancake Bunny: BNB Single Asset Vault 0x67c42b3dac9526efcbfeeb2fc1c56cf77f494e464.00338776883046026 BNB
0x393dfc1bc56b903070794256d053ad0bcaa5467bb8aa64f22749618cc665ffb7112322482021-09-25 20:55:511 hr 23 mins ago 0x8123cafca48b37e0f4936b2388d6b8a29f8f0da5 Pancake Bunny: BNB Single Asset Vault4.00338776883046026 BNB
0x393dfc1bc56b903070794256d053ad0bcaa5467bb8aa64f22749618cc665ffb7112322482021-09-25 20:55:511 hr 23 mins ago Pancake Bunny: BNB Single Asset Vault Pancake Bunny: Bunny Minter V20.044481492745932506 BNB
0x393dfc1bc56b903070794256d053ad0bcaa5467bb8aa64f22749618cc665ffb7112322482021-09-25 20:55:511 hr 23 mins ago 0x8123cafca48b37e0f4936b2388d6b8a29f8f0da5 Pancake Bunny: BNB Single Asset Vault0.044481492745932506 BNB
0x971829bfe5b50dcadddebc11817cd0ce9d4509c4de4eeb2f08469348eb81ccc7112318022021-09-25 20:33:331 hr 45 mins ago Pancake Bunny: BNB Single Asset Vault 0x67c42b3dac9526efcbfeeb2fc1c56cf77f494e462.035359281297302366 BNB
0x971829bfe5b50dcadddebc11817cd0ce9d4509c4de4eeb2f08469348eb81ccc7112318022021-09-25 20:33:331 hr 45 mins ago 0x8123cafca48b37e0f4936b2388d6b8a29f8f0da5 Pancake Bunny: BNB Single Asset Vault2.035359281297302366 BNB
0x971829bfe5b50dcadddebc11817cd0ce9d4509c4de4eeb2f08469348eb81ccc7112318022021-09-25 20:33:331 hr 45 mins ago Pancake Bunny: BNB Single Asset Vault Pancake Bunny: Bunny Minter V20.015241652342047104 BNB
0x971829bfe5b50dcadddebc11817cd0ce9d4509c4de4eeb2f08469348eb81ccc7112318022021-09-25 20:33:331 hr 45 mins ago 0x8123cafca48b37e0f4936b2388d6b8a29f8f0da5 Pancake Bunny: BNB Single Asset Vault0.015241652342047104 BNB
0x353ec3d4c02873c757eda6b835ed8e79aaefb292580643798fd3b0289d92bd02112281362021-09-25 17:29:304 hrs 49 mins ago Pancake Bunny: BNB Single Asset Vault 0x67c42b3dac9526efcbfeeb2fc1c56cf77f494e461.682545247766952716 BNB
0x353ec3d4c02873c757eda6b835ed8e79aaefb292580643798fd3b0289d92bd02112281362021-09-25 17:29:304 hrs 49 mins ago 0x8123cafca48b37e0f4936b2388d6b8a29f8f0da5 Pancake Bunny: BNB Single Asset Vault1.682545247766952716 BNB
0x353ec3d4c02873c757eda6b835ed8e79aaefb292580643798fd3b0289d92bd02112281362021-09-25 17:29:304 hrs 49 mins ago Pancake Bunny: BNB Single Asset Vault Pancake Bunny: Bunny Minter V20.015429929102368496 BNB
0x353ec3d4c02873c757eda6b835ed8e79aaefb292580643798fd3b0289d92bd02112281362021-09-25 17:29:304 hrs 49 mins ago 0x8123cafca48b37e0f4936b2388d6b8a29f8f0da5 Pancake Bunny: BNB Single Asset Vault0.015429929102368496 BNB
0x5d690bfebaf565104b9584e1f66e2caa6f6d99a3a154ed4da92b28fb639600d4112278072021-09-25 17:13:015 hrs 5 mins ago Pancake Bunny: BNB Single Asset Vault 0x67c42b3dac9526efcbfeeb2fc1c56cf77f494e460.809586660167770652 BNB
0x5d690bfebaf565104b9584e1f66e2caa6f6d99a3a154ed4da92b28fb639600d4112278072021-09-25 17:13:015 hrs 5 mins ago 0x8123cafca48b37e0f4936b2388d6b8a29f8f0da5 Pancake Bunny: BNB Single Asset Vault0.809586660167770652 BNB
0x5d690bfebaf565104b9584e1f66e2caa6f6d99a3a154ed4da92b28fb639600d4112278072021-09-25 17:13:015 hrs 5 mins ago Pancake Bunny: BNB Single Asset Vault Pancake Bunny: Bunny Minter V20.008429156487843021 BNB
0x5d690bfebaf565104b9584e1f66e2caa6f6d99a3a154ed4da92b28fb639600d4112278072021-09-25 17:13:015 hrs 5 mins ago 0x8123cafca48b37e0f4936b2388d6b8a29f8f0da5 Pancake Bunny: BNB Single Asset Vault0.008429156487843021 BNB
0x57e7dc36ae0feb04350ed79fe55e75cc3b40c7ba75d8bc856ef2e508099ce53b112264332021-09-25 16:02:146 hrs 16 mins ago Pancake Bunny: BNB Single Asset Vault 0x67c42b3dac9526efcbfeeb2fc1c56cf77f494e464.130385032403822378 BNB
0x57e7dc36ae0feb04350ed79fe55e75cc3b40c7ba75d8bc856ef2e508099ce53b112264332021-09-25 16:02:146 hrs 16 mins ago 0x8123cafca48b37e0f4936b2388d6b8a29f8f0da5 Pancake Bunny: BNB Single Asset Vault4.130385032403822378 BNB
0x57e7dc36ae0feb04350ed79fe55e75cc3b40c7ba75d8bc856ef2e508099ce53b112264332021-09-25 16:02:146 hrs 16 mins ago Pancake Bunny: BNB Single Asset Vault Pancake Bunny: Bunny Minter V20.028023823355162557 BNB
0x57e7dc36ae0feb04350ed79fe55e75cc3b40c7ba75d8bc856ef2e508099ce53b112264332021-09-25 16:02:146 hrs 16 mins ago 0x8123cafca48b37e0f4936b2388d6b8a29f8f0da5 Pancake Bunny: BNB Single Asset Vault0.028023823355162557 BNB
0x21006b958651bcf565a81c64dcadc7f03301ab6767ff6841d6c31c0d232bcc00112259332021-09-25 15:37:146 hrs 41 mins ago Pancake Bunny: BNB Single Asset Vault 0x67c42b3dac9526efcbfeeb2fc1c56cf77f494e460.730054122934122895 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Similar Match)
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x7e1eA653451352825540618878d5655a97d46748

Contract Name:
AdminUpgradeabilityProxy

Compiler Version
v0.6.8+commit.0bbfe453

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at BscScan.com on 2021-02-04
*/

// SPDX-License-Identifier: MIT

// File: MasterChef/contracts-proxy/Proxy.sol

pragma solidity ^0.6.0;

/**
 * @title Proxy
 * @dev Implements delegation of calls to other contracts, with proper
 * forwarding of return values and bubbling of failures.
 * It defines a fallback function that delegates all calls to the address
 * returned by the abstract _implementation() internal function.
 */
abstract contract Proxy {
  /**
   * @dev Fallback function.
   * Implemented entirely in `_fallback`.
   */
  fallback () payable external {
    _fallback();
  }

  /**
   * @dev Receive function.
   * Implemented entirely in `_fallback`.
   */
  receive () payable external {
    _fallback();
  }

  /**
   * @return The Address of the implementation.
   */
  function _implementation() internal virtual view returns (address);

  /**
   * @dev Delegates execution to an implementation contract.
   * This is a low level function that doesn't return to its internal call site.
   * It will return to the external caller whatever the implementation returns.
   * @param implementation Address to delegate.
   */
  function _delegate(address implementation) internal {
    assembly {
      // Copy msg.data. We take full control of memory in this inline assembly
      // block because it will not return to Solidity code. We overwrite the
      // Solidity scratch pad at memory position 0.
      calldatacopy(0, 0, calldatasize())

      // Call the implementation.
      // out and outsize are 0 because we don't know the size yet.
      let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)

      // Copy the returned data.
      returndatacopy(0, 0, returndatasize())

      switch result
      // delegatecall returns 0 on error.
      case 0 { revert(0, returndatasize()) }
      default { return(0, returndatasize()) }
    }
  }

  /**
   * @dev Function that is run as the first thing in the fallback function.
   * Can be redefined in derived contracts to add functionality.
   * Redefinitions must call super._willFallback().
   */
  function _willFallback() internal virtual {
  }

  /**
   * @dev fallback implementation.
   * Extracted to enable manual triggering.
   */
  function _fallback() internal {
    _willFallback();
    _delegate(_implementation());
  }
}

// File: @openzeppelin/contracts/utils/Address.sol

pragma solidity >=0.6.2 <0.8.0;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies on 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;
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain`call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

// File: MasterChef/contracts-proxy/UpgradeabilityProxy.sol

pragma solidity ^0.6.0;



/**
 * @title UpgradeabilityProxy
 * @dev This contract implements a proxy that allows to change the
 * implementation address to which it will delegate.
 * Such a change is called an implementation upgrade.
 */
contract UpgradeabilityProxy is Proxy {
  /**
   * @dev Contract constructor.
   * @param _logic Address of the initial implementation.
   * @param _data Data to send as msg.data to the implementation to initialize the proxied contract.
   * It should include the signature and the parameters of the function to be called, as described in
   * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
   * This parameter is optional, if no data is given the initialization call to proxied contract will be skipped.
   */
  constructor(address _logic, bytes memory _data) public payable {
    assert(IMPLEMENTATION_SLOT == bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1));
    _setImplementation(_logic);
    if(_data.length > 0) {
      (bool success,) = _logic.delegatecall(_data);
      require(success);
    }
  }  

  /**
   * @dev Emitted when the implementation is upgraded.
   * @param implementation Address of the new implementation.
   */
  event Upgraded(address indexed implementation);

  /**
   * @dev Storage slot with the address of the current implementation.
   * This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is
   * validated in the constructor.
   */
  bytes32 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

  /**
   * @dev Returns the current implementation.
   * @return impl Address of the current implementation
   */
  function _implementation() internal override view returns (address impl) {
    bytes32 slot = IMPLEMENTATION_SLOT;
    assembly {
      impl := sload(slot)
    }
  }

  /**
   * @dev Upgrades the proxy to a new implementation.
   * @param newImplementation Address of the new implementation.
   */
  function _upgradeTo(address newImplementation) internal {
    _setImplementation(newImplementation);
    emit Upgraded(newImplementation);
  }

  /**
   * @dev Sets the implementation address of the proxy.
   * @param newImplementation Address of the new implementation.
   */
  function _setImplementation(address newImplementation) internal {
    require(Address.isContract(newImplementation), "Cannot set a proxy implementation to a non-contract address");

    bytes32 slot = IMPLEMENTATION_SLOT;

    assembly {
      sstore(slot, newImplementation)
    }
  }
}

// File: MasterChef/contracts-proxy/AdminUpgradeabilityProxy.sol

pragma solidity ^0.6.0;


/**
 * @title AdminUpgradeabilityProxy
 * @dev This contract combines an upgradeability proxy with an authorization
 * mechanism for administrative tasks.
 * All external functions in this contract must be guarded by the
 * `ifAdmin` modifier. See ethereum/solidity#3864 for a Solidity
 * feature proposal that would enable this to be done automatically.
 */
contract AdminUpgradeabilityProxy is UpgradeabilityProxy {
  /**
   * Contract constructor.
   * @param _logic address of the initial implementation.
   * @param _admin Address of the proxy administrator.
   * @param _data Data to send as msg.data to the implementation to initialize the proxied contract.
   * It should include the signature and the parameters of the function to be called, as described in
   * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
   * This parameter is optional, if no data is given the initialization call to proxied contract will be skipped.
   */
  constructor(address _logic, address _admin, bytes memory _data) UpgradeabilityProxy(_logic, _data) public payable {
    assert(ADMIN_SLOT == bytes32(uint256(keccak256('eip1967.proxy.admin')) - 1));
    _setAdmin(_admin);
  }

  /**
   * @dev Emitted when the administration has been transferred.
   * @param previousAdmin Address of the previous admin.
   * @param newAdmin Address of the new admin.
   */
  event AdminChanged(address previousAdmin, address newAdmin);

  /**
   * @dev Storage slot with the admin of the contract.
   * This is the keccak-256 hash of "eip1967.proxy.admin" subtracted by 1, and is
   * validated in the constructor.
   */

  bytes32 internal constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;

  /**
   * @dev Modifier to check whether the `msg.sender` is the admin.
   * If it is, it will run the function. Otherwise, it will delegate the call
   * to the implementation.
   */
  modifier ifAdmin() {
    if (msg.sender == _admin()) {
      _;
    } else {
      _fallback();
    }
  }

  /**
   * @return The address of the proxy admin.
   */
  function admin() external ifAdmin returns (address) {
    return _admin();
  }

  /**
   * @return The address of the implementation.
   */
  function implementation() external ifAdmin returns (address) {
    return _implementation();
  }

  /**
   * @dev Changes the admin of the proxy.
   * Only the current admin can call this function.
   * @param newAdmin Address to transfer proxy administration to.
   */
  function changeAdmin(address newAdmin) external ifAdmin {
    require(newAdmin != address(0), "Cannot change the admin of a proxy to the zero address");
    emit AdminChanged(_admin(), newAdmin);
    _setAdmin(newAdmin);
  }

  /**
   * @dev Upgrade the backing implementation of the proxy.
   * Only the admin can call this function.
   * @param newImplementation Address of the new implementation.
   */
  function upgradeTo(address newImplementation) external ifAdmin {
    _upgradeTo(newImplementation);
  }

  /**
   * @dev Upgrade the backing implementation of the proxy and call a function
   * on the new implementation.
   * This is useful to initialize the proxied contract.
   * @param newImplementation Address of the new implementation.
   * @param data Data to send as msg.data in the low level call.
   * It should include the signature and the parameters of the function to be called, as described in
   * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
   */
  function upgradeToAndCall(address newImplementation, bytes calldata data) payable external ifAdmin {
    _upgradeTo(newImplementation);
    (bool success,) = newImplementation.delegatecall(data);
    require(success);
  }

  /**
   * @return adm The admin slot.
   */
  function _admin() internal view returns (address adm) {
    bytes32 slot = ADMIN_SLOT;
    assembly {
      adm := sload(slot)
    }
  }

  /**
   * @dev Sets the address of the proxy admin.
   * @param newAdmin Address of the new proxy admin.
   */
  function _setAdmin(address newAdmin) internal {
    bytes32 slot = ADMIN_SLOT;

    assembly {
      sstore(slot, newAdmin)
    }
  }

  /**
   * @dev Only fall back when the sender is not the admin.
   */
  function _willFallback() internal override virtual {
    require(msg.sender != _admin(), "Cannot call fallback function from the proxy admin");
    super._willFallback();
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"address","name":"_admin","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040516109943803806109948339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b5060408181527f656970313936372e70726f78792e696d706c656d656e746174696f6e0000000082525190819003601c01902086935084925060008051602061093983398151915260001990910114905061013157fe5b610143826001600160e01b0361026516565b8051156101fb576000826001600160a01b0316826040518082805190602001908083835b602083106101865780518252601f199092019160209182019101610167565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101e6576040519150601f19603f3d011682016040523d82523d6000602084013e6101eb565b606091505b50509050806101f957600080fd5b505b5050604080517f656970313936372e70726f78792e61646d696e00000000000000000000000000815290519081900360130190206000805160206109198339815191526000199091011461024b57fe5b61025d826001600160e01b036102c516565b5050506102dd565b610278816102d760201b6103b41760201c565b6102b35760405162461bcd60e51b815260040180806020018281038252603b815260200180610959603b913960400191505060405180910390fd5b60008051602061093983398151915255565b60008051602061091983398151915255565b3b151590565b61062d806102ec6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996103ba565b6101a96101a461041a565b61043f565b565b6101b3610463565b6001600160a01b0316336001600160a01b031614156101da576101d581610488565b6101e2565b6101e2610191565b50565b6101ed610463565b6001600160a01b0316336001600160a01b031614156102855761020f83610488565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd61041a565b90506102cc565b6102cc610191565b90565b6102d7610463565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b81526004018080602001828103825260368152602001806105876036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610463565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c8565b6000610393610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd610463565b3b151590565b6103c2610463565b6001600160a01b0316336001600160a01b031614156104125760405162461bcd60e51b81526004018080602001828103825260328152602001806105556032913960400191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610491816104ec565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104f5816103b4565b6105305760405162461bcd60e51b815260040180806020018281038252603b8152602001806105bd603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a26469706673582212206e221e2a3547bd97244b05ed46430b1b078ba097cb2a4e25ec3d79cf9ac9f02c64736f6c63430006080033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e7472616374206164647265737300000000000000000000000087d8ebd2055d29d26387b64ddc9e00d11e1d22f5000000000000000000000000a54fcd71bfd83ee06b359f986fc5da97aa90156c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000048129fc1c00000000000000000000000000000000000000000000000000000000

Deployed ByteCode Sourcemap

12615:4220:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;705:11;:9;:11::i;:::-;12615:4220;;561:11;:9;:11::i;15261:105::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;15261:105:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;15261:105:0;-1:-1:-1;;;;;15261:105:0;;:::i;15894:225::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;15894:225:0;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;15894:225:0;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;15894:225:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;15894:225:0;;-1:-1:-1;15894:225:0;-1:-1:-1;15894:225:0;:::i;14561:98::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;14561:98:0;;;:::i;:::-;;;;-1:-1:-1;;;;;14561:98:0;;;;;;;;;;;;;;14842:228;;5:9:-1;2:2;;;27:1;24;17:12;2:2;14842:228:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;14842:228:0;-1:-1:-1;;;;;14842:228:0;;:::i;14412:80::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;14412:80:0;;;:::i;2279:93::-;2316:15;:13;:15::i;:::-;2338:28;2348:17;:15;:17::i;:::-;2338:9;:28::i;:::-;2279:93::o;15261:105::-;14279:8;:6;:8::i;:::-;-1:-1:-1;;;;;14265:22:0;:10;-1:-1:-1;;;;;14265:22:0;;14261:80;;;15331:29:::1;15342:17;15331:10;:29::i;:::-;14261:80:::0;;;14322:11;:9;:11::i;:::-;15261:105;:::o;15894:225::-;14279:8;:6;:8::i;:::-;-1:-1:-1;;;;;14265:22:0;:10;-1:-1:-1;;;;;14265:22:0;;14261:80;;;16000:29:::1;16011:17;16000:10;:29::i;:::-;16037:12;16054:17;-1:-1:-1::0;;;;;16054:30:0::1;16085:4;;16054:36;;;;;30:3:-1;22:6;14;1:33;16054:36:0;::::0;45:16:-1;::::1;::::0;-1:-1;16054:36:0::1;::::0;-1:-1:-1;16054:36:0;;-1:-1:-1;;16054:36:0;;::::1;::::0;;::::1;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;16036:54:0;;;16105:7;16097:16;;12:1:-1;9::::0;2:12:::1;16097:16:0;14298:1;14261:80:::0;;;14322:11;:9;:11::i;:::-;15894:225;;;:::o;14561:98::-;14613:7;14279:8;:6;:8::i;:::-;-1:-1:-1;;;;;14265:22:0;:10;-1:-1:-1;;;;;14265:22:0;;14261:80;;;14636:17:::1;:15;:17::i;:::-;14629:24;;14261:80:::0;;;14322:11;:9;:11::i;:::-;14561:98;:::o;14842:228::-;14279:8;:6;:8::i;:::-;-1:-1:-1;;;;;14265:22:0;:10;-1:-1:-1;;;;;14265:22:0;;14261:80;;;-1:-1:-1;;;;;14913:22:0;::::1;14905:89;;;;-1:-1:-1::0;;;14905:89:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15006:32;15019:8;:6;:8::i;:::-;15006:32;::::0;;-1:-1:-1;;;;;15006:32:0;;::::1;::::0;;;;::::1;;::::0;::::1;::::0;;;;;;;;;::::1;15045:19;15055:8;15045:9;:19::i;14412:80::-:0;14455:7;14279:8;:6;:8::i;:::-;-1:-1:-1;;;;;14265:22:0;:10;-1:-1:-1;;;;;14265:22:0;;14261:80;;;14478:8:::1;:6;:8::i;3149:422::-:0;3516:20;3555:8;;;3149:422::o;16655:177::-;16735:8;:6;:8::i;:::-;-1:-1:-1;;;;;16721:22:0;:10;-1:-1:-1;;;;;16721:22:0;;;16713:85;;;;-1:-1:-1;;;16713:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16805:21;:19;:21::i;11252:170::-;11061:66;11399:11;;11382:35::o;1152:762::-;1459:14;1456:1;1453;1440:34;1659:1;1656;1640:14;1637:1;1621:14;1614:5;1601:60;1726:16;1723:1;1720;1705:38;1760:6;1817:38;;;;1883:16;1880:1;1873:27;1817:38;1836:16;1833:1;1826:27;16173:141;13972:66;16291:11;;16275:34::o;11563:145::-;11626:37;11645:17;11626:18;:37::i;:::-;11675:27;;-1:-1:-1;;;;;11675:27:0;;;;;;;;11563:145;:::o;16436:139::-;13972:66;16541:22;16532:38::o;11851:293::-;11930:37;11949:17;11930:18;:37::i;:::-;11922:109;;;;-1:-1:-1;;;11922:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11061:66;12101:31;12092:47::o

Swarm Source

ipfs://6e221e2a3547bd97244b05ed46430b1b078ba097cb2a4e25ec3d79cf9ac9f02c
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.