Contract 0xAcEE7Bd17E7B04F7e48b29c0C91aF67758394f0f 4

DeFi  
 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xefbc92092be8bff8e8231c9cc0ef8b4a65ce7dd409dc690f2941f325a432bb62Deposit And Inve...364720152022-12-05 22:33:401 hr 37 mins ago0xd56c4b4f242c36b3bb88e4589294625058f38df3 IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.016914770283 42.680008587
0x57bb37bfa5e4c2837dc95338b31a6625be1d1a3330594c583edecae3a2b30d04Deposit And Inve...364525842022-12-05 11:14:0512 hrs 57 mins ago0xad94490585b60ef1c3552932f74414368653fafa IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.016184942136 42.680008587
0x4b91294213b079edc58ecbffd68cc3242a3fa5269e5ae96791b8915efe1c67a5Deposit And Inve...364385432022-12-05 3:00:0521 hrs 11 mins ago0x24c98ff3372f82675f08e16dcee451c5e57bdaee IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.010570743 41
0x76766651b319e788a9b21e6d00855bd04fbc66ff31b6f2243ff7e0a8d18bd746Deposit And Inve...364383452022-12-05 2:51:0921 hrs 20 mins ago0x4c51a4b725b39c77df36f5f7957bc7b3869c8679 IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.016876194528 42.582672736
0x10b38a266ddee7c9bcdb7d0e198d65d98cea30a1d9ba906b7ee1da229fb571f5Deposit And Inve...364284522022-12-04 20:45:501 day 3 hrs ago0x28fb86d294b714368d47d6b371ed78d4399c4341 IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.01237665648
0xf33dc159114ce21547bce809f34707df78121b741aa3d0b50171a1235d9ebb80Deposit And Inve...364261842022-12-04 19:21:301 day 4 hrs ago0x747276019e3340104c96397bf6537ad01f93d7df IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.011003887853 42.680008587
0x3a39c8093f20b7f7f4f1a736dbde847b6f378b8bff51d15a3b0737adc7d14f44Deposit And Inve...363935752022-12-03 23:58:202 days 13 mins ago0x24686cdc760b9c2ea8ccf5bbe8b22f7d04e627e4 IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.010288101262 39.901880127
0x0a30f8d64f0e1a8647fccf6b6e61c0405104aa95d80f2a4fc8459fcb56517219Deposit And Inve...363878912022-12-03 20:34:172 days 3 hrs ago0x1cfb7e8e7b96756791ca9031b99000eacc770ee3 IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.011004400014 42.680008587
0x0efd5d74b7af463201319677cab1c9bf91e44e8af3068a275f1022dfa4120285Deposit And Inve...363640382022-12-03 6:11:482 days 17 hrs ago0xaa79498766a787bd1dea8ce53de7603f62dcd2f6 IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.011004400014 42.680008587
0x9ebc0aee56e7beb3da3047f88bf645ed0bb71c8c3519d3dc2a9e78df12f444cbDeposit And Inve...363639342022-12-03 6:07:582 days 18 hrs ago0x2f23a32cc31c3b5bba39c567c77681373c3847a9 IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.011004400014 42.680008587
0x2b8366fde3df72ed0b414d5013c20c9ce6b38845b4b12ae009ba8ec16c326883Deposit And Inve...363517492022-12-02 22:53:323 days 1 hr ago0xc0aef1759a279ced58223f34e0fe6426610b1bee IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.007735050034 30.000000132
0x3a0bb7954e3d4e44e1fd3c3a6b47b5e55c670bc774e6c41b5b6a1f33aae84613Get All Rewards363509762022-12-02 22:26:583 days 1 hr ago0x550dd35691e684b2ad82af803b02cd481ba52c5a IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.00939502225 42.680008587
0xe67a6d35526bd2a48241e5e30f4713f13b9e0a59f89e2423b5c71e4d84a0e414Withdraw363508492022-12-02 22:22:363 days 1 hr ago0x550dd35691e684b2ad82af803b02cd481ba52c5a IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.010789178405 34.650000019
0x2799082d68cbde4ffa6c18ebcdcc2c1ac78ad928b912a910f0afc8665b39540cDeposit And Inve...363494722022-12-02 21:32:553 days 2 hrs ago0xe2e3fce1b7712c0faba08e72990b5094c666ef5c IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.011362705206 34.650000021
0xfa503835d05e78cc14fafcd3f8338a8d1c155977d337e5c28258ab949df0675fDeposit And Inve...363360542022-12-02 13:23:063 days 10 hrs ago0x1cfb7e8e7b96756791ca9031b99000eacc770ee3 IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.03867525 150
0xe950d86fde0d1ca4571d3c54e1ff34ff9ca567c136d15b5d518c7e54b1a75c6cDeposit And Inve...363274082022-12-02 8:10:533 days 16 hrs ago0xdb19c47e87ed3ff37425a99b9dee1f4920f755b9 IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.043252762967 114.054771715
0xf607c5eb4481c416512dfb0db4aec5ae2102026c440d5fe551e9e376c79b301fDeposit And Inve...363024042022-12-01 17:34:364 days 6 hrs ago0xece1477d3c350a42486d2dc802f6243e99409a41 IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.007736039276 30.003836857
0x4cc945b1acd2a63e28c806895a62d9f83fdadb657a0ff646618992ca9275de0dDeposit And Inve...362836672022-12-01 6:28:204 days 17 hrs ago0x37a52755e89cb30e6aaf4ab08c95ae7419089f50 IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.011889480175 30.000000442
0xb172f55ed790f1e90f4abc0eb37c3a0a603842e9dfa7ab4397f027c50daacf8fDeposit And Inve...362693192022-11-30 21:58:175 days 2 hrs ago0x1cfb7e8e7b96756791ca9031b99000eacc770ee3 IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.011004400014 42.680008587
0xc9deb5a21357b45b76311a8ee734f317eab6aef7a2dc6f61a237a20d5af59245Exit362659902022-11-30 20:02:305 days 4 hrs ago0xc070ba49032d205c9300f0ad8cb98c3d21e2ec99 IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.016068770164 60.933026044
0x3c9ee8fb2f4b9de007aa664ad5d17fddf5510010dafe25bd092dfbd014e3fddeDeposit And Inve...362659202022-11-30 20:00:065 days 4 hrs ago0x24ee7d8e3bbce1aa4459a7004a30162fbfab9abe IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.018504985899 71.773991844
0x0218fb616d9598404d31e58490665cf270030e5c6c938df5893378f57539efbbDeposit And Inve...362595682022-11-30 16:17:135 days 7 hrs ago0x9d8b7a637859668a903797d9f02de2aa05e5b0a0 IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.030619213845 80.740910075
0x65c586d52acc8300946f4aa65fccc49d449db0302b98610e814da2073f812362Deposit And Inve...362417942022-11-30 5:51:015 days 18 hrs ago0xc2dc013edd48afdcd7b872d51d55ccd1a7717e28 IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.011004912174 42.680008587
0x6abc647f0b04ef1fc46d8c85cc7e77e8bd621d2096290f9e10902361d23818e0Get All Rewards362335482022-11-30 0:46:225 days 23 hrs ago0xece1477d3c350a42486d2dc802f6243e99409a41 IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.061362428281 275.25794669
0x11e9e27b11e7f4534c502c38761e23dcc02c445e201edd3c008834b368c44dacDeposit And Inve...362331652022-11-30 0:33:125 days 23 hrs ago0x6371024c5ffdaefef716adce3cac52ac6181cd9d IN  Tetu: dxTETU Diamond Vault Token0 MATIC0.011616588517 45.052253925
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TetuProxyControlled

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 6 : TetuProxyControlled.sol
// SPDX-License-Identifier: ISC
/**
* By using this software, you understand, acknowledge and accept that Tetu
* and/or the underlying software are provided “as is” and “as available”
* basis and without warranties or representations of any kind either expressed
* or implied. Any use of this open source software released under the ISC
* Internet Systems Consortium license is done at your own risk to the fullest
* extent permissible pursuant to applicable law any and all liability as well
* as all warranties, including any fitness for a particular purpose with respect
* to Tetu and/or the underlying software and the use thereof are disclaimed.
*/

