Contract 0x15b53d277af860f51c3e6843f8075007026bbb3a

 

Contract Overview

Balance:
0 ETH

ETH Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x4165a1d937d227dc91322424fc581ebf5f74d4c5701d64564d9518e0ad396adeApprove438949852022-12-05 19:44:532 hrs 4 mins ago0xd93d683df8b486c4248efdbe4cb72f0f1b288cf7 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00003604
0xece1533b24eaa102c4d91e89716b1eeff7223bfcf658a0a8aa4c841f537fa5b1Approve438866412022-12-05 19:02:222 hrs 46 mins ago0x495c3b0fe0e514d4a0be10e873e7c4af32c002ae IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00002891
0x0d6dd642e0173c8c03414c21c5ba46de88d5205cf5410b647a7eeb76847c0520Approve438864852022-12-05 19:01:342 hrs 47 mins ago0x6f6a8b83464031e615f1bf8088cef2223166daa0 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00002891
0x2513485e77ea9ab6891d84587e3b166ea6eaf97c4ed4407c8b00043f110b9cb4Approve438832822022-12-05 18:44:533 hrs 4 mins ago0x6eee56438250e6774d10f3d92609c14d3264b10d IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00002799
0xa2df8423f3f2fa5989ebf0f4ceafd4c2bc4e7a8ec3bda64a67916b964037cf4eApprove438793502022-12-05 18:25:273 hrs 23 mins ago0x622cc69e927f53245a1c359041ebe1aec948c536 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00002811
0xe27c72118c57894500c3545e9cc1cdc19117d2a577aeffb14ab0ee4f52111bddApprove438766172022-12-05 18:12:053 hrs 36 mins ago0x08124e9e5b1fe2063763214147a54f255ae00e23 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00002807
0xc02f1276802b7a9fa580794d7e9af0801a9cc2c3e2cd2bf4d65c555677566a92Approve438764332022-12-05 18:11:173 hrs 37 mins ago0xaf161f2add0c2302f6863dab1069c096becc3cc0 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00002955
0xb6ab2cb145413c0c006dd8ab2e312df568b21b6b3ed5baea4f3ff149844c0ef2Approve438737292022-12-05 17:58:083 hrs 50 mins ago0x67aa6ca0192a94c427d3cc1747cd11c0a7e32ab7 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00003312
0xd9a198040e5b05f5bd79dcbb65c377296dc7149fd322b76c8a70a01fff5ed880Approve438723052022-12-05 17:51:043 hrs 57 mins ago0xda3b3ebf617f55caec38fb72e0da4767401440af IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00003335
0x23499d167642e8e7a94eb7a62e67fc1507825d81ba4b9230aa92a09117451038Approve438722322022-12-05 17:50:443 hrs 58 mins ago0x3f8ab89b73cba062a36f2c3e56efaa87f5692f10 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00003335
0xdcf61738ec0cf259f4e0e5751c2aaae12c7dcd95d256af0346645c3137de280eApprove438716602022-12-05 17:47:534 hrs 1 min ago0x092a2b24aa6f7171ab342ff1ab25d0d95b89a63c IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00003335
0x408562d34e0ab33987d8e8045de7366b0b7b0c49ca1205e81a2cd00ee749a06cApprove438659572022-12-05 17:19:594 hrs 28 mins ago0xd8460575713455dcc1a6d04626a40fd24d930e91 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00003376
0x169b2bd6a0fa019390aec798c3facbd5439eeb941357f1e25918be0b8de0437dApprove438642652022-12-05 17:12:104 hrs 36 mins ago0x0e165b627db9aeb5a68eb008e516cf2fecbbd944 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00003409
0x76c094b128cc035e6858c37d1f1bd7ddb91af8f915665473a6bef5e693f9e344Approve438626602022-12-05 17:04:344 hrs 44 mins ago0x5c9bfedee3ffd6c396aa203b6514fd459c6b3713 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.0000367
0x99dd3302c2e29d8bbd97fa1fb06b8d118efed19035de26617f3f4f91339cccf6Approve438569602022-12-05 16:37:425 hrs 11 mins ago0x1a80c7b086d9f9f7182dee95aeb0a6a6e39c4791 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00004077
0xc7190000ca185d9d33289e77c9a2975f4e0b7ea103e6a1009138c48488db9c45Approve438407932022-12-05 15:22:206 hrs 26 mins ago0xcc93d572c81e3742759005ab7356a8f4e11738e8 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00002706
0x62f88341c9c584bc8d9b6efd99bc41220005ec1cf23075df61ec78aa024dd921Approve438302772022-12-05 14:36:387 hrs 12 mins ago0x9166d0da770e69b1b47e058bfaa280d9f7559cf6 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00002138
0xa842c938c74840dd998081257657c80bab72d6510cb398bbcb60ec2e3fe7b51dApprove438215732022-12-05 13:59:187 hrs 49 mins ago0xf84b0b9f3975920fbe63e284e7c80d7fe58c2c14 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00002135
0x75db818bc6d2d9c2602ff61e40c0caca6396714e4c0bf8914fbd224abf9443b9Approve438107132022-12-05 13:12:228 hrs 36 mins ago0x68b983d91ab6347d1f929e48da7eb2f3ecd3fd20 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00002111
0x7105362840817f4feb59c679b9fe6b93aafcbcc67705bdd0049526040d71876fApprove438003482022-12-05 12:26:319 hrs 22 mins ago0x78a18ddecda44f7d298d9b37512ed8a7f6b226c7 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00002016
0xf8f784f9d9c0018efdc7ed363048e0d3dcc7a1d3cf67067e61c5efad8000eafcApprove437953722022-12-05 12:04:319 hrs 44 mins ago0xf77003f2603ef51c1fc8712bc9013f3ba9a4a155 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00002012
0xb9e905ac7c0256c48468f6efde39e27c0ae6d6cc4b5feac330f4ad5546c44203Approve437839332022-12-05 11:14:5510 hrs 34 mins ago0xe0d01efee7a9740f8e702f086dd4fcae87926abf IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00001906
0xc622c02d9aadf26002f9b0a94fbbbf0f0ec8d2d0f8b975dd8534b26773197ab4Approve437719192022-12-05 10:11:2311 hrs 37 mins ago0x6b45acde2b21fa861de31604d4acc7b776259713 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00002224
0x09505fc8a5637a3daa3fb65806c02089e852aac7e09b8dd658a6f50b0e50569bApprove437402282022-12-05 7:21:2014 hrs 27 mins ago0xdef0eb9e3583417ecf7634dc25dc5a6ed296cc24 IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.00002088
0x3f937755c5ca9e07468927b1f7b138a9511ed7bef91cb033e4eb619d83fcb06aApprove437394982022-12-05 7:16:4614 hrs 32 mins ago0xc1b76a1a23c2f0e39410d1a2ca8dee2b6448b9da IN  0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH0.0000204
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x0d2114a06c96ec3f4eb731450c29cac1e39a51fb237df19f772bebeaaeaf6e2b439171822022-12-05 21:41:507 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a Radiant: Lending Pool Logic0 ETH
0x0d2114a06c96ec3f4eb731450c29cac1e39a51fb237df19f772bebeaaeaf6e2b439171822022-12-05 21:41:507 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a 0xe06cd7763d46c406b92ccdf817451fe4b65cbe550 ETH
0x0d2114a06c96ec3f4eb731450c29cac1e39a51fb237df19f772bebeaaeaf6e2b439171822022-12-05 21:41:507 mins ago Radiant: Lending Pool Logic 0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a 0x82af49447d8a07e3bd95bd0d56f35241523fbab10 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a Radiant: Chef Incentives Controller0 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a 0xe06cd7763d46c406b92ccdf817451fe4b65cbe550 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago Radiant: Lending Pool Logic 0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a Radiant: Chef Incentives Controller0 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a 0xe06cd7763d46c406b92ccdf817451fe4b65cbe550 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago Radiant: Lending Pool Logic 0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a Radiant: Lending Pool Logic0 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a 0xe06cd7763d46c406b92ccdf817451fe4b65cbe550 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago Radiant: Lending Pool Logic 0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a Radiant: Lending Pool Logic0 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a 0xe06cd7763d46c406b92ccdf817451fe4b65cbe550 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago Radiant: Lending Pool Logic 0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a Radiant: Lending Pool Logic0 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a Radiant: Chef Incentives Controller0 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a Radiant: Chef Incentives Controller0 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a Radiant: Lending Pool Logic0 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a 0xe06cd7763d46c406b92ccdf817451fe4b65cbe550 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago Radiant: WETH Gateway 0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a Radiant: Lending Pool Logic0 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago 0x15b53d277af860f51c3e6843f8075007026bbb3a 0xe06cd7763d46c406b92ccdf817451fe4b65cbe550 ETH
0x2eebbff664208bd4f40d72c0998f184870f27d2453189008dfc6da34d451fd16439171132022-12-05 21:41:307 mins ago Radiant: WETH Gateway 0x15b53d277af860f51c3e6843f8075007026bbb3a0 ETH
[ Download CSV Export 
Loading

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x5293c6CA56b8941040b8D18f557dFA82cF520216

Contract Name:
InitializableImmutableAdminUpgradeabilityProxy

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 6 : InitializableImmutableAdminUpgradeabilityProxy.sol
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.7.6;

import './BaseImmutableAdminUpgradeabilityProxy.sol';
import '../../../dependencies/openzeppelin/upgradeability/InitializableUpgradeabilityProxy.sol';

/**
 * @title InitializableAdminUpgradeabilityProxy
 * @dev Extends BaseAdminUpgradeabilityProxy with an initializer function
 */
contract InitializableImmutableAdminUpgradeabilityProxy is
  BaseImmutableAdminUpgradeabilityProxy,
  InitializableUpgradeabilityProxy
{
  constructor(address admin) BaseImmutableAdminUpgradeabilityProxy(admin) {}

  /**
   * @dev Only fall back when the sender is not the admin.
   */
  function _willFallback() internal override(BaseImmutableAdminUpgradeabilityProxy, Proxy) {
    BaseImmutableAdminUpgradeabilityProxy._willFallback();
  }
}

File 2 of 6 : BaseImmutableAdminUpgradeabilityProxy.sol
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.7.6;

import '../../../dependencies/openzeppelin/upgradeability/BaseUpgradeabilityProxy.sol';

/**
 * @title BaseImmutableAdminUpgradeabilityProxy
 * @author Aave, inspired by the OpenZeppelin upgradeability proxy pattern
 * @dev This contract combines an upgradeability proxy with an authorization
 * mechanism for administrative tasks. The admin role is stored in an immutable, which
 * helps saving transactions costs
 * All external functions in this contract must be guarded by the
 * `ifAdmin` modifier. See ethereum/solidity#3864 for a Solidity
 * feature proposal that would enable this to be done automatically.
 */
contract BaseImmutableAdminUpgradeabilityProxy is BaseUpgradeabilityProxy {
  address immutable ADMIN;

  constructor(address admin) {
    ADMIN = admin;
  }

  modifier ifAdmin() {
    if (msg.sender == ADMIN) {
      _;
    } else {
      _fallback();
    }
  }

  /**
   * @return The address of the proxy admin.
   */
  function admin() external ifAdmin returns (address) {
    return ADMIN;
  }

  /**
   * @return The address of the implementation.
   */
  function implementation() external ifAdmin returns (address) {
    return _implementation();
  }

  /**
   * @dev Upgrade the backing implementation of the proxy.
   * Only the admin can call this function.
   * @param newImplementation Address of the new implementation.
   */
  function upgradeTo(address newImplementation) external ifAdmin {
    _upgradeTo(newImplementation);
  }

  /**
   * @dev Upgrade the backing implementation of the proxy and call a function
   * on the new implementation.
   * This is useful to initialize the proxied contract.
   * @param newImplementation Address of the new implementation.
   * @param data Data to send as msg.data in the low level call.
   * It should include the signature and the parameters of the function to be called, as described in
   * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
   */
  function upgradeToAndCall(address newImplementation, bytes calldata data)
    external
    payable
    ifAdmin
  {
    _upgradeTo(newImplementation);
    (bool success, ) = newImplementation.delegatecall(data);
    require(success);
  }

  /**
   * @dev Only fall back when the sender is not the admin.
   */
  function _willFallback() internal virtual override {
    require(msg.sender != ADMIN, 'Cannot call fallback function from the proxy admin');
    super._willFallback();
  }
}

File 3 of 6 : InitializableUpgradeabilityProxy.sol
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.7.6;

import './BaseUpgradeabilityProxy.sol';

/**
 * @title InitializableUpgradeabilityProxy
 * @dev Extends BaseUpgradeabilityProxy with an initializer for initializing
 * implementation and init data.
 */
contract InitializableUpgradeabilityProxy is BaseUpgradeabilityProxy {
  /**
   * @dev Contract initializer.
   * @param _logic Address of the initial implementation.
   * @param _data Data to send as msg.data to the implementation to initialize the proxied contract.
   * It should include the signature and the parameters of the function to be called, as described in
   * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
   * This parameter is optional, if no data is given the initialization call to proxied contract will be skipped.
   */
  function initialize(address _logic, bytes memory _data) public payable {
    require(_implementation() == address(0));
    assert(IMPLEMENTATION_SLOT == bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1));
    _setImplementation(_logic);
    if (_data.length > 0) {
      (bool success, ) = _logic.delegatecall(_data);
      require(success);
    }
  }
}

