Contract 0xd39Ff512C3e55373a30E94BB1398651420Ae1D43 2

 
Ad
Ad
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xeb0a23ee6cc48554300bb93f94c99ca86a7e27acbbc0842bedfd0a8f2886f046Compound Reward193101702021-09-20 11:54:528 mins ago0x698f50ff94c40771a662d6821b6f4fffcef053eb IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.033677688001
0x437cd3fdf7c0a99043fb462682236f9e8d5749b4bf761104af423565cd32f5abWithdraw193095022021-09-20 11:31:3631 mins ago0x875d0e316c50b4d167167335e539a8579ddff934 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.032483942
0xa1bc3052e32997b18985cb0bbb291fb239c6ce57f5c2f0224f1b199054bfd587Compound Reward193091852021-09-20 11:18:1645 mins ago0xcf7c03cf8babeb0a81992b49e326788906f026e0 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00243537
0x3b0c8a5e070e2a7aa62bea98f879083bd6e74eff243735dd5b04514765114744Compound Reward193091532021-09-20 11:17:0846 mins ago0xe487a866b0f6b1b663b4566ff7e998af6116fba9 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00504162
0x5be3b1a12b44235e2e3ba000b74dad139cae2f7154807bd88fab21d7215be382Compound Reward193090772021-09-20 11:14:3148 mins ago0xe5072a1f8f859117edda69e56905e78a7c030375 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.014243015197
0x0e511b153802942ab535a1fbcecf582e734a9e907eea73841cd1d1df48b03ee1Deposit193087942021-09-20 11:00:291 hr 2 mins ago0xe487a866b0f6b1b663b4566ff7e998af6116fba9 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00228195
0x7c5934177995423d0ef7a5eeb988bfcaf7b3eb1790adcc5521ef4c44d09a9fc3Claim Reward193087832021-09-20 11:00:071 hr 3 mins ago0xe487a866b0f6b1b663b4566ff7e998af6116fba9 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.001751985
0x2ea94b7a987fb783347ce83ef3a458f3df4b0edcab2b8bdb1f61560e971bb093Claim Reward193087792021-09-20 10:59:591 hr 3 mins ago0xe487a866b0f6b1b663b4566ff7e998af6116fba9 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.001751985
0xdb2483a8e41b3bd74dddb5383f726b0e8de1506c853db95dca9b86733d5c6f98Claim Reward193087762021-09-20 10:59:531 hr 3 mins ago0xe487a866b0f6b1b663b4566ff7e998af6116fba9 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.001751985
0x4b0e1a24912833d6dd1e9935e194c60684d22a6451b478ef550f93e54ceb0103Claim Reward193087732021-09-20 10:59:471 hr 3 mins ago0xe487a866b0f6b1b663b4566ff7e998af6116fba9 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.001751985
0x61b6477d9c1030e5ba9e665530b607f019ed65d4f5f0568007fd494bd6169034Compound Reward193087062021-09-20 10:57:291 hr 5 mins ago0x6d50f81413684ae7f9abcb29236a3c3e6b87eee3 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.000609442
0x5cc0bb71cbb4497d365834bfa873665e6b72f6437af8ce3856b7e22879dff28eCompound Reward193086482021-09-20 10:55:291 hr 7 mins ago0xe487a866b0f6b1b663b4566ff7e998af6116fba9 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00504162
0xe284764e712299de39f0239085019729bb36b5e4993f63a331f84440f0154f46Compound Reward193082232021-09-20 10:40:511 hr 22 mins ago0xe487a866b0f6b1b663b4566ff7e998af6116fba9 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00504162
0xd257bf4d4a53d5916df227f1a8fa8b4833a3042d98e31f310aee2b7dce2a2c4aCompound Reward193077982021-09-20 10:24:071 hr 39 mins ago0xe487a866b0f6b1b663b4566ff7e998af6116fba9 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00504162
0xa4793b1999f0006c3caf46b92efe946422486debbee60516190e0830d8286cfcDeposit193077842021-09-20 10:23:391 hr 39 mins ago0xac1ea4620de31eacf8f1249b7d543878185b4e93 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00026329
0x868b7aacdbdee67ef30763369eb51f5af78b1c068c6eef863a2793ebd9f2fcb0Compound Reward193075832021-09-20 10:16:371 hr 46 mins ago0x7cc4480fddfd09d7aa213fa2058eedf271df2d96 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.002308379709
0x01434713b26123a0592de32c3edcb081cc50529356132865fb58894a70dddac0Compound Reward193075832021-09-20 10:16:371 hr 46 mins ago0x7cc4480fddfd09d7aa213fa2058eedf271df2d96 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.002753464113
0xc121118fb85ccc4ad27fa573f5c9957308abd8a61556ae4ca00cf3e8a4341687Compound Reward193073782021-09-20 10:05:191 hr 58 mins ago0xe487a866b0f6b1b663b4566ff7e998af6116fba9 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00504162
0x9e6e3e30b73d315baadf5b5f96b6a8ecec95fcd2f59de1ec0433b2882f2d0588Deposit193072462021-09-20 10:00:472 hrs 2 mins ago0xac1ea4620de31eacf8f1249b7d543878185b4e93 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00092649
0xab1e042c0583a9c23f8b8cc2c44ec776a1bfd0ddcc75a311446c37599bf902e3Compound Reward193069512021-09-20 9:50:412 hrs 12 mins ago0xe487a866b0f6b1b663b4566ff7e998af6116fba9 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00504162
0x854f4074ca76d85cabb021a25d22fa4c295419dbec02f61d835e7b4172d8ce71Compound Reward193067742021-09-20 9:42:272 hrs 20 mins ago0x206a14aa83264ccc816bc71e34d807fe558f04d7 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.000382701
0x6cea0302ee71cf16166403d1ca9482e5110c24a390e60739c6c5b8a05747e4c4Compound Reward193065172021-09-20 9:31:292 hrs 31 mins ago0xe487a866b0f6b1b663b4566ff7e998af6116fba9 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00504162
0x25cca623a65109c88afdc8f8ba5260b2b98a6fa7b6ea8b27518fe0c8b022d319Compound Reward193060932021-09-20 9:14:452 hrs 48 mins ago0xe487a866b0f6b1b663b4566ff7e998af6116fba9 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00504162
0x881438ce81a4240dfe7fd6b18efd367212627bdfb629286fd5473f4b4fa3713fCompound Reward193057372021-09-20 9:02:323 hrs ago0xf6d6a2aed3fc759a0ab6612d076d56e78f46225c IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.002413529582
0xa199a6709eedf380920e19c45385880b188e13226704d7a7d730adf09ce9074dCompound Reward193056652021-09-20 8:55:563 hrs 7 mins ago0xe487a866b0f6b1b663b4566ff7e998af6116fba9 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00521865
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xeb0a23ee6cc48554300bb93f94c99ca86a7e27acbbc0842bedfd0a8f2886f046193101702021-09-20 11:54:528 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x698f50ff94c40771a662d6821b6f4fffcef053eb1.104905371417363963 MATIC
0x437cd3fdf7c0a99043fb462682236f9e8d5749b4bf761104af423565cd32f5ab193095022021-09-20 11:31:3631 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x875d0e316c50b4d167167335e539a8579ddff9342.98067653020369001 MATIC
0xa1bc3052e32997b18985cb0bbb291fb239c6ce57f5c2f0224f1b199054bfd587193091852021-09-20 11:18:1645 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430xcf7c03cf8babeb0a81992b49e326788906f026e03.450595878706701679 MATIC
0x5be3b1a12b44235e2e3ba000b74dad139cae2f7154807bd88fab21d7215be382193090772021-09-20 11:14:3148 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430xe5072a1f8f859117edda69e56905e78a7c0303750.209827949563387148 MATIC
0x61b6477d9c1030e5ba9e665530b607f019ed65d4f5f0568007fd494bd6169034193087062021-09-20 10:57:291 hr 5 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x6d50f81413684ae7f9abcb29236a3c3e6b87eee30.02280634680745613 MATIC
0x01434713b26123a0592de32c3edcb081cc50529356132865fb58894a70dddac0193075832021-09-20 10:16:371 hr 46 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x7cc4480fddfd09d7aa213fa2058eedf271df2d961.608807372053517408 MATIC
0x9e6e3e30b73d315baadf5b5f96b6a8ecec95fcd2f59de1ec0433b2882f2d0588193072462021-09-20 10:00:472 hrs 2 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430xac1ea4620de31eacf8f1249b7d543878185b4e930.117036582223356935 MATIC
0x854f4074ca76d85cabb021a25d22fa4c295419dbec02f61d835e7b4172d8ce71193067742021-09-20 9:42:272 hrs 20 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x206a14aa83264ccc816bc71e34d807fe558f04d70.094859518169289412 MATIC
0x881438ce81a4240dfe7fd6b18efd367212627bdfb629286fd5473f4b4fa3713f193057372021-09-20 9:02:323 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430xf6d6a2aed3fc759a0ab6612d076d56e78f46225c0.026202014206037015 MATIC
0xa199a6709eedf380920e19c45385880b188e13226704d7a7d730adf09ce9074d193056652021-09-20 8:55:563 hrs 7 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430xe487a866b0f6b1b663b4566ff7e998af6116fba90.967406452571032959 MATIC
0x5c520567062e96c20a7ace8d0d7f5bf44a366b967f3793cdbecf59d70f9299f7193054582021-09-20 8:48:033 hrs 15 mins ago 0xf970fa9e6797d0ebfdee8e764fc5f3123dc6befd 0xd39ff512c3e55373a30e94bb1398651420ae1d43383.626427669914753653 MATIC
0x0215ffd71d30e3485d689fbced5a768693430c6c7748ed91283d121bcaf61225193051312021-09-20 8:36:493 hrs 26 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x6f74e3bb85731317a6bdc1b19b3f1a98d1e1add40.014859954535161401 MATIC
0xdac5543e05c16b274d5ee85ba5021f84292e2c20e5915c4b0f500fd0aa6e4924193039652021-09-20 7:41:214 hrs 22 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430xc72924e93e79a2c8e4826aa8535585fbf59ff9520.540893466004095999 MATIC
0x6a11afcb6248d4012aa5b5c70ee5528322f30ac199298d7d681cbd80585cdff5193036372021-09-20 7:30:054 hrs 33 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x50f90ff711c5522b4e0c166c494239d37075a7002.813786797225989037 MATIC
0x9cfc83abc95ea37e15ab3263859c7c5cc5ff22d780b4de6765f957d08f181172193035462021-09-20 7:26:554 hrs 36 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x01eae77e769cb820e15d33a5cda7636c1b7f9c5e1.580433289494575634 MATIC
0x9a94dcca22e5f5142d7a4a6165928c0a2b48caa2e42901874fe36e71b55be8ca193028302021-09-20 6:58:025 hrs 5 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x5a0ad1aaf916797e33a9e432912f4627a86e67b80.174649138239480457 MATIC
0xf1133424612eed0fb4e889b83e055ad210b6f481237b2769cfa94b56899063a9193013562021-09-20 6:05:055 hrs 58 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x1fd6c5c81c44b19561440698c9976089f77b37170.000000504738389287 MATIC
0x5f6bb64966a54c459efa06792e087465fee474b29dc0ae9f5ab92469f0606acc193005092021-09-20 5:31:436 hrs 31 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x2c40511d4b02bbf2a39d464bae942b653e6f023d0.004318425312813502 MATIC
0x4b6c3efd0216c041a91ca9ca6d4326317c039c0b0ea19e318ddcd1627d5dc388192995792021-09-20 4:57:327 hrs 5 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430xc7f3a66f240b174cd4687854bc5cb90b592a58d20.161594274285513856 MATIC
0x50b0337eddcfa3e68dd4ac457e82d48b3b123124c8b8ad82a6461782bc66f82b192985852021-09-20 4:23:237 hrs 40 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430xbad84ec71ee838d3826f69053315aa229ac1a1640.008065558077931785 MATIC
0xce48d72c1ebe06bb0b1cca217c22ae6aee8794944669c33ce103bee518497a03192969812021-09-20 3:25:328 hrs 37 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430xc4417ee91ec12a94cf8cbe5e8f19e7db84b8df4c0.000032637291355281 MATIC
0xc3839d0120b0ff580eefdfbd3439c32b1fffc722663968c7c2580ebe83174f6b192969002021-09-20 3:22:468 hrs 40 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x2d782b4e65db9f5545774801494b48047897d0600.002160528649008663 MATIC
0xba6f6e844c3ed90f11900ac73d05e220e14156cd9b4a1dbbaf57ff0b9f290e89192960592021-09-20 2:49:269 hrs 13 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x38e945c9d4ef8c6c4944dcf6fb461f6c090fc1450.187439431900672162 MATIC
0x141d8287f316a1bc5aaef83c3e625642eed921c0ab05ca4806a05f046715bb01192949322021-09-20 2:10:449 hrs 52 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x52ab2beab654af652a2251282a95dcc3f3c3beeb1.185675732692626166 MATIC
0x7e42127d6f465c731a945ccb65e3854100891f4cd900cf712f0bd70618beeba8192946182021-09-20 1:59:5610 hrs 3 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430xaf23ac6b194210c8ebbcb881da8ce8b782dac9170.384753537222568267 MATIC
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Proxy

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at polygonscan.com on 2021-06-11
*/