pragma solidity 0.8.4;

import "../base/interface/IControllable.sol";
import "./UpgradeableProxy.sol";
import "./interface/ITetuProxy.sol";

/// @title EIP1967 Upgradable proxy implementation.
/// @dev Only Controller has access and should implement time-lock for upgrade action.
/// @author belbix
contract TetuProxyControlled is UpgradeableProxy, ITetuProxy {

  constructor(address _logic) UpgradeableProxy(_logic) {
  }

  /// @notice Upgrade contract logic
  /// @dev Upgrade allowed only for Controller and should be done only after time-lock period
  /// @param _newImplementation Implementation address
  function upgrade(address _newImplementation) external override {
    require(IControllable(address(this)).isController(msg.sender), "forbidden");
    _upgradeTo(_newImplementation);

    // the new contract must have the same ABI and you must have the power to change it again
    require(IControllable(address(this)).isController(msg.sender), "wrong impl");
  }

  /// @notice Return current logic implementation
  function implementation() external override view returns (address) {
    return _implementation();
  }
}

File 2 of 6 : IControllable.sol
// SPDX-License-Identifier: ISC
/**
* By using this software, you understand, acknowledge and accept that Tetu
* and/or the underlying software are provided “as is” and “as available”
* basis and without warranties or representations of any kind either expressed
* or implied. Any use of this open source software released under the ISC
* Internet Systems Consortium license is done at your own risk to the fullest
* extent permissible pursuant to applicable law any and all liability as well
* as all warranties, including any fitness for a particular purpose with respect
* to Tetu and/or the underlying software and the use thereof are disclaimed.
*/

