Contract 0x8145edddf43f50276641b55bd3ad95944510021e 4

Aave 
 
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0x08206219dd8b2e1aba5147a2cb673807610f06bfbf5d935188dac756145d1a40Set Supply Cap267400142022-04-04 16:20:08351 days 7 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.002229446996 32.999999953
0xb2ec72316e54dc4ca0a7712fc45961fd8fa4279477ad8b570ef0d13103fd5a2eSet Supply Cap267400052022-04-04 16:19:50351 days 7 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.00236456498 34.999999716
0xd6a051c5e00b0631156ebf9b2f40540b43737519b2a447b5936cfa259e004269Set Supply Cap267399952022-04-04 16:19:30351 days 7 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.002229446988 32.999999835
0xb105f30a5adf86702016c9f4cd4084070b95532e9ffc4dbdf426d3b0fda7b4c1Set Supply Cap267399852022-04-04 16:19:10351 days 7 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.002263947626 32.479916599
0xb5ecf8ba1439efbbc718abdaa7b68bb90615f909a2b4e761b7bbd53d88b255a5Set E Mode Categ...267394292022-04-04 15:59:46351 days 7 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.00688651764 36.026772906
0xc86d03122325dde3cc280edfdc0e2ec7784f4aefe35b6972af52d8339c637c27Set Reserve Stab...266102722022-04-01 8:39:52354 days 15 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.002623524565 38.999919209
0x49bc0fec2132145487d483a51ffaf49bc18659a2406aff2e4b33b3f4400fc876Set Reserve Stab...266102662022-04-01 8:39:40354 days 15 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.002623515973 38.999791489
0x5970c637e4c33619d5e50383f28d17e2893c8deed0893d5dc1501eaceed0bf44Set Reserve Stab...266102612022-04-01 8:39:30354 days 15 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.002421712221 35.999884371
0xd8572b39fac4c03d8017c010203d2b6ae2d3f7670a3d0ac508f0e4ef88267ec4Set Debt Ceiling262280242022-03-22 13:13:57364 days 10 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.0024669985 36.5
0x0b8712913d77b50e5f00270174a4b5f2c77d7250feaab9a3913081ee810df22fSet Debt Ceiling262280192022-03-22 13:13:47364 days 10 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.002500793 37.000000001
0xee4955ea5738270cb42dbb169ad9b88cb51d6d079d6a61fa22a1afee2706caeaSet Reserve Inte...260798542022-03-18 15:49:23368 days 8 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.002756775628 31.304584542
0x33bcad23eadf351d1e36a13b18fa64421ce0f9782bef5fe7f9e5099152501eefSet Reserve Inte...260798492022-03-18 15:49:03368 days 8 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.005296108821 60.140000017
0xc1f01a581d21cb6919e33a8239e625dfed6cf5eae9e80d1bfa33bec324369d93Set Reserve Inte...260798442022-03-18 15:48:43368 days 8 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.004843465001 55.000000018
0x4780e337ad9d919992faafaaebda3e8f65a0a7de3df7f79b7dc77a53dee241d1Set Reserve Inte...260798222022-03-18 15:47:15368 days 8 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.00320728889 36.420390971
0x7703975af404faa6c6dfdd45d0396bd1e415800c3cddfba20a21f3532bab8243Set Reserve Inte...260798122022-03-18 15:46:35368 days 8 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.004843465 55.000000002
0x02f9dd8edb6ce76a95aff13f8aacd6574664a57b3fcf4fe5efc9969a1799c516Set Reserve Inte...260797952022-03-18 15:45:47368 days 8 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.002827844159 31.348389365
0x5a083902fb57cd8fe108e05446fc88f88bb3c239b67810ff2b10a8ee23f781e8Set Pool Pause260006072022-03-16 10:16:01370 days 13 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.01473834628 42.000000799
0xbb46332f2b7757658e11c2c0dbd09bb449435271213c475722b55ab203e6ef82Set Pool Pause259433812022-03-14 19:20:54372 days 4 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.013329069759 37.999999315
0x0451fd1db296d2bd75019a3827d218a5e250a39157e240221492be7c1590de0aSet Liquidation ...258266152022-03-11 10:50:05375 days 13 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.0037185555
0xc0c0a8ab57c98fffbf683bbcbbf7b50cc8a2654873957fd6b55d0ec0983aa644Set Liquidation ...258266092022-03-11 10:49:53375 days 13 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.0037185555
0x93d4f401823f535e1da998faa98fdb764c54923a52ad34c4b264d06863470a13Set Liquidation ...258266022022-03-11 10:49:39375 days 13 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.0037185555
0x120b32c69a0feb877131a921e86aea534a90975df907c22cae11dcc817f7d26eSet Liquidation ...258265992022-03-11 10:49:33375 days 13 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.0037185555
0x5d1cdc106f347c6130c6324722e041ab2c5243bc1df7788bbc210ffc07d0da15Set Liquidation ...258265942022-03-11 10:49:23375 days 13 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.0037185555
0x44d8bf60f68c283922a8a516f3a04c86db6c7925a4614b422d6fd9e27b9e095aSet Liquidation ...258265882022-03-11 10:49:11375 days 13 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.0037185555
0x56399fa3ee733625ff1b9e26c6dbc16203196f9d349850a5503e07528481f9bcSet Liquidation ...258265822022-03-11 10:48:59375 days 13 hrs ago0x4365f8e70cf38c6ca67de41448508f2da8825500 IN Aave: Pool Configurator V30 MATIC0.0037185555
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xffd11dcfb6db64df0c6919e15483ca3b09032be9214fef93c5d990f8c95f3ec2333168632022-09-19 21:02:19183 days 2 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0xffd11dcfb6db64df0c6919e15483ca3b09032be9214fef93c5d990f8c95f3ec2333168632022-09-19 21:02:19183 days 2 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0xffd11dcfb6db64df0c6919e15483ca3b09032be9214fef93c5d990f8c95f3ec2333168632022-09-19 21:02:19183 days 2 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0x9470258f40ba4cdf5150dcb0aa7a926492357d1e74d1baa180c9c89bf6be28c7331015852022-09-14 16:26:59188 days 7 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0x9470258f40ba4cdf5150dcb0aa7a926492357d1e74d1baa180c9c89bf6be28c7331015852022-09-14 16:26:59188 days 7 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0x9470258f40ba4cdf5150dcb0aa7a926492357d1e74d1baa180c9c89bf6be28c7331015852022-09-14 16:26:59188 days 7 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0xb59f6b57a14cd0535ade8b75ef29f6ac471dbef6c3fc6f6b54fe566e5928374d324538422022-08-29 16:15:46204 days 7 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0xb59f6b57a14cd0535ade8b75ef29f6ac471dbef6c3fc6f6b54fe566e5928374d324538422022-08-29 16:15:46204 days 7 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0xb59f6b57a14cd0535ade8b75ef29f6ac471dbef6c3fc6f6b54fe566e5928374d324538422022-08-29 16:15:46204 days 7 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0x4e2ab7679e0547e8bb25308e38844db78c41b66fab4db47bfe4b965e2a02f0b0258264242022-03-11 10:43:31375 days 13 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0x4e2ab7679e0547e8bb25308e38844db78c41b66fab4db47bfe4b965e2a02f0b0258264242022-03-11 10:43:31375 days 13 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0x4e2ab7679e0547e8bb25308e38844db78c41b66fab4db47bfe4b965e2a02f0b0258264242022-03-11 10:43:31375 days 13 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0x87778f410919541c6dee0f47093ec999d10b5316dce7dc6614fd1c100bda90f8258264202022-03-11 10:43:23375 days 13 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0x87778f410919541c6dee0f47093ec999d10b5316dce7dc6614fd1c100bda90f8258264202022-03-11 10:43:23375 days 13 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0x87778f410919541c6dee0f47093ec999d10b5316dce7dc6614fd1c100bda90f8258264202022-03-11 10:43:23375 days 13 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0x87778f410919541c6dee0f47093ec999d10b5316dce7dc6614fd1c100bda90f8258264202022-03-11 10:43:23375 days 13 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0x87778f410919541c6dee0f47093ec999d10b5316dce7dc6614fd1c100bda90f8258264202022-03-11 10:43:23375 days 13 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0x87778f410919541c6dee0f47093ec999d10b5316dce7dc6614fd1c100bda90f8258264202022-03-11 10:43:23375 days 13 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0x87778f410919541c6dee0f47093ec999d10b5316dce7dc6614fd1c100bda90f8258264202022-03-11 10:43:23375 days 13 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0x87778f410919541c6dee0f47093ec999d10b5316dce7dc6614fd1c100bda90f8258264202022-03-11 10:43:23375 days 13 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0x87778f410919541c6dee0f47093ec999d10b5316dce7dc6614fd1c100bda90f8258264202022-03-11 10:43:23375 days 13 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0xa0c5ff49356794314ebe0307519675c745e982b90cdfb43238879b23a2d61ea6258264162022-03-11 10:43:15375 days 13 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0xa0c5ff49356794314ebe0307519675c745e982b90cdfb43238879b23a2d61ea6258264162022-03-11 10:43:15375 days 13 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0xa0c5ff49356794314ebe0307519675c745e982b90cdfb43238879b23a2d61ea6258264162022-03-11 10:43:15375 days 13 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
0xa0c5ff49356794314ebe0307519675c745e982b90cdfb43238879b23a2d61ea6258264162022-03-11 10:43:15375 days 13 hrs ago Aave: Pool Configurator V3  Contract Creation0 MATIC
[ Download CSV Export 
Loading

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

Contract Name:
InitializableImmutableAdminUpgradeabilityProxy

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 100000 runs

Other Settings:
default evmVersion, GNU AGPLv3 license
File 1 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');
  }
}