pragma solidity 0.6.12;

/// SPDX-License-Identifier: MIT


/**
 * @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);
            }
        }
    }
}

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract Upgradeable is Ownable {
    address public implementation;
}

contract Proxy is Upgradeable {

    constructor(address _impl) public payable {
        replaceImplementation(_impl);
    }

    fallback() external payable {
        _fallback();
    }
    receive() external payable {
        _fallback();
    }
    function _fallback() internal {
        if (gasleft() <= 2300) {
            return;
        }

        address impl = implementation;

        assembly {
            calldatacopy(0, 0, calldatasize())
            let result := delegatecall(gas(), impl, 0, calldatasize(), 0, 0)

            returndatacopy(0, 0, returndatasize())

            switch result
            case 0 { revert(0, returndatasize()) }
            default { return(0, returndatasize()) }
        }
    }

    function replaceImplementation(address impl) public onlyOwner {
        require(Address.isContract(impl), "not a contract");
        implementation = impl;
    }
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"_impl","type":"address"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"impl","type":"address"}],"name":"replaceImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040516106043803806106048339818101604052602081101561002657600080fd5b5051600061003261008b565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506100858161008f565b50610176565b3390565b61009761008b565b6000546001600160a01b039081169116146100f9576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61010c8161017060201b6104191760201c565b61014e576040805162461bcd60e51b815260206004820152600e60248201526d1b9bdd08184818dbdb9d1c9858dd60921b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b3b151590565b61047f806101856000396000f3fe60806040526004361061004e5760003560e01c80635c60da1b14610065578063715018a6146100965780638da5cb5b146100ab578063d69efdc5146100c0578063f2fde38b146100f35761005d565b3661005d5761005b610126565b005b61005b610126565b34801561007157600080fd5b5061007a610166565b604080516001600160a01b039092168252519081900360200190f35b3480156100a257600080fd5b5061005b610175565b3480156100b757600080fd5b5061007a610229565b3480156100cc57600080fd5b5061005b600480360360208110156100e357600080fd5b50356001600160a01b0316610238565b3480156100ff57600080fd5b5061005b6004803603602081101561011657600080fd5b50356001600160a01b031661030f565b6108fc5a1161013457610164565b6001546001600160a01b03163660008037600080366000845af43d6000803e80801561015f573d6000f35b3d6000fd5b565b6001546001600160a01b031681565b61017d61041f565b6000546001600160a01b039081169116146101df576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b61024061041f565b6000546001600160a01b039081169116146102a2576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6102ab81610419565b6102ed576040805162461bcd60e51b815260206004820152600e60248201526d1b9bdd08184818dbdb9d1c9858dd60921b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61031761041f565b6000546001600160a01b03908116911614610379576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166103be5760405162461bcd60e51b81526004018080602001828103825260268152602001806104246026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3b151590565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a26469706673582212202d43913dad5426865223558705c1d488ca347a52196936a23db0767ff9addc5b64736f6c634300060c00330000000000000000000000005c9a4ae6a66d95cd2f3ea3c1898635b7fdcf0f8f

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

0000000000000000000000005c9a4ae6a66d95cd2f3ea3c1898635b7fdcf0f8f

-----Decoded View---------------
Arg [0] : _impl (address): 0x5c9a4ae6a66d95cd2f3ea3c1898635b7fdcf0f8f

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000005c9a4ae6a66d95cd2f3ea3c1898635b7fdcf0f8f


Deployed ByteCode Sourcemap

10187:931:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10425:11;:9;:11::i;:::-;10187:931;;10362:11;:9;:11::i;10150:29::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;10150:29:0;;;;;;;;;;;;;;9557:148;;;;;;;;;;;;;:::i;8915:79::-;;;;;;;;;;;;;:::i;10951:164::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10951:164:0;-1:-1:-1;;;;;10951:164:0;;:::i;9860:244::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9860:244:0;-1:-1:-1;;;;;9860:244:0;;:::i;10450:493::-;10508:4;10495:9;:17;10491:56;;10529:7;;10491:56;10574:14;;-1:-1:-1;;;;;10574:14:0;10644;10559:12;;10625:34;10735:1;10732;10716:14;10713:1;10707:4;10700:5;10687:50;10774:16;10771:1;10768;10753:38;10814:6;10834:38;;;;10906:16;10903:1;10896:27;10834:38;10853:16;10850:1;10843:27;10610:326;:::o;10150:29::-;;;-1:-1:-1;;;;;10150:29:0;;:::o;9557:148::-;9137:12;:10;:12::i;:::-;9127:6;;-1:-1:-1;;;;;9127:6:0;;;:22;;;9119:67;;;;;-1:-1:-1;;;9119:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9664:1:::1;9648:6:::0;;9627:40:::1;::::0;-1:-1:-1;;;;;9648:6:0;;::::1;::::0;9627:40:::1;::::0;9664:1;;9627:40:::1;9695:1;9678:19:::0;;-1:-1:-1;;;;;;9678:19:0::1;::::0;;9557:148::o;8915:79::-;8953:7;8980:6;-1:-1:-1;;;;;8980:6:0;8915:79;:::o;10951:164::-;9137:12;:10;:12::i;:::-;9127:6;;-1:-1:-1;;;;;9127:6:0;;;:22;;;9119:67;;;;;-1:-1:-1;;;9119:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11032:24:::1;11051:4;11032:18;:24::i;:::-;11024:51;;;::::0;;-1:-1:-1;;;11024:51:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;11024:51:0;;;;;;;;;;;;;::::1;;11086:14;:21:::0;;-1:-1:-1;;;;;;11086:21:0::1;-1:-1:-1::0;;;;;11086:21:0;;;::::1;::::0;;;::::1;::::0;;10951:164::o;9860:244::-;9137:12;:10;:12::i;:::-;9127:6;;-1:-1:-1;;;;;9127:6:0;;;:22;;;9119:67;;;;;-1:-1:-1;;;9119:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9949:22:0;::::1;9941:73;;;;-1:-1:-1::0;;;9941:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10051:6;::::0;;10030:38:::1;::::0;-1:-1:-1;;;;;10030:38:0;;::::1;::::0;10051:6;::::1;::::0;10030:38:::1;::::0;::::1;10079:6;:17:::0;;-1:-1:-1;;;;;;10079:17:0::1;-1:-1:-1::0;;;;;10079:17:0;;;::::1;::::0;;;::::1;::::0;;9860:244::o;746:422::-;1113:20;1152:8;;;746:422::o;7544:106::-;7632:10;7544:106;:::o

Swarm Source

ipfs://2d43913dad5426865223558705c1d488ca347a52196936a23db0767ff9addc5b
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.