pragma solidity 0.8.4;

interface IControllable {

  function isController(address _contract) external view returns (bool);

  function isGovernance(address _contract) external view returns (bool);
}

File 3 of 6 : UpgradeableProxy.sol
// SPDX-License-Identifier: ISC
/**
* By using this software, you understand, acknowledge and accept that Tetu
* and/or the underlying software are provided “as is” and “as available”
* basis and without warranties or representations of any kind either expressed
* or implied. Any use of this open source software released under the ISC
* Internet Systems Consortium license is done at your own risk to the fullest
* extent permissible pursuant to applicable law any and all liability as well
* as all warranties, including any fitness for a particular purpose with respect
* to Tetu and/or the underlying software and the use thereof are disclaimed.
*/

pragma solidity 0.8.4;

import "@openzeppelin/contracts/proxy/Proxy.sol";
import "@openzeppelin/contracts/utils/Address.sol";


/// @title OpenZeppelin https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v3.4/contracts/proxy/UpgradeableProxy.sol
/// @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an
///      implementation address that can be changed. This address is stored in storage in the location specified by
///      https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the
///      implementation behind the proxy.
///      Upgradeability is only provided internally through {_upgradeTo}. For an externally upgradeable proxy see
///      {TransparentUpgradeableProxy}.
abstract contract UpgradeableProxy is Proxy {

  /// @dev Initializes the upgradeable proxy with an initial implementation specified by `_logic`.
  ///      If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded
  ///      function call, and allows initializating the storage of the proxy like a Solidity constructor.
  constructor(address _logic) payable {
    assert(_IMPLEMENTATION_SLOT == bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1));
    _setImplementation(_logic);
  }

  /// @dev Emitted when the implementation is upgraded.
  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 private constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

  /// @dev Returns the current implementation address.
  function _implementation() internal view virtual override returns (address impl) {
    bytes32 slot = _IMPLEMENTATION_SLOT;
    // solhint-disable-next-line no-inline-assembly
    assembly {
      impl := sload(slot)
    }
  }

  /// @dev Upgrades the proxy to a new implementation.
  ///      Emits an {Upgraded} event.
  function _upgradeTo(address newImplementation) internal virtual {
    _setImplementation(newImplementation);
    emit Upgraded(newImplementation);
  }

  /// @dev Stores a new address in the EIP1967 implementation slot.
  function _setImplementation(address newImplementation) private {
    require(Address.isContract(newImplementation), "UpgradeableProxy: new implementation is not a contract");

    bytes32 slot = _IMPLEMENTATION_SLOT;

    // solhint-disable-next-line no-inline-assembly
    assembly {
      sstore(slot, newImplementation)
    }
  }
}

File 4 of 6 : ITetuProxy.sol
// SPDX-License-Identifier: ISC
/**
* By using this software, you understand, acknowledge and accept that Tetu
* and/or the underlying software are provided “as is” and “as available”
* basis and without warranties or representations of any kind either expressed
* or implied. Any use of this open source software released under the ISC
* Internet Systems Consortium license is done at your own risk to the fullest
* extent permissible pursuant to applicable law any and all liability as well
* as all warranties, including any fitness for a particular purpose with respect
* to Tetu and/or the underlying software and the use thereof are disclaimed.
*/

pragma solidity 0.8.4;

interface ITetuProxy {

  function upgrade(address _newImplementation) external;

  function implementation() external returns (address);

}

File 5 of 6 : Proxy.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/**
 * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM
 * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to
 * be specified by overriding the virtual {_implementation} function.
 *
 * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a
 * different contract through the {_delegate} function.
 *
 * The success and return data of the delegated call will be returned back to the caller of the proxy.
 */
