Contract 0xd39ff512c3e55373a30e94bb1398651420ae1d43 2

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x30a00f3a3d84e0256a5212c454d0219354648fb4e48e0dc01b0ab8d7aaef630dWithdraw210216722021-11-05 18:46:5330 days 17 hrs ago0x693616d95a0a6642d01b0a36c7782b5d3031d413 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00762569
0x201b7cf1cdc233db6c291344f573518f1ccf6df458b2866adfc6ccc124507138Withdraw210215002021-11-05 18:40:5730 days 17 hrs ago0xc84c19bbf07d0cb7cc430fc3c51173c4acd5dd9d IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00188859
0x392a8ed38dde1f91c759ec65c32c6def967112e6d50e2ac4acfddde91fab9ca9Withdraw210214452021-11-05 18:39:0730 days 17 hrs ago0x986dd0602f91a0aa40069eb9dd46d3c95ca2dd02 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00339204
0xa546ec13ff2b6a18bde0b019985d949abdb180a4ff49bc4d514f6126739f7c09Withdraw210211772021-11-05 18:29:5130 days 18 hrs ago0xa5f94ac4202315d2186afc725ff380f283a06080 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.010455318
0x501efc306ca95fbdc77da40886da38ae88bf6475a45ce7aac4d76e0c8ec16ba8Withdraw210208952021-11-05 18:20:1130 days 18 hrs ago0x4f50d47d20380172746527bbeaa274940c38efac IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.0043857
0xaea0ea064ee32590cb3720750356243dcb54b8eaf38a1d4d1fc13f39fc568bafClaim Reward210208842021-11-05 18:19:4930 days 18 hrs ago0x4f50d47d20380172746527bbeaa274940c38efac IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00371724
0xf15dd9f9d1be0fb78fa295a55a4301a1c32a8acb78efc53cff29d05251bb00daWithdraw210208032021-11-05 18:17:0330 days 18 hrs ago0xa6918e4970ed8e33fbede5bd9bda8d70e967eb6d IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00240123
0xdd6ca969f1f5f8dd5ad2583c6e289793b40c12b2b3baf0d4c55ad317d05b661aWithdraw210200702021-11-05 17:49:4130 days 18 hrs ago0x5335714fbc8a989182eb4e8f4d9cce47e497cc56 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.0067278
0x716c9fcd0bb40b82fa4383c3dfe0aa3c4fd194879c495bb3801842cd0463f47aClaim Reward210196242021-11-05 17:34:2130 days 19 hrs ago0x3bc00bdb598abf2a2ba729e6e52963ec8d465e57 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00227751
0x7c7426330ddd30271399b01e5f50fd40136851c16eef34d0a72ec1bebd95bcf7Withdraw210194422021-11-05 17:25:4730 days 19 hrs ago0x693616d95a0a6642d01b0a36c7782b5d3031d413 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00717712
0x3cc60000e958577b5b553b3229f5431f56541811bc3a628cb7e684b1f57f9806Withdraw210194362021-11-05 17:25:1130 days 19 hrs ago0x693616d95a0a6642d01b0a36c7782b5d3031d413 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.006952835
0xb2d89161d844428772863104817cfe1dfa9c1ed46f90392e0ab03fb75e72a636Withdraw210194162021-11-05 17:23:1130 days 19 hrs ago0x693616d95a0a6642d01b0a36c7782b5d3031d413 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.0067278
0xac2c987e0227b55987d47ac303d071896ea8035b972bd78ad0ffa8ddbb24d847Claim Reward210188062021-11-05 17:00:3130 days 19 hrs ago0x40d53268048f0d87f1482d56093b1991533cf778 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00307299
0x3bb49efdd6ed68385fb88fe32d66c1e81daf9bb9b025da8ba9d8a648f1a0107bWithdraw210187932021-11-05 17:00:0530 days 19 hrs ago0x40d53268048f0d87f1482d56093b1991533cf778 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00374109
0xf99175190fd4ad4067169ee97ef3e5d6fd7ecfb38cfaf31be089133426e1e9d6Withdraw210179862021-11-05 16:27:4430 days 20 hrs ago0x65494f937f12fe6b872ad5eef54bcae55228560d IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.0146215
0x78b0421dc48620d541394cd102ab4ac62b922894e841abc4d6b2b75eddb1b578Withdraw210179762021-11-05 16:27:2030 days 20 hrs ago0x65494f937f12fe6b872ad5eef54bcae55228560d IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.0146215
0x32b396f2559439be5b9129aae9e30043b88059cbbc26c10683a0285f4a731c29Withdraw210178802021-11-05 16:22:4630 days 20 hrs ago0x65494f937f12fe6b872ad5eef54bcae55228560d IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.0043857
0x351f4df7580b42e1fff205d369bbfcf9b7b0238680a66ffd7ba97b7aee80781eWithdraw210176952021-11-05 16:15:3430 days 20 hrs ago0x693616d95a0a6642d01b0a36c7782b5d3031d413 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00278862
0x59be0ca575cb41afcce60292756a614b09338a0c8c6a7a1b02479c6ef56cf752Claim Reward210170502021-11-05 15:51:1630 days 20 hrs ago0x85c9b8d85a67ef9859660cb1b2f5ae4bfe564e69 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00371724
0x1b8fd9113d992f8e46910e36e2000d9423d48273969fe4cca987ee270c4953c2Compound Reward210170252021-11-05 15:50:2530 days 20 hrs ago0x85c9b8d85a67ef9859660cb1b2f5ae4bfe564e69 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.004250544
0x1d976442fa01e214ef3b32f26eabe456f4344a3a033041fbb1cc851fa0671be4Compound Reward210169972021-11-05 15:49:2530 days 20 hrs ago0x85c9b8d85a67ef9859660cb1b2f5ae4bfe564e69 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00375048
0xb11578525089f349af1de55dd4b3ea3f27fb023b44f8e16df525d9e6ebbfcfcfWithdraw210166472021-11-05 15:37:2530 days 20 hrs ago0x3bc00bdb598abf2a2ba729e6e52963ec8d465e57 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00580851
0x421a7b4120eba4ce41fb730e4895e46ca23c451555dbd0f086170e7429c5c560Withdraw210166292021-11-05 15:36:4530 days 20 hrs ago0xa5f94ac4202315d2186afc725ff380f283a06080 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00580851
0x2068b6b33378484b45b8202f9d910494674a6baa2a9f8a39ac926ca17e3f6e8aWithdraw210166002021-11-05 15:35:4730 days 20 hrs ago0xa5f94ac4202315d2186afc725ff380f283a06080 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00580851
0x738da39015c628bd925237ffcf89a9244340a16366b0155d2e633cfddfeaebccWithdraw210164912021-11-05 15:32:0130 days 21 hrs ago0xa5f94ac4202315d2186afc725ff380f283a06080 IN  0xd39ff512c3e55373a30e94bb1398651420ae1d430 MATIC0.00580962
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x850301938681082447c971ad3dd5e51e71d9a7914d2ad81cd83a2aa99b84989b210094202021-11-05 11:11:1631 days 1 hr ago 0xd39ff512c3e55373a30e94bb1398651420ae1d43bZx PrivKey Exploiter4,224.374448970649490014 MATIC
0x7ef93a6ae2934fb0a7be98fa39024bac7891dc6979e991c4548258e41f32564c210089112021-11-05 10:49:2531 days 1 hr ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430xdb34c2372fac33fddae621564f66e0a4c48d40fc0.070858544658178241 MATIC
0x8682e87415b847e859deb92884db5e6a6194d02038cbcbc0e235deeac4367384210074332021-11-05 9:52:2731 days 2 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430xfa6e0944b096607e0d0045668e1ad9873fb08cc011.031367380786494256 MATIC
0x95fe396d0c71444643817adae09b011bf7ea2a2b7f41dfe10fc0822daff664d8210055502021-11-05 8:46:2931 days 3 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x0158ba4c9651e35279769292e43ba8429bd21bbf3.006835055980601745 MATIC
0xd5772998679cdf16b0c1e020231267eeb94e4f12bdac280f48845acb0c6de56e210042612021-11-05 7:58:2931 days 4 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x837aab83cb706a35ab4c3624e6723aa7632b3a2a0.000141789320477254 MATIC
0x0417869ecc4235b89fc17a04980a687abc490be4891e447558c9a3c3f55a4f73210021162021-11-05 6:42:3731 days 5 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x19e5eff2baa1c14ce4fbda99a0e8d79c8c3c8fc52.523940486134693685 MATIC
0x7e66e2888b666a6975c571c37972723ccc1ce525890fec8b90288b1025979b74209930182021-11-05 1:25:3231 days 11 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x353807396aa42b7fea5a98d1da7cebcdd6e0406a3.750191551350748745 MATIC
0x8f56d9bd16e05a16e16d31db28981c4cb10943ac27d1cd3a654ff6480dd5238d209740332021-11-04 13:56:5231 days 22 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x4ada293cb16dbce678ea5e8b3934603c7e8105990.000160663353247542 MATIC
0x16772980e20129adf34723c087a4a3459daacea55d08241afff7fc991ee3322d209711082021-11-04 12:13:3332 days 21 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x65ae1a8fa8e2baf1adc115644ce6698d93d397ff0.000125142653604645 MATIC
0xac098d34923696a5299af0ca5ed8335d4fe5bcb0a9823d047364c4891fb331cb209699742021-11-04 11:34:1632 days 1 hr ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x6fa33157d37e3961a8613bf3b4d2ee7b674cf66e24.984030729182970467 MATIC
0x50ddc36d018f1b34214ec1310c44736c8e0d1327ac2f5aaf8c881b2f6d4fbf54209638322021-11-04 7:43:3732 days 4 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x1f27f636814ca332048c8461a0273ffbcd630bd90.046727574735953962 MATIC
0x8600bcfbbcdd9e792956778600a86199fc60329620f3800e515c2e1ac917983f209625752021-11-04 6:54:1732 days 5 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x1f27f636814ca332048c8461a0273ffbcd630bd90.023629398101944733 MATIC
0x8fb1bd85f7ad9c255c60072da0b59f284f59124cf2fe3ac049a15bbb26418ecb209589772021-11-04 4:33:1332 days 8 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x6d7ce3fab45babb1ab87823f1c273d53b3d8bdb80.000001087040069987 MATIC
0xe9e5501e120bb6d25c8dbf8ac5aa434465b345cb412219eac3d402711c9175c2209503422021-11-03 23:09:3032 days 13 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x7f6c3d23fe55f63205331640eb14a8171698097c31.3214948135691 MATIC
0x8df41a5adfff21f6ba867d8f98b7e2b66842aa46e20a2d74a7ad71616e8df57c209488022021-11-03 22:10:1632 days 14 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430xf4d8ef8c544b56ce8a582f07af759115ec63014d6.451788927445864586 MATIC
0xbf7986dbcf4310e06789a3b3925f169b5fe569c39d3e7bbc0af9690fc13e2e00209464672021-11-03 20:44:5032 days 15 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x307f1246d7816c57b954b678e425a81f761b2edc0.063352332888645146 MATIC
0x11f8d4b5e69839387f24ca9f87cf7c59b7d2bf782b53d3440386c5428986eeb9209439822021-11-03 19:04:1432 days 17 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430xc0bd4d7b0fb36ad9fae0b0b00ac582da94d82a1115.536441248953073665 MATIC
0xe81728ae3c210a23eb8ada938cbac872c80891c3309f0adf35a2dbfe2fb5b7a5209419962021-11-03 17:47:0732 days 18 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x0c5266cafe7f0e14ec4cb5fcdc5f984a2fc7c8520.607374896902969597 MATIC
0xe81728ae3c210a23eb8ada938cbac872c80891c3309f0adf35a2dbfe2fb5b7a5209419962021-11-03 17:47:0732 days 18 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x0c5266cafe7f0e14ec4cb5fcdc5f984a2fc7c8520.000000431387302703 MATIC
0x1760bfbdf3a7067ed62801f127cf028395079a4432465cc21650144cfb40334b209413612021-11-03 17:22:0732 days 19 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x668464fffdbb44c00fedb1d5924592e75d8dff300.014731063167648611 MATIC
0xb2396337be48a02ec9a582ac32ada3a972a057906600aecaed5a4dea1d671fed209390172021-11-03 15:38:3132 days 20 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430xdc7c7dc2d07433497c9c874c1ef14f55271b987f2.043100209692710518 MATIC
0xf926bc9214910b198c4a657c48d689d1d21ccc198a7bfabe4e173e67368e3b97209385852021-11-03 15:23:3932 days 21 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430xf5fe6b803e3c750449408b5d856bdbf46cb947624.78983230088672018 MATIC
0x35d080b765e9c514d7bae7b79aec0b7cdb6e4a295ba9fb1928ffa8ca30d573e9209364172021-11-03 13:41:3832 days 22 hrs ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x7cc4480fddfd09d7aa213fa2058eedf271df2d965.00748507454941 MATIC
0x3de0c530d6aa003e19d6df768726d2339c971245db32a98ed87e0be2e86d4595209337752021-11-03 11:50:4433 days 44 mins ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430xcf7c03cf8babeb0a81992b49e326788906f026e0117.218310719735100271 MATIC
0xd4142847fbcb5759273285da547f8417c871909f5f834f0182eee98d7e989a90209322242021-11-03 10:51:4033 days 1 hr ago 0xd39ff512c3e55373a30e94bb1398651420ae1d430x11f54ba15ff1cf59029a6952d70c0d76d6124df82.757351709941581066 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 Security Audit

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.