Contract 0x6678814c273d5088114B6E40cC49C8DB04F9bC29 4

DeFi  
 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x18bf58617d41d21fb01d50470e82a2eda99b347a25b5765ceeded2daf1ad9c43Do Hard Work335119502022-09-24 15:16:149 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.057211956028 36.000000018
0xf5ce4ac6fdfbe4d1a2c7aefa29d887ae6d6645d3186767714070b624fe3b6b0dDo Hard Work335099022022-09-24 14:03:371 hr 21 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.09565592405 36.000000019
0x97ff92b82229b53cb20ac6dd9a71f74b418dde83a61411dda70e44a2e6661afaDo Hard Work335097502022-09-24 13:58:211 hr 27 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.025189452011 36.000000016
0xf63757e4a359521e889a55037624957fe917bbd0e74e9ac6f9b1895ed66d4efaDo Hard Work335095952022-09-24 13:53:031 hr 32 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.101088972067 36.000000024
0x03778c7acfce42a75711aef15630f120a8b35720752082abcb85bb915836d082Do Hard Work335045402022-09-24 10:54:564 hrs 30 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.110568924052 36.000000017
0xa53b8de56108c5ed937b895527823e6da4f5e39d1ee17a2ced1ec6c09c40a93bDo Hard Work335044372022-09-24 10:51:224 hrs 34 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.093797172044 36.000000017
0x6fed4679d8eb910f9e8a5fbe2e5ccb45e5a710f601344567412a8e1e710b0375Do Hard Work335043322022-09-24 10:47:484 hrs 37 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.096106860045 36.000000017
0xb252416786d074a100ccbf6b87a62d6b35d88a48a205c979b6b7f936f925cdffDo Hard Work335041802022-09-24 10:42:324 hrs 42 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.092703492051 36.00000002
0x70e3048bdcef8d33df67c7fd5b9e96c7bf1416fca7ead4f7a1ef9423401852ecDo Hard Work335040262022-09-24 10:37:164 hrs 48 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.093636252033 36.000000013
0xd3f5d9a59da6ffa95fbe68d05b67ded9ef5faf22f7977103db51a38819c1f8d1Do Hard Work335039722022-09-24 10:35:244 hrs 50 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.109666008051 36.000000017
0xd8e831fef2b522d77374b400d7fae37cf48e71c4a4bedbaba4a80ba31aa3301aDo Hard Work335039172022-09-24 10:33:304 hrs 52 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.096800184045 36.000000017
0x8f727832545fe390e217c8e3fc2311db88464b0fc0ab37c3f1b724c2f8eb4c89Do Hard Work335038632022-09-24 10:31:384 hrs 53 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.098549208035 36.000000013
0x74bf27457075a11fae962b2bde3bc5727d3b74099b64146d78682a66b2697136Do Hard Work335036012022-09-24 10:22:385 hrs 2 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.092957760043 36.000000017
0xc90b53fdca673079bf7ce08996a1bc7db54a3995fec44af3d278226744ebf220Do Hard Work335035472022-09-24 10:20:465 hrs 4 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.025264260009 36.000000014
0xf53d7cb8d1f751e0e391de66b1261545479e00a9452987383d0508b3ddf70401Do Hard Work335029102022-09-24 9:56:435 hrs 28 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.103853664046 36.000000016
0x5355b460535f502954167d726911433440e664695cdc53a836c20e234059b416Do Hard Work335028042022-09-24 9:53:075 hrs 32 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.020952792009 36.000000016
0xae0f67e3c6ae0294fca7cecaa4359c54125beeea04d737b25a3beb5ae524b967Do Hard Work334996932022-09-24 8:04:447 hrs 20 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.074776464039 36.000000019
0xa9f1d005419cd8840b4d554defd9b9448ac21d691a370e973117a55baba1123dDo Hard Work334989092022-09-24 7:37:487 hrs 47 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.110343024076 36.000000025
0x983b9ab559fdf666a2676d2831ffc63ebce129a1dd6a594cb9c49031481d7a1aDo Hard Work334982622022-09-24 7:15:348 hrs 9 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.121264820383 37.199999995
0x7093d64e81f4e026f0cb5e04fedc9d604a5e643d3cffb3997e29813c454ab19aDo Hard Work334981002022-09-24 7:09:588 hrs 15 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.055750860027 36.000000018
0xa355b6f9a820915cbbe4d4c8d05d4bb550c2eec35ad9440078b2443256f10e57Do Hard Work334958442022-09-24 5:52:249 hrs 33 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.059502024056 36.000000034
0x7bfc45d2713ae5ed49836f69a8aec0e7680d22371859b54e79a0cd938c49f8f8Do Hard Work334906422022-09-24 2:49:3212 hrs 35 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.111184524049 36.000000016
0x740800a7206c4a704361642d8ed02a70ef0c69d39c1fa036fc8162de5de2fcaaDo Hard Work334905392022-09-24 2:45:5812 hrs 39 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.089717472042 36.000000017
0xfc2e0fa27f279ba2c63f0807daadfe297ea40a28920d31ae2cbd53bb2cbdb4d8Do Hard Work334904842022-09-24 2:44:0412 hrs 41 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.094001292036 36.000000014
0x78a3f935af6aa73e72b628670c389ea291832d352c16c7ede4a737490d2edc0aDo Hard Work334904302022-09-24 2:42:1212 hrs 43 mins ago0xadc31a85c01aeba202df01adc392a7c6b8d56916 IN  Tetu: Controller0 MATIC0.098361324046 36.000000017
[ 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"}]

608060405234801561001057600080fd5b5060405161058938038061058983398101604081905261002f91610136565b8061005b60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd610164565b6000805160206105698339815191521461008557634e487b7160e01b600052600160045260246000fd5b61008e81610095565b5050610187565b6100a88161013060201b6102541760201c565b61011e5760405162461bcd60e51b815260206004820152603660248201527f5570677261646561626c6550726f78793a206e657720696d706c656d656e746160448201527f74696f6e206973206e6f74206120636f6e747261637400000000000000000000606482015260840160405180910390fd5b60008051602061056983398151915255565b3b151590565b600060208284031215610147578081fd5b81516001600160a01b038116811461015d578182fd5b9392505050565b60008282101561018257634e487b7160e01b81526011600452602481fd5b500390565b6103d3806101966000396000f3fe60806040526004361061002d5760003560e01c80630900f010146100445780635c60da1b146100645761003c565b3661003c5761003a610095565b005b61003a610095565b34801561005057600080fd5b5061003a61005f36600461034f565b6100c7565b34801561007057600080fd5b50610079610225565b6040516001600160a01b03909116815260200160405180910390f35b6100c56100c07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b61025a565b565b60405163b429afeb60e01b8152336004820152309063b429afeb9060240160206040518083038186803b1580156100fd57600080fd5b505afa158015610111573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610135919061037d565b6101725760405162461bcd60e51b81526020600482015260096024820152683337b93134b23232b760b91b60448201526064015b60405180910390fd5b61017b8161027e565b60405163b429afeb60e01b8152336004820152309063b429afeb9060240160206040518083038186803b1580156101b157600080fd5b505afa1580156101c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e9919061037d565b6102225760405162461bcd60e51b815260206004820152600a6024820152691ddc9bdb99c81a5b5c1b60b21b6044820152606401610169565b50565b600061024f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3b151590565b3660008037600080366000845af43d6000803e808015610279573d6000f35b3d6000fd5b610287816102be565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b803b61032b5760405162461bcd60e51b815260206004820152603660248201527f5570677261646561626c6550726f78793a206e657720696d706c656d656e74616044820152751d1a5bdb881a5cc81b9bdd08184818dbdb9d1c9858dd60521b6064820152608401610169565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b600060208284031215610360578081fd5b81356001600160a01b0381168114610376578182fd5b9392505050565b60006020828403121561038e578081fd5b81518015158114610376578182fdfea2646970667358221220d5665b698d04e29af9fdc1aa631a37732c20e80126f7a2e881ca964f433cd4fb64736f6c63430008040033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc00000000000000000000000022e2625f9d8c28cb4bce944e9d64efb4388ea991

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

00000000000000000000000022e2625f9d8c28cb4bce944e9d64efb4388ea991

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000022e2625f9d8c28cb4bce944e9d64efb4388ea991


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.