File 4 of 6 : BaseUpgradeabilityProxy.sol
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.7.6;

import './Proxy.sol';
import '../contracts/Address.sol';

/**
 * @title BaseUpgradeabilityProxy
 * @dev This contract implements a proxy that allows to change the
 * implementation address to which it will delegate.
 * Such a change is called an implementation upgrade.
 */
contract BaseUpgradeabilityProxy is Proxy {
  /**
   * @dev Emitted when the implementation is upgraded.
   * @param implementation Address of the new implementation.
   */
  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 internal constant IMPLEMENTATION_SLOT =
    0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

  /**
   * @dev Returns the current implementation.
   * @return impl Address of the current implementation
   */
  function _implementation() internal view override returns (address impl) {
    bytes32 slot = IMPLEMENTATION_SLOT;
    //solium-disable-next-line
    assembly {
      impl := sload(slot)
    }
  }

  /**
   * @dev Upgrades the proxy to a new implementation.
   * @param newImplementation Address of the new implementation.
   */
  function _upgradeTo(address newImplementation) internal {
    _setImplementation(newImplementation);
    emit Upgraded(newImplementation);
  }

  /**
   * @dev Sets the implementation address of the proxy.
   * @param newImplementation Address of the new implementation.
   */
  function _setImplementation(address newImplementation) internal {
    require(
      Address.isContract(newImplementation),
      'Cannot set a proxy implementation to a non-contract address'
    );

    bytes32 slot = IMPLEMENTATION_SLOT;

    //solium-disable-next-line
    assembly {
      sstore(slot, newImplementation)
    }
  }
}