abstract contract Proxy {
    /**
     * @dev Delegates the current call to `implementation`.
     *
     * This function does not return to its internall call site, it will return directly to the external caller.
     */
    function _delegate(address implementation) internal virtual {
        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 This is a virtual function that should be overriden so it returns the address to which the fallback function
     * and {_fallback} should delegate.
     */
    function _implementation() internal view virtual returns (address);

    /**
     * @dev Delegates the current call to the address returned by `_implementation()`.
     *
     * This function does not return to its internall call site, it will return directly to the external caller.
     */
    function _fallback() internal virtual {
        _beforeFallback();
        _delegate(_implementation());
    }

    /**
     * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other
     * function in the contract matches the call data.
     */
    fallback() external payable virtual {
        _fallback();
    }

    /**
     * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data
     * is empty.
     */
    receive() external payable virtual {
        _fallback();
    }

    /**
     * @dev Hook that is called before falling back to the implementation. Can happen as part of a manual `_fallback`
     * call, or as part of the Solidity `fallback` or `receive` functions.
     *
     * If overriden should call `super._beforeFallback()`.
     */
    function _beforeFallback() internal virtual {}
}

File 6 of 6 : Address.sol
// SPDX-License-Identifier: MIT

pragma solidity ^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;
        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");

        (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");

        (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");

        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

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

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

        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the
     * revert reason using the provided one.
     *
     * _Available since v4.3._
     */
    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal 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

                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_logic","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newImplementation","type":"address"}],"name":"upgrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b5060405161058938038061058983398101604081905261002f91610136565b8061005b60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd610164565b6000805160206105698339815191521461008557634e487b7160e01b600052600160045260246000fd5b61008e81610095565b5050610187565b6100a88161013060201b6102541760201c565b61011e5760405162461bcd60e51b815260206004820152603660248201527f5570677261646561626c6550726f78793a206e657720696d706c656d656e746160448201527f74696f6e206973206e6f74206120636f6e747261637400000000000000000000606482015260840160405180910390fd5b60008051602061056983398151915255565b3b151590565b600060208284031215610147578081fd5b81516001600160a01b038116811461015d578182fd5b9392505050565b60008282101561018257634e487b7160e01b81526011600452602481fd5b500390565b6103d3806101966000396000f3fe60806040526004361061002d5760003560e01c80630900f010146100445780635c60da1b146100645761003c565b3661003c5761003a610095565b005b61003a610095565b34801561005057600080fd5b5061003a61005f36600461034f565b6100c7565b34801561007057600080fd5b50610079610225565b6040516001600160a01b03909116815260200160405180910390f35b6100c56100c07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b61025a565b565b60405163b429afeb60e01b8152336004820152309063b429afeb9060240160206040518083038186803b1580156100fd57600080fd5b505afa158015610111573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610135919061037d565b6101725760405162461bcd60e51b81526020600482015260096024820152683337b93134b23232b760b91b60448201526064015b60405180910390fd5b61017b8161027e565b60405163b429afeb60e01b8152336004820152309063b429afeb9060240160206040518083038186803b1580156101b157600080fd5b505afa1580156101c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e9919061037d565b6102225760405162461bcd60e51b815260206004820152600a6024820152691ddc9bdb99c81a5b5c1b60b21b6044820152606401610169565b50565b600061024f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3b151590565b3660008037600080366000845af43d6000803e808015610279573d6000f35b3d6000fd5b610287816102be565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b803b61032b5760405162461bcd60e51b815260206004820152603660248201527f5570677261646561626c6550726f78793a206e657720696d706c656d656e74616044820152751d1a5bdb881a5cc81b9bdd08184818dbdb9d1c9858dd60521b6064820152608401610169565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b600060208284031215610360578081fd5b81356001600160a01b0381168114610376578182fd5b9392505050565b60006020828403121561038e578081fd5b81518015158114610376578182fdfea26469706673582212201e41c59bb597d5becab8691368e51b7d8e33524830f34e200a1aee26850347ab64736f6c63430008040033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0000000000000000000000009ce692f32a6fdb9fca33a3543c3fc9ebef1f0db7

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

0000000000000000000000009ce692f32a6fdb9fca33a3543c3fc9ebef1f0db7

-----Decoded View---------------
Arg [0] : _logic (address): 0x9ce692f32a6fdb9fca33a3543c3fc9ebef1f0db7

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000009ce692f32a6fdb9fca33a3543c3fc9ebef1f0db7


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.