Contract 0x625e7708f30ca75bfd92586e17077590c60eb4cd 6

 

Contract Overview

Aave: aUSDC Token V3
Balance:
0 ETH

ETH Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xe6ad33025f0858c224d91f17f96cf6afe54f5c8e4cc1c92b4a4d4e17df5d4464Approve278291852022-10-01 17:37:219 hrs 8 mins ago0x00863a1c198a119e29eedf3caf27dcb4ef1b4f70 IN Aave: aUSDC Token V30 ETH0.00002249
0x04fde7aa867f6883b88acbfa45e719bb3d97324d315d8377d54444cff292ef5aApprove278231702022-10-01 17:03:239 hrs 42 mins ago0x69b4afc5b9956f623682cf8ac195ae8aa04cf79b IN Aave: aUSDC Token V30 ETH0.00002365
0x79a783e73531392ff90f4f2c8d5f77fbbe92d352718b846355953db83f19700eApprove278176092022-10-01 16:25:4310 hrs 20 mins ago0xe1fed74356db53f19b6184ba94e14fa3aa364eab IN Aave: aUSDC Token V30 ETH0.00002089
0x6da92bff36f4afabc7d6220c8c1e1e72b06dd88fd7fdf9c44de6a29d7170450cApprove278057872022-10-01 15:17:3211 hrs 28 mins ago0xcc1bc5d0ae50d2fb03cb640ba33055a0b0a3b893 IN Aave: aUSDC Token V30 ETH0.00001766
0x7e129a47228c22019020eb66f402567f4013c264c04176bb54ccb2209e9e56dbApprove277605602022-10-01 10:48:0815 hrs 58 mins ago0xd5df46dc1fcdf13f9067d6668ed411d5342d9ddc IN Aave: aUSDC Token V30 ETH0.00001005
0xc3a133a03f291aa65d3653d108c2ffd3c4415381c5fe06e1bd47d9f0b646f6c9Approve277506642022-10-01 9:43:0317 hrs 3 mins ago0x75ed9e28559acef88a3a384f39aaf7ec04fc9822 IN Aave: aUSDC Token V30 ETH0.00001058
0xb9f22bc8feeceeb3e433a464ea95a7d8324ca4459bb38e12dbf7ec7b7e42fce6Approve277412482022-10-01 8:48:4817 hrs 57 mins ago0xee1c963e70910475a15ae5210ab953cbbd2b3d49 IN Aave: aUSDC Token V30 ETH0.00001075
0xf1e753569feceb86a979728a9ba4862479334a7da4c610b9c10c947a4b144441Approve277406772022-10-01 8:45:0118 hrs 1 min ago0x67adfab056edc1a03602139b8ac36a06fc62f1bb IN Aave: aUSDC Token V30 ETH0.00001117
0x0c7cb88ad9946cf646ba5aa44b6fbec90ee5e922e8ceaba8bed7459476e73177Approve277280422022-10-01 7:23:4519 hrs 22 mins ago0x72b82453dd27c774f5488dc90685c26670c71144 IN Aave: aUSDC Token V30 ETH0.00001102
0xb6832d2b86d3e96a2f8f8c2cd7355de373c170215df2be63b1c1f2484b36c2caTransfer276850372022-10-01 1:16:401 day 1 hr ago0xfc7291e835409d4a1d66e6e2dab50a447212f3cd IN Aave: aUSDC Token V30 ETH0.00002795
0x13b525ff86dc59b0c9569375851890a3961e187c3aa5920cbd6d89a061d1b439Transfer276842052022-10-01 1:07:161 day 1 hr ago0xfc7291e835409d4a1d66e6e2dab50a447212f3cd IN Aave: aUSDC Token V30 ETH0.00003075
0x910ae6d91364c257450857f7dc3a09a1d3928a53011b99c847459b774b23858aApprove276835462022-10-01 0:58:351 day 1 hr ago0x04cc5aa9a2061cfdce46901161a35c57959d0297 IN Aave: aUSDC Token V30 ETH0.00002181
0xb577ff871f7c5aea0e90cd9a4ac62bf7944cebf38cf86cd8d2b1128a9361b4b1Approve276713312022-09-30 22:03:311 day 4 hrs ago0x6ee5a11392b97aa3233c74479cba75ae1f484ad2 IN Aave: aUSDC Token V30 ETH0.00002868
0xf2779ffb16d18ac00ecc2bcae3c7932dd3017510820bf58354176fe40d3b65b1Approve276317402022-09-30 15:52:381 day 10 hrs ago0x00899adda769602c9526043158585099bec8829a IN Aave: aUSDC Token V30 ETH0.00003326
0xd288a5a4f9458994adf9d903de75fec4002dc2c14a150578009f6442bed8162bApprove276210502022-09-30 14:48:501 day 11 hrs ago0x689e994d0e4fcd7f5771de774bc83e4126e468f4 IN Aave: aUSDC Token V30 ETH0.00002752
0x0802f22d6ac847b2c5ddf12cf8b599af68f033938097d0adbfc2c2d36e16dbecApprove275618092022-09-30 8:31:021 day 18 hrs ago0x1ed5f9bcc4bb366265caf782c91602fabb08d92f IN Aave: aUSDC Token V30 ETH0.00001684
0x5469f2831b1e347f0810b4d873d29695c3ffa942ae4d9b93460227ce7a3e3278Approve275585932022-09-30 8:12:521 day 18 hrs ago0x6e9b990cadc35e6efa8eb8a33325ba513a240aab IN Aave: aUSDC Token V30 ETH0.00001682
0x516db72fc262f51488a48da92d57fd184e6cb6c5310e681ba567c8251a83a56aApprove275538862022-09-30 7:47:581 day 18 hrs ago0x42582ef5ac9797c7970df3a579de392f83217c33 IN Aave: aUSDC Token V30 ETH0.00001623
0xe9606624ef59c50d08fec4a393c2c75b621af0f558487ce85bbd7151538c2fe4Approve275402802022-09-30 6:28:261 day 20 hrs ago0xa0a32af8a343cb5881bd15cb2b83e9a1d1efc0f0 IN Aave: aUSDC Token V30 ETH0.00001823
0xe8e3ed6e07412fb86d8c490288038cd296d6b71d24bad9c5b405d67113aef039Approve275365792022-09-30 6:02:151 day 20 hrs ago0x75e633e6b0eb9468489dc4a8d0e66736cc643438 IN Aave: aUSDC Token V30 ETH0.00001954
0xc6be9f213492eb2258cf73858699120099f17cfb58e23893c1c047b972823810Approve275352202022-09-30 5:52:411 day 20 hrs ago0xee84c5248387514f735b2f448440dd4c53aad8a9 IN Aave: aUSDC Token V30 ETH0.00001991
0x480e2d4eb69499cbad38907d7b6fde25300592751d5af6d219013d3f1755819eApprove275339802022-09-30 5:44:131 day 21 hrs ago0xaeaafd1f66dbd1264b22c62f27ca4df79c24900f IN Aave: aUSDC Token V30 ETH0.00002049
0xea02b0cf29f5ba965b54ce4a24f768aedf563c5cf12a2740cd994703587ab078Approve275330272022-09-30 5:36:311 day 21 hrs ago0xb9b44a2f0d92dba582c3481243bd587970a51d6f IN Aave: aUSDC Token V30 ETH0.00002121
0xc7d57941a1cc09124e9323f039ed05e354460a9d17792779059d4a36850e83c3Approve275319192022-09-30 5:27:201 day 21 hrs ago0x2063388b608e0c4f790b5f80c7140dd832970b8e IN Aave: aUSDC Token V30 ETH0.00002163
0x0a88b706dffb22795fbd86d6c199f36d755adfe106cc368a7a9b701a4dfb0facApprove275308702022-09-30 5:18:301 day 21 hrs ago0x6048d2c188becde90fce4e55d343d008a7540e1b IN Aave: aUSDC Token V30 ETH0.00002211
[ Download CSV Export 

OVERVIEW

Aave is a decentralized non-custodial liquidity protocol where users can participate as depositors or borrowers.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xd4cfb600cf357dcca0c9301ea65115b4f0c6db4343b7567c68a519b632c48e14278849592022-10-02 2:45:5117 secs ago Aave: aUSDC Token V3 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0xd4cfb600cf357dcca0c9301ea65115b4f0c6db4343b7567c68a519b632c48e14278849592022-10-02 2:45:5117 secs ago Aave: aUSDC Token V30xa5ba6e5ec19a1bf23c857991c857db62b2aa187b0 ETH
0xd4cfb600cf357dcca0c9301ea65115b4f0c6db4343b7567c68a519b632c48e14278849592022-10-02 2:45:5117 secs ago Aave: Pool V3Aave: aUSDC Token V30 ETH
0x08b6eb59e7dbf6b6aca31aaa194b435c4a84228d711873c851f5717692d5694f278849142022-10-02 2:45:2642 secs ago Aave: aUSDC Token V3 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x08b6eb59e7dbf6b6aca31aaa194b435c4a84228d711873c851f5717692d5694f278849142022-10-02 2:45:2642 secs ago Aave: aUSDC Token V3Aave: Incentives V30 ETH
0x08b6eb59e7dbf6b6aca31aaa194b435c4a84228d711873c851f5717692d5694f278849142022-10-02 2:45:2642 secs ago Aave: aUSDC Token V30xa5ba6e5ec19a1bf23c857991c857db62b2aa187b0 ETH
0x08b6eb59e7dbf6b6aca31aaa194b435c4a84228d711873c851f5717692d5694f278849142022-10-02 2:45:2642 secs ago Aave: Pool V3Aave: aUSDC Token V30 ETH
0x08b6eb59e7dbf6b6aca31aaa194b435c4a84228d711873c851f5717692d5694f278849142022-10-02 2:45:2642 secs ago Aave: aUSDC Token V30xa5ba6e5ec19a1bf23c857991c857db62b2aa187b0 ETH
0x08b6eb59e7dbf6b6aca31aaa194b435c4a84228d711873c851f5717692d5694f278849142022-10-02 2:45:2642 secs ago Aave: Pool V3Aave: aUSDC Token V30 ETH
0xafdd20953daa300425accbf08479fa40dbe5aa2fa7711483c7cc7ad9ab31931e278848772022-10-02 2:45:1157 secs ago Aave: aUSDC Token V3 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0xafdd20953daa300425accbf08479fa40dbe5aa2fa7711483c7cc7ad9ab31931e278848772022-10-02 2:45:1157 secs ago Aave: aUSDC Token V30xa5ba6e5ec19a1bf23c857991c857db62b2aa187b0 ETH
0xafdd20953daa300425accbf08479fa40dbe5aa2fa7711483c7cc7ad9ab31931e278848772022-10-02 2:45:1157 secs ago Aave: Pool V3Aave: aUSDC Token V30 ETH
0xbb598d460e961973c64e7793f8aecd2765b8ae62fefd6e180866ea65de2cb11d278847952022-10-02 2:44:241 min ago Aave: aUSDC Token V3 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0xbb598d460e961973c64e7793f8aecd2765b8ae62fefd6e180866ea65de2cb11d278847952022-10-02 2:44:241 min ago Aave: aUSDC Token V30xa5ba6e5ec19a1bf23c857991c857db62b2aa187b0 ETH
0xbb598d460e961973c64e7793f8aecd2765b8ae62fefd6e180866ea65de2cb11d278847952022-10-02 2:44:241 min ago Aave: Pool V3Aave: aUSDC Token V30 ETH
0x0579996f9cea7af8780d18d50507a6ed9c1f7428a089194307cea16c92f2eeea278846522022-10-02 2:43:352 mins ago Aave: aUSDC Token V3 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x0579996f9cea7af8780d18d50507a6ed9c1f7428a089194307cea16c92f2eeea278846522022-10-02 2:43:352 mins ago Aave: aUSDC Token V30xa5ba6e5ec19a1bf23c857991c857db62b2aa187b0 ETH
0x0579996f9cea7af8780d18d50507a6ed9c1f7428a089194307cea16c92f2eeea278846522022-10-02 2:43:352 mins ago Aave: Pool V3Aave: aUSDC Token V30 ETH
0x4666fb2e213e7672826edcbf230ee1d7d480c22a2a076d314d33a5cc48ab3dce278845192022-10-02 2:42:263 mins ago Aave: aUSDC Token V3 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x4666fb2e213e7672826edcbf230ee1d7d480c22a2a076d314d33a5cc48ab3dce278845192022-10-02 2:42:263 mins ago Aave: aUSDC Token V30xa5ba6e5ec19a1bf23c857991c857db62b2aa187b0 ETH
0x4666fb2e213e7672826edcbf230ee1d7d480c22a2a076d314d33a5cc48ab3dce278845192022-10-02 2:42:263 mins ago Aave: Pool V3Aave: aUSDC Token V30 ETH
0x23b3dca323e6d5403ce29237975b69ab647f27bca8411c71022a49302e18ef18278843632022-10-02 2:41:065 mins ago Aave: aUSDC Token V3 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x23b3dca323e6d5403ce29237975b69ab647f27bca8411c71022a49302e18ef18278843632022-10-02 2:41:065 mins ago Aave: aUSDC Token V30xa5ba6e5ec19a1bf23c857991c857db62b2aa187b0 ETH
0x23b3dca323e6d5403ce29237975b69ab647f27bca8411c71022a49302e18ef18278843632022-10-02 2:41:065 mins ago Aave: Pool V3Aave: aUSDC Token V30 ETH
0x4ef0f609ff4355669c847a468f0bab1ca4dae1429b5839418f924301640a98e6278842662022-10-02 2:40:305 mins ago Aave: aUSDC Token V3 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
[ Download CSV Export 
Loading

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

Contract Name:
InitializableImmutableAdminUpgradeabilityProxy

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 100000 runs

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

import {InitializableUpgradeabilityProxy} from '../../../dependencies/openzeppelin/upgradeability/InitializableUpgradeabilityProxy.sol';
import {Proxy} from '../../../dependencies/openzeppelin/upgradeability/Proxy.sol';
import {BaseImmutableAdminUpgradeabilityProxy} from './BaseImmutableAdminUpgradeabilityProxy.sol';

/**
 * @title InitializableAdminUpgradeabilityProxy
 * @author Aave
 * @dev Extends BaseAdminUpgradeabilityProxy with an initializer function
 */
contract InitializableImmutableAdminUpgradeabilityProxy is
  BaseImmutableAdminUpgradeabilityProxy,
  InitializableUpgradeabilityProxy
{
  /**
   * @dev Constructor.
   * @param admin The address of the admin
   */
  constructor(address admin) BaseImmutableAdminUpgradeabilityProxy(admin) {
    // Intentionally left blank
  }

  /// @inheritdoc BaseImmutableAdminUpgradeabilityProxy
  function _willFallback() internal override(BaseImmutableAdminUpgradeabilityProxy, Proxy) {
    BaseImmutableAdminUpgradeabilityProxy._willFallback();
  }
}

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

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 3 of 6 : Proxy.sol
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.8.10;

/**
 * @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.
   * Will run if no other function in the contract matches the call data.
   * 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 4 of 6 : BaseImmutableAdminUpgradeabilityProxy.sol
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.8.10;

import {BaseUpgradeabilityProxy} from '../../../dependencies/openzeppelin/upgradeability/BaseUpgradeabilityProxy.sol';

/**
 * @title BaseImmutableAdminUpgradeabilityProxy
 * @author Aave, inspired by the OpenZeppelin upgradeability proxy pattern
 * @notice This contract combines an upgradeability proxy with an authorization
 * mechanism for administrative tasks.
 * @dev 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 internal immutable _admin;

  /**
   * @dev Constructor.
   * @param admin The address of the admin
   */
  constructor(address admin) {
    _admin = admin;
  }

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

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

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

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

  /**
   * @notice Upgrade the backing implementation of the proxy and call a function
   * on the new implementation.
   * @dev This is useful to initialize the proxied contract.
   * @param newImplementation The 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);
  }

  /**
   * @notice 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 5 of 6 : BaseUpgradeabilityProxy.sol
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.8.10;

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 6 of 6 : Address.sol
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.8.10;

/**
 * @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": 100000
  },
  "evmVersion": "berlin",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  },
  "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"}]

60a060405234801561001057600080fd5b50604051610a0e380380610a0e83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516109606100ae6000396000818161014f015281816101a101528181610274015281816104110152818161043a01526105ab01526109606000f3fe60806040526004361061005a5760003560e01c80635c60da1b116100435780635c60da1b14610097578063d1f57894146100d5578063f851a440146100e85761005a565b80633659cfe6146100645780634f1ef28614610084575b6100626100fd565b005b34801561007057600080fd5b5061006261007f3660046106be565b610137565b6100626100923660046106e0565b610189565b3480156100a357600080fd5b506100ac61025a565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100626100e3366004610792565b6102cb565b3480156100f457600080fd5b506100ac6103f7565b61010561045c565b6101356101307f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b610464565b565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614156101815761017e81610488565b50565b61017e6100fd565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016141561024d576101d083610488565b60008373ffffffffffffffffffffffffffffffffffffffff1683836040516101f9929190610872565b600060405180830381855af49150503d8060008114610234576040519150601f19603f3d011682016040523d82523d6000602084013e610239565b606091505b505090508061024757600080fd5b50505050565b6102556100fd565b505050565b60003373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614156102c057507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6102c86100fd565b90565b60006102f57f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b73ffffffffffffffffffffffffffffffffffffffff161461031557600080fd5b61034060017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd610882565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc1461036e5761036e6108c0565b610377826104d5565b8051156103f35760008273ffffffffffffffffffffffffffffffffffffffff16826040516103a591906108ef565b600060405180830381855af49150503d80600081146103e0576040519150601f19603f3d011682016040523d82523d6000602084013e6103e5565b606091505b505090508061025557600080fd5b5050565b60003373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614156102c057507f000000000000000000000000000000000000000000000000000000000000000090565b610135610593565b3660008037600080366000845af43d6000803e808015610483573d6000f35b3d6000fd5b610491816104d5565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6104de81610659565b61056f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000060648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161415610135576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260448201527f6f6d207468652070726f78792061646d696e00000000000000000000000000006064820152608401610566565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061068d57508115155b949350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106b957600080fd5b919050565b6000602082840312156106d057600080fd5b6106d982610695565b9392505050565b6000806000604084860312156106f557600080fd5b6106fe84610695565b9250602084013567ffffffffffffffff8082111561071b57600080fd5b818601915086601f83011261072f57600080fd5b81358181111561073e57600080fd5b87602082850101111561075057600080fd5b6020830194508093505050509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156107a557600080fd5b6107ae83610695565b9150602083013567ffffffffffffffff808211156107cb57600080fd5b818501915085601f8301126107df57600080fd5b8135818111156107f1576107f1610763565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561083757610837610763565b8160405282815288602084870101111561085057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b8183823760009101908152919050565b6000828210156108bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6000825160005b8181101561091057602081860181015185830152016108f6565b8181111561091f576000828501525b50919091019291505056fea26469706673582212207698a80201d2f92a3290973c99527c6e810eaf731191e18abe2c96acab47dca764736f6c634300080a00330000000000000000000000008145edddf43f50276641b55bd3ad95944510021e

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.