Contract 0x225084D30cc297F3b177d9f93f5C3Ab8fb6a1454 7

DeFi  
 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x3e02ef6cf0bd61ba66857f5ca5184c7d789b932e353101b50d781363458f54d1Exit334706142022-09-23 15:06:561 day 1 hr ago0x5552b1cccfa9292e8edf9e6c1c0d2af3630a4835 IN  Tetu: xTETU Profit Share Token0 MATIC0.005992420777 39.751245638
0x59498a9fd69d8ca74bc76d71b6ac261cda7ac7ec13e086591ff4866c4ff4892fApprove334577392022-09-23 7:37:261 day 8 hrs ago0xf774f030f0c0573dde70e85df8ca60cd26451657 IN  Tetu: xTETU Profit Share Token0 MATIC0.001806455 35
0x1dd9594a963ac9774f74521fc6771f7ddf89268c2500252a1755c1b27f847bd5Exit334387322022-09-22 20:39:271 day 19 hrs ago0xd73bd59e7c0d075c9a83cad272cf17c46f7f2784 IN  Tetu: xTETU Profit Share Token0 MATIC0.007085156 47
0x58a572e3f344e8e2ff3ca4fda2c0c2404073ac050eeb5ec32a95d4f97f3dd95bExit334375702022-09-22 19:59:311 day 20 hrs ago0xdbe8a352b8ca984f9a044794614ad8cf233a4f79 IN  Tetu: xTETU Profit Share Token0 MATIC0.0051706564 34.300000002
0x1058eb1c1106b1831cd7e815513b4366bb67060d2e7b32d43f913cfc82caf399Deposit And Inve...334353202022-09-22 18:42:061 day 21 hrs ago0x10feb6f3111197336bc64ad3d0a123f22719d58a IN  Tetu: xTETU Profit Share Token0 MATIC0.011752038 55.8
0x5def80d162694d01f20447eba7c3b1dcd144f076005ec45a7a6209a2a5ad83f9Deposit And Inve...334289102022-09-22 14:54:562 days 1 hr ago0x5bc0aa095632c76da0be9838d960da9a66fca30e IN  Tetu: xTETU Profit Share Token0 MATIC0.012425282008 59.000000041
0xab5f9c8a3d9e5f11099a5a0a5e6e79740373e716293a10e75e1d3e46c94e66a9Approve333975142022-09-21 20:50:442 days 19 hrs ago0xa709f9904a4e3cf50816609834175446c2246577 IN  Tetu: xTETU Profit Share Token0 MATIC0.001645237007 31.883820234
0xea6f5dc2982918526ea63373a72bb8b4aedc28ba29b31964ed1b293b4302492eDeposit And Inve...333870762022-09-21 14:45:243 days 1 hr ago0xbcf4edc70977b8711d52bc3fe85ebef46365b4fb IN  Tetu: xTETU Profit Share Token0 MATIC0.005207035676 31.361261406
0xa66d1ab69a7eab03706484bfb7d4429772667d1637db46a775368afcd9a8e008Exit333741752022-09-21 6:56:003 days 9 hrs ago0xeb54669ac46b44d6a29eedda0daf7d9a8c4f7386 IN  Tetu: xTETU Profit Share Token0 MATIC0.006278006979 37.402929911
0xf301e342c6954da974bcf3e00d2e71505014e10a9a20aac39a48a3c10b8f7e98Exit333416252022-09-20 11:24:434 days 4 hrs ago0x2b6046df9db627658049df9de040447addb2b298 IN  Tetu: xTETU Profit Share Token0 MATIC0.00648216443
0x0cc3abfedfd6eb7ff049ba8daf6db4c1f3948a186f0fad7176e90fa3cdbaa31bExit333132322022-09-19 18:56:164 days 21 hrs ago0x39b34a2f574aa4f756f632d6abae3cf754e14c77 IN  Tetu: xTETU Profit Share Token0 MATIC0.00453299236 30.070000002
0x849887a4a5d0e17ebe77c640a185157eca9f3367bc2b5f8b8b4088e5210a7e0bExit333017872022-09-19 12:22:095 days 4 hrs ago0x15985f5386f8221c4827275acf8f0a09e9de35f1 IN  Tetu: xTETU Profit Share Token0 MATIC0.006783660001 45.000000013
0xef479896e007743c18fe98632c357f7f6ebeb64a7b46c81c35f4880f47d0b4d5Deposit And Inve...332877792022-09-19 4:18:045 days 12 hrs ago0x4ffdaeb9f4ec23254b6dfa41eeef2c8d23f8c554 IN  Tetu: xTETU Profit Share Token0 MATIC0.006808378 41
0x0f0f65ed9a2fca5e24249b29e1a6b852bc72bde2a40b992fd1b22b3808221d05Exit332749542022-09-18 20:54:235 days 19 hrs ago0xf4bd3b6f3ab05a8c5d702cb85287ff4837a7aac4 IN  Tetu: xTETU Profit Share Token0 MATIC0.008743384002 58.000000018
0x357051b4d9826047a6b9821f1d74936c771d66b5a06a191eb23fa1fc37c11a55Exit332443642022-09-18 3:07:356 days 13 hrs ago0x97b5b1a5745f5d876ac2d8fcdc711f00ebaa4b29 IN  Tetu: xTETU Profit Share Token0 MATIC0.005035440002 30.000000013
0x876ff8b85675e7666c6ea83fe65aae946daf4748a0e301678ab9866386111debExit332018162022-09-17 2:31:527 days 13 hrs ago0xcfdd6663018840621fa812ba6043acb5b1fa29d1 IN  Tetu: xTETU Profit Share Token0 MATIC0.004522440001 30.000000012
0x5196a45d01df73bde39141adcf6442fd687e2b07dbe4d320dbfb37be927f2e53Deposit And Inve...332016562022-09-17 2:26:207 days 13 hrs ago0xcfdd6663018840621fa812ba6043acb5b1fa29d1 IN  Tetu: xTETU Profit Share Token0 MATIC0.004993003221 30.070000011
0xad0d9d3f87a47d9d654938745d1e125164bbc4ea2b3abd02b01c7c4008af6f5eExit332006822022-09-17 1:52:527 days 14 hrs ago0x266178a48c50f104b53ed78ca8e3582dfcfbb286 IN  Tetu: xTETU Profit Share Token0 MATIC0.005988714775 39.726661548
0xf45c9d8d9ffddecfeb39623ef66d3356acfa24c475e4e4418a5a244a904a4b46Exit331907452022-09-16 19:55:507 days 20 hrs ago0x5af9169dead147d3d963057d99a910a0b16dc025 IN  Tetu: xTETU Profit Share Token0 MATIC0.00678366 45
0x588a107965dc10e6552f354d2ecb9da302064b17df822ddd332f78f546062b94Exit331591822022-09-16 1:37:098 days 14 hrs ago0x01c83e2a373ba4bf2cbe51087d97483e9f88c415 IN  Tetu: xTETU Profit Share Token0 MATIC0.007885232002 59.000000016
0xf515d847e7bd4edd1ad0f03fb506b39ef1aad0e6759afde48b6109e4e5373805Withdraw331422332022-09-15 15:49:399 days 34 mins ago0xbe7dd82facd47d3598803f44cb980078466aeba3 IN  Tetu: xTETU Profit Share Token0 MATIC0.017391040675 113.44153235
0x4c2b99ba18052d043d0fef33daa54c5026cd6f40274ccedda469ad4d8fe77ae2Approve331360102022-09-15 12:15:309 days 4 hrs ago0x364ca90cae2e830f357f6d3afe6661bff3c3984c IN  Tetu: xTETU Profit Share Token0 MATIC0.00251458536 48.72
0x3fe6c5c937a9a8663614ad46483a05245d080faf4fa1f31978be33fde931d17eExit331239852022-09-15 5:19:469 days 11 hrs ago0x9bdbdb4a8f7f816c87a67f5281484ed902c6b942 IN  Tetu: xTETU Profit Share Token0 MATIC0.005239001598 39.199999988
0x5934d1cb8ca2e998771442e3e3283f3c46e1358e75d76d833526da004758b1e2Deposit And Inve...331229662022-09-15 4:44:449 days 11 hrs ago0xbc277188ab8c9983b8098d6cbd7b0205a819bfb8 IN  Tetu: xTETU Profit Share Token0 MATIC0.007636718599 36.259999998
0x04a04450b583b68b9aaa1fb37a11c8e4e34c2ac62b4ca802f1c0fbba542e7cd6Approve331164832022-09-15 1:01:539 days 15 hrs ago0xcb33e69158eb12dc36d1cf04c0ccc85f1e3728f4 IN  Tetu: xTETU Profit Share Token0 MATIC0.00283871555
[ 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);
    }

    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

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