File 5 of 6 : Proxy.sol
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.7.6;

/**
 * @title Proxy
 * @dev Implements delegation of calls to other contracts, with proper
 * forwarding of return values and bubbling of failures.
 * It defines a fallback function that delegates all calls to the address
 * returned by the abstract _implementation() internal function.
 */
abstract contract Proxy {
  /**
   * @dev Fallback function.
   * Implemented entirely in `_fallback`.
   */
  fallback() external payable {
    _fallback();
  }

  /**
   * @return The Address of the implementation.
   */
  function _implementation() internal view virtual returns (address);

  /**
   * @dev Delegates execution to an implementation contract.
   * This is a low level function that doesn't return to its internal call site.
   * It will return to the external caller whatever the implementation returns.
   * @param implementation Address to delegate.
   */
  function _delegate(address implementation) internal {
    //solium-disable-next-line
    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 Function that is run as the first thing in the fallback function.
   * Can be redefined in derived contracts to add functionality.
   * Redefinitions must call super._willFallback().
   */
  function _willFallback() internal virtual {}

  /**
   * @dev fallback implementation.
   * Extracted to enable manual triggering.
   */
  function _fallback() internal {
    _willFallback();
    _delegate(_implementation());
  }
}

File 6 of 6 : Address.sol
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.7.6;

/**
 * @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) {
    // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
    // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
    // for accounts without code, i.e. `keccak256('')`
    bytes32 codehash;
    bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
    // solhint-disable-next-line no-inline-assembly
    assembly {
      codehash := extcodehash(account)
    }
    return (codehash != accountHash && codehash != 0x0);
  }

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

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

Contract ABI

[{"inputs":[{"internalType":"address","name":"admin","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":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}]

60a060405234801561001057600080fd5b506040516107733803806107738339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b03166106f36100806000398061022852806102725280610331528061045e528061048752806105af52506106f36000f3fe60806040526004361061004a5760003560e01c80633659cfe6146100545780634f1ef286146100875780635c60da1b14610107578063d1f5789414610138578063f851a440146101ee575b610052610203565b005b34801561006057600080fd5b506100526004803603602081101561007757600080fd5b50356001600160a01b031661021d565b6100526004803603604081101561009d57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100c857600080fd5b8201836020820111156100da57600080fd5b803590602001918460018302840111640100000000831117156100fc57600080fd5b509092509050610267565b34801561011357600080fd5b5061011c610324565b604080516001600160a01b039092168252519081900360200190f35b6100526004803603604081101561014e57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561017957600080fd5b82018360208201111561018b57600080fd5b803590602001918460018302840111640100000000831117156101ad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610371945050505050565b3480156101fa57600080fd5b5061011c610451565b61020b6104ab565b61021b6102166104b3565b6104d8565b565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561025c57610257816104fc565b610264565b610264610203565b50565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610317576102a1836104fc565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146102fe576040519150601f19603f3d011682016040523d82523d6000602084013e610303565b606091505b505090508061031157600080fd5b5061031f565b61031f610203565b505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156103665761035f6104b3565b905061036e565b61036e610203565b90565b600061037b6104b3565b6001600160a01b03161461038e57600080fd5b6103978261053c565b80511561044d576000826001600160a01b0316826040518082805190602001908083835b602083106103da5780518252601f1990920191602091820191016103bb565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461043a576040519150601f19603f3d011682016040523d82523d6000602084013e61043f565b606091505b505090508061031f57600080fd5b5050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561036657507f000000000000000000000000000000000000000000000000000000000000000061036e565b61021b6105a4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156104f7573d6000f35b3d6000fd5b6105058161053c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61054581610614565b6105805760405162461bcd60e51b815260040180806020018281038252603b815260200180610683603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561060c5760405162461bcd60e51b81526004018080602001828103825260328152602001806106516032913960400191505060405180910390fd5b61021b61021b565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061064857508115155b94935050505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220354176803b54436ecdaea6509259ddd412b0447c3107a85e8ae96b5f8424f8e564736f6c634300070600330000000000000000000000007130b521c0e361626eceb353455bcddcbebdb121

Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.