File 2 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 3 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 4 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 5 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 6 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();
  }
}

Settings
{
  "evmVersion": "berlin",
  "libraries": {},
  "metadata": {
    "bytecodeHash": "ipfs",
    "useLiteralContent": true
  },
  "optimizer": {
    "enabled": true,
    "runs": 100000
  },
  "remappings": [],
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

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

60a060405234801561001057600080fd5b50604051610a0e380380610a0e83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516109606100ae6000396000818161014f015281816101a101528181610274015281816104110152818161043a01526105ab01526109606000f3fe60806040526004361061005a5760003560e01c80635c60da1b116100435780635c60da1b14610097578063d1f57894146100d5578063f851a440146100e85761005a565b80633659cfe6146100645780634f1ef28614610084575b6100626100fd565b005b34801561007057600080fd5b5061006261007f3660046106be565b610137565b6100626100923660046106e0565b610189565b3480156100a357600080fd5b506100ac61025a565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100626100e3366004610792565b6102cb565b3480156100f457600080fd5b506100ac6103f7565b61010561045c565b6101356101307f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b610464565b565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614156101815761017e81610488565b50565b61017e6100fd565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016141561024d576101d083610488565b60008373ffffffffffffffffffffffffffffffffffffffff1683836040516101f9929190610872565b600060405180830381855af49150503d8060008114610234576040519150601f19603f3d011682016040523d82523d6000602084013e610239565b606091505b505090508061024757600080fd5b50505050565b6102556100fd565b505050565b60003373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614156102c057507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6102c86100fd565b90565b60006102f57f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b73ffffffffffffffffffffffffffffffffffffffff161461031557600080fd5b61034060017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd610882565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc1461036e5761036e6108c0565b610377826104d5565b8051156103f35760008273ffffffffffffffffffffffffffffffffffffffff16826040516103a591906108ef565b600060405180830381855af49150503d80600081146103e0576040519150601f19603f3d011682016040523d82523d6000602084013e6103e5565b606091505b505090508061025557600080fd5b5050565b60003373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614156102c057507f000000000000000000000000000000000000000000000000000000000000000090565b610135610593565b3660008037600080366000845af43d6000803e808015610483573d6000f35b3d6000fd5b610491816104d5565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6104de81610659565b61056f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000060648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161415610135576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260448201527f6f6d207468652070726f78792061646d696e00000000000000000000000000006064820152608401610566565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061068d57508115155b949350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106b957600080fd5b919050565b6000602082840312156106d057600080fd5b6106d982610695565b9392505050565b6000806000604084860312156106f557600080fd5b6106fe84610695565b9250602084013567ffffffffffffffff8082111561071b57600080fd5b818601915086601f83011261072f57600080fd5b81358181111561073e57600080fd5b87602082850101111561075057600080fd5b6020830194508093505050509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156107a557600080fd5b6107ae83610695565b9150602083013567ffffffffffffffff808211156107cb57600080fd5b818501915085601f8301126107df57600080fd5b8135818111156107f1576107f1610763565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561083757610837610763565b8160405282815288602084870101111561085057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b8183823760009101908152919050565b6000828210156108bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6000825160005b8181101561091057602081860181015185830152016108f6565b8181111561091f576000828501525b50919091019291505056fea26469706673582212207698a80201d2f92a3290973c99527c6e810eaf731191e18abe2c96acab47dca764736f6c634300080a0033000000000000000000000000a97684ead0e402dc232d5a977953df7ecbab3cdb

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.