608060405234801561001057600080fd5b5060405161058938038061058983398101604081905261002f91610136565b8061005b60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd610164565b6000805160206105698339815191521461008557634e487b7160e01b600052600160045260246000fd5b61008e81610095565b5050610187565b6100a88161013060201b6102541760201c565b61011e5760405162461bcd60e51b815260206004820152603660248201527f5570677261646561626c6550726f78793a206e657720696d706c656d656e746160448201527f74696f6e206973206e6f74206120636f6e747261637400000000000000000000606482015260840160405180910390fd5b60008051602061056983398151915255565b3b151590565b600060208284031215610147578081fd5b81516001600160a01b038116811461015d578182fd5b9392505050565b60008282101561018257634e487b7160e01b81526011600452602481fd5b500390565b6103d3806101966000396000f3fe60806040526004361061002d5760003560e01c80630900f010146100445780635c60da1b146100645761003c565b3661003c5761003a610095565b005b61003a610095565b34801561005057600080fd5b5061003a61005f36600461034f565b6100c7565b34801561007057600080fd5b50610079610225565b6040516001600160a01b03909116815260200160405180910390f35b6100c56100c07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b61025a565b565b60405163b429afeb60e01b8152336004820152309063b429afeb9060240160206040518083038186803b1580156100fd57600080fd5b505afa158015610111573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610135919061037d565b6101725760405162461bcd60e51b81526020600482015260096024820152683337b93134b23232b760b91b60448201526064015b60405180910390fd5b61017b8161027e565b60405163b429afeb60e01b8152336004820152309063b429afeb9060240160206040518083038186803b1580156101b157600080fd5b505afa1580156101c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e9919061037d565b6102225760405162461bcd60e51b815260206004820152600a6024820152691ddc9bdb99c81a5b5c1b60b21b6044820152606401610169565b50565b600061024f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3b151590565b3660008037600080366000845af43d6000803e808015610279573d6000f35b3d6000fd5b610287816102be565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b803b61032b5760405162461bcd60e51b815260206004820152603660248201527f5570677261646561626c6550726f78793a206e657720696d706c656d656e74616044820152751d1a5bdb881a5cc81b9bdd08184818dbdb9d1c9858dd60521b6064820152608401610169565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b600060208284031215610360578081fd5b81356001600160a01b0381168114610376578182fd5b9392505050565b60006020828403121561038e578081fd5b81518015158114610376578182fdfea2646970667358221220d5665b698d04e29af9fdc1aa631a37732c20e80126f7a2e881ca964f433cd4fb64736f6c63430008040033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc0000000000000000000000001039807c45c4d95cf47b57262c9ef48cc56fbe94

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

0000000000000000000000001039807c45c4d95cf47b57262c9ef48cc56fbe94

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000001039807c45c4d95cf47b57262c9ef48cc56fbe94


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.