Contract 0xf70c08a428f300c7f3e3f09217211d21f7a50410 4

 

Contract Overview

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x78e4a4351199ff5818e45cf6320a0e2cb05292d1c6e4e5974757da81dda573efClaim Reward129989932021-11-27 14:33:5352 secs ago0xede6f372e7b9531398dac8e76a139a338a28b741 IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000910005
0x77f288ed2462c341a8e44dd9d1f55eee70a2810b206cb36351507544e567d726Claim Reward129989812021-11-27 14:33:111 min ago0xb67306b330524d9f17f7999bc28e7390aa7f930d IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000760005
0xeba769b9d3372b587da7a5ec5f956cb36c0a4a8f5889930cdc32378dc15b4642Claim Reward129989712021-11-27 14:32:352 mins ago0xafc3b6212c73cce2155af38b33c539c501b3ce52 IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.00096724
0xf1e05568398dbbae608c33dfab0e16785427c6740bf6c5f7dafc1291cd9c2d72Claim Reward129989702021-11-27 14:32:312 mins ago0xe6442148b3d5bff837e6150420111f891d3bd2fe IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000910005
0x300b064baf1250ceb0f1b18dcc45407804bcc6f44757818614a353c1558bf609Claim Reward129989632021-11-27 14:32:052 mins ago0x0a2c7dd40d388cb3a2230c03fcb97b96b602e486 IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000910005
0xcf683b7a9eafcd0232be0fa2f8171193c7a1036938a9d13d78fa23a7c9b36d6cClaim Reward129989462021-11-27 14:31:063 mins ago0xc370ef75608dbf7a8e4e6397af771354477a4d49 IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000910005
0xd10721f3b535283ed85a290c73e1dcb85ae07d64b3765363858dfacfedbec446Claim Reward129989402021-11-27 14:30:434 mins ago0x41c26fc309a08137c7a02f09717727cb969cd9c4 IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.00089224
0x9414d71f4a68a48c0b0ea168a958ba534e5a253429ebe7b6370dc48fce1e2a68Claim Reward129989372021-11-27 14:30:344 mins ago0x15427a107e20079b1a607ce166e81540c5e0a330 IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000760005
0xa447d7c21a02c9ae9d726835a124dd18531796fda4a649c5dd8fe248104aa3b1Claim Reward129989222021-11-27 14:29:305 mins ago0xf585f9ac74c7be21fd8f203d568a688c83d2742a IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000760005
0xd665fe2390d681376b5cf3bccc98cf25b424ef7b6c820cd7f519fd55b72598c8Claim Reward129989192021-11-27 14:29:215 mins ago0x7d3fc246e679eb9d9e1adea73b2a85c4087e9b6b IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000760005
0x0be4c20073e06f35207693902438a737d4dabbc3c5eb261eb6638a7857a3ebd3Claim Reward129989192021-11-27 14:29:215 mins ago0xe2889ecaf8a6d0b32d7f7046c723cd944b24683e IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000835005
0x6340f723687e2b2967bcfe6f85779785e20cf9aa85cbf81f0a7e96f287bde782Claim Reward129989022021-11-27 14:28:276 mins ago0xf001b903a78531c328dfe795cb9ea87aacdbd970 IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.00014057
0x903381ee3d17365366e544bdf43f6eb32ae3455b821a9f74a2b417bd97c435e1Claim Reward129988962021-11-27 14:28:086 mins ago0x32216103435e776e9bf5bddac68c4ccb71558bcc IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000760005
0xddd58e0991b391084736c132b7a9ae7a8343d493ac93df04709be5f967e37947Claim Reward129988952021-11-27 14:28:056 mins ago0xb2650dec81d0385aad0316131150e16309e7525e IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000760005
0x1364466ade267691218e1b325381c9beced2a146228406a0c6ddfb9021bb32efClaim Reward129988842021-11-27 14:27:247 mins ago0x472ee1773d00bda598a3b8cb13be6b412af8b7eb IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000910005
0xca6651b3e238b938c61bf5cc9b446708776b372629024eef600a85dbda2379a0Claim Reward129988802021-11-27 14:27:127 mins ago0xf001b903a78531c328dfe795cb9ea87aacdbd970 IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000760005
0x8c1f14b0d5f9fafe322b472af3b9a163614c0f25742d6163759b26b5c21d222dClaim Reward129988792021-11-27 14:27:097 mins ago0x5e61ae4f62d6ef46d94976473eb7190082069855 IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000760005
0xc4e100cf84b71896943402160ef12936aa77db03b8703393fe55e578377ed8d6Claim Reward129988612021-11-27 14:26:158 mins ago0xa060975f1e92809fea89e82ab75662afba2f8b1e IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000760005
0x167e68592592564deb0db1d80b0c442905be667af5e00dcb357ace31b1d0a52bClaim Reward129988492021-11-27 14:25:399 mins ago0xf27ab5fd2cebdf402258f48fa40d0a665216b1a3 IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000835005
0x0d727908e0e360dc6f69735c188fede6047ba075f59295d6420c6c53cd11a9b3Claim Reward129988372021-11-27 14:25:039 mins ago0xc44da393bd2cbd759070e907ec1d55c6b49803c9 IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000835005
0xe883ebbf18cdcceb73f92f2c31d35427fa3e36f416b1e7424fbdbce683e7b0e2Claim Reward129988322021-11-27 14:24:489 mins ago0x4d0dff846bf9153d835bf16d01cf886634d3d3fa IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000835005
0x4f92e50d415788ce5bfe6d7b209ee69c65db505070c7b52f5605061a8acc744fClaim Reward129988272021-11-27 14:24:3310 mins ago0x7cab66ea794d5552798d3a1d33ca0115edbde3e9 IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000760005
0x4b13ac80e8d58246a595ba3c283424b2074ffe380488f9c203d4c1399889cb08Claim Reward129988272021-11-27 14:24:3310 mins ago0x6fefe14ebb317e01544a38e8defed9eaa2cd05c3 IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.001002006
0x530cb7dbf2cfa7149e66c6eb2594fa0e20ebe0e2590208c3a4f421b34d6e8300Claim Reward129988172021-11-27 14:24:0310 mins ago0xf9c9e4b722049fb5a1823c8db5cb80ff242dfa95 IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.00014057
0x859f3518cb946fa89ad93d61967e30ac5cb604f489030ceb10a671833d7ffa23Claim Reward129988162021-11-27 14:24:0010 mins ago0xdb408f125ca37d55272f9b53894a7cc6c4308a0d IN  0xf70c08a428f300c7f3e3f09217211d21f7a504100 BNB0.000910005
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x2f219215f1728757beec5839f26af55a07f385feadb84147aae453387784fa3e111569242021-09-23 5:49:0165 days 8 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.03213561360580434 BNB
0xc00e67460efb749cac52183731cf4724b09e9992c87d20ea705cb97b034442a9111569152021-09-23 5:48:3465 days 8 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.032135797267157172 BNB
0x00cf194d4ac1dee312b3a7996f7ccac72a8a5163171a7fc8ef3da12850d0bb52111422602021-09-22 17:30:1365 days 21 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.032093614114290132 BNB
0x9aa620cbe98cd05172636e6bf231782f206251d455288ca009d796cf68721d7c111422342021-09-22 17:28:5565 days 21 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.032093614114290132 BNB
0x3d948d75fdffb727e059217a30e4ddd02539b54582f0959861af3bf9d4bba3ed111321882021-09-22 9:04:3266 days 5 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.032794023209483622 BNB
0xe1a5207cc7c53a8e83aeeb8ed1f6a83e55f578df89646bf035cd568e561a322b111321772021-09-22 9:03:5966 days 5 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.032794023209483622 BNB
0x5b64c47f204cb518b7de1bcd9a427dd87039a44965ce40c785b9de48751b56a8111255582021-09-22 3:30:0166 days 11 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.032983932005267364 BNB
0xf84488a69ed49fbc38ef7946828524fb2700f15f466cc6b6253a17e48d2a26dc111254422021-09-22 3:24:1166 days 11 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.033002589462823014 BNB
0x7ff340a46b7c9953568566502549724eca8a6c5c00d8aff110367c54b76b9bfd111010772021-09-21 6:57:1167 days 7 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.031755723052628544 BNB
0x50654cbd1513f1a5cd637a584ec50fc46f571551436658220b6d6fc916f36195111010662021-09-21 6:56:3867 days 7 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.031755794685357756 BNB
0xef3a4bbf78432e80b16d386f61b9c88374a3f7671d9b887076ae0b363baf7859110979462021-09-21 4:20:3867 days 10 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.031226070386592606 BNB
0x148ff239cd8dae96d64d867167150d1bc3b37cc5e6f9017e6ebf7d1598ebeb4d110978512021-09-21 4:15:5367 days 10 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.031216343824704468 BNB
0x597ce4eec60be7ccde0544227ee5a9d3ba99587bea8f2a4d6226122119d494a9110977522021-09-21 4:10:5667 days 10 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.031225757868734718 BNB
0x107aa565f94ab44b0e8c689d0e969e7df85da6257d2ab7e59c21c3a6face6a60110977182021-09-21 4:09:1467 days 10 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.031317712768156332 BNB
0x995bafa23518329f7cf4ac25de747eea13ae33fb3ec393a1c7dec211318d70cc110877832021-09-20 19:49:5167 days 18 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.063232141259307414 BNB
0x6776da37a2f145be0836c64fedb3b5b7f49980a65b60e00bd11b907b233e9c1f110877642021-09-20 19:48:5467 days 18 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.063660916912928268 BNB
0x7a1ac9f1749f82ac0361ca37f08d8d82c29dc1fd81a9f366b9b781b7cf4fdf78110787222021-09-20 12:15:0868 days 2 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.03138338692132221 BNB
0xb6f93a0dec7bad43f96750efafbd8791fd6635fad533c964a8b04de51c9f5d9d110785112021-09-20 12:04:1168 days 2 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.031357084516001994 BNB
0xe6a0100872cbcd5981307f2f0dda43f4640268b108676c00299aa6e18b3f7b44110785102021-09-20 12:04:0868 days 2 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.031357084516001994 BNB
0x5277c12c6da6bf7c722fd821202f344832a269daed194ebf5c34367a28c69239110733082021-09-20 7:43:4168 days 6 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.032171189889492774 BNB
0x7ecdba0f3c4a2e4c2f17720c4878a545895428da809836d48e0fed5d1d0a829c110733072021-09-20 7:43:3868 days 6 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.032171189889492774 BNB
0xc95f8c18b788639553537c36293648d10c4fe5e0e2f045b20effed3957aff44e110732722021-09-20 7:41:5368 days 6 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.03217231203972333 BNB
0xfbf3790ee3d5ee78ca6c4f7361f402edb78090ae024cb9457595fc26aa5f1423110676762021-09-20 3:02:0268 days 11 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.033138090154610694 BNB
0xc790beb6067293fe69fb51085d2f34f4ecbddd6d545dddcd7390a3a815f59904110676642021-09-20 3:01:2668 days 11 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.03313799159248149 BNB
0xbf2afe4fdd7a0a5d75e79f0afcbc857576219d70a46cb7bb8ff15e3c510f0fb9110676112021-09-20 2:58:4768 days 11 hrs ago 0xc6d8795e78c067023c43ca4dae6a386f3255e494 0xf70c08a428f300c7f3e3f09217211d21f7a504100.033136653549194202 BNB
[ Download CSV Export 
Loading

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x7491CBb3AaDDA709Dd05b9Fa96393C82C3213480

Contract Name:
AdminUpgradeabilityProxy

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at BscScan.com on 2021-08-07
*/

// 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"}]

60806040526040516108d23803806108d28339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508290506100ee826101bf565b8051156101a6576000826001600160a01b0316826040518082805190602001908083835b602083106101315780518252601f199092019160209182019101610112565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610191576040519150601f19603f3d011682016040523d82523d6000602084013e610196565b606091505b50509050806101a457600080fd5b505b506101ae9050565b6101b782610231565b50505061025b565b6101d28161025560201b6103b41760201c565b61020d5760405162461bcd60e51b815260040180806020018281038252603b815260200180610897603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61062d8061026a6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996103ba565b6101a96101a461041a565b61043f565b565b6101b3610463565b6001600160a01b0316336001600160a01b031614156101da576101d581610488565b6101e2565b6101e2610191565b50565b6101ed610463565b6001600160a01b0316336001600160a01b031614156102855761020f83610488565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd61041a565b90506102cc565b6102cc610191565b90565b6102d7610463565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b81526004018080602001828103825260368152602001806105876036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610463565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c8565b6000610393610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd610463565b3b151590565b6103c2610463565b6001600160a01b0316336001600160a01b031614156104125760405162461bcd60e51b81526004018080602001828103825260328152602001806105556032913960400191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610491816104ec565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104f5816103b4565b6105305760405162461bcd60e51b815260040180806020018281038252603b8152602001806105bd603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a26469706673582212202de00de48b2abb10db07db5b120fb9561be3c58b5b46342418fba4c2af0174f664736f6c634300060c003343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000000000000000000e8504a214d8a90a68078aa46d15ea87db73075f00000000000000000000000055f01e9a1b0014c05313571d29be9b83f2be552900000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

Deployed ByteCode Sourcemap

12615:4220:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;705:11;:9;:11::i;:::-;12615:4220;;561:11;:9;:11::i;15261:105::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15261:105:0;-1:-1:-1;;;;;15261:105:0;;:::i;15894:225::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15894:225:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15894:225:0;;-1:-1:-1;15894:225:0;-1:-1:-1;15894:225:0;:::i;14561:98::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;14561:98:0;;;;;;;;;;;;;;14842:228;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14842:228:0;-1:-1:-1;;;;;14842:228:0;;:::i;14412:80::-;;;;;;;;;;;;;:::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;;;;;;;;;;::::0;;::::1;::::0;-1:-1:-1;16054:36:0::1;::::0;-1:-1:-1;16054:36:0;;-1:-1:-1;;16054:36:0;;::::1;::::0;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16036:54;;;16105:7;16097:16;;;::::0;::::1;;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://2de00de48b2abb10db07db5b120fb9561be3c58b5b46342418fba4c2af0174f6
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.