Contract 0x9ab3fd50fcae73a1aeda959468fd0d662c881b42 5

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x62eb70da148aad4ce353aec729dd639c2f112e4039d1704e27cd82e862150364Approve1889728292024-03-10 12:48:4717 days 23 hrs ago0x705554a0279dff2ea75c5ff0249dd9cc8efddfc2 IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.000081990.1
0xda8feb01d0f629f86d636d0931b3daa34ac5129344ce0f14bcc3b1284a9f34efApprove1887070732024-03-09 16:20:0418 days 20 hrs ago0x705554a0279dff2ea75c5ff0249dd9cc8efddfc2 IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.000109640.1
0x58ea667a3d58a3f13052442824c64c95be9114f9e811121b0b66a967953b7456Approve1304032482023-09-12 11:50:01198 days 56 mins ago0x09fa38eba245bb68354b8950fa2fe71f02863393 IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.000032880.1
0xcc317b8d44d210fa3e2f1217aa65f554176f90550f03e398f64b7d20f02416b7Approve782381622023-04-08 7:08:14355 days 5 hrs ago0x10af5944a49da2cd650b273ad43a9abf01325d55 IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.00004271 0.1
0xa9d4882297ffdd18f275b9683030523a3abdcbddcf0511071816ad071a536b20Approve734802022023-03-25 9:16:20369 days 3 hrs ago0xa9b2031af770f1a4a16d507f77b68f638839800c IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.00003141 0.1
0xe00d9a24065ecb4408fca1072b1223f8dcc1ecb1269f9d3a49ef4034d4075c88Approve726078482023-03-22 22:05:54371 days 14 hrs ago0x779bf353a2d5d183192f1aad447d4b29c25cf48e IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.00005245 0.1
0xe1c4d9b3adf8ccc1a6666400c8095f87e2302da3742b21aebbe894567c67e09dApprove721939092023-03-21 17:40:23372 days 19 hrs ago0x2c23f12195077bee4ac4f7d598af30904a5fbf91 IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.00005946 0.1
0x5afbd4cb449940541b8e817520094e930e52042c17e6811a56552d49d61aefc0Approve691652022023-03-12 14:54:18381 days 21 hrs ago0xe272041f3bf10bc5b23728a0bdebad8f6d147705 IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.00004202 0.1
0x1b134635cb02c8995fec29b55eb17a154010ab1e2f8963e356ea848460b998a5Approve691451422023-03-12 13:18:23381 days 23 hrs ago0x663c0b69f6ca50b55fefb2cc7840c6936d396aa5 IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.0000387 0.1
0x27dec4ac9ce72e0bf1eb6e85566c71c6906f4c67266c375e9c06519139c45451Approve690103352023-03-12 2:30:03382 days 10 hrs ago0x1f75261dbd9d4cbb9b0ec9cfed668fbb412f0985 IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.00003979 0.1
0x7dddf3cbc36e72012b2171224cd14ac06294476cd8157cdaaeb61ec64e3cd23fApprove649856872023-02-27 6:02:14395 days 6 hrs ago0xe5b5cba9db36993ea32f3476629697bb11b0e295 IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.00003182 0.1
0x556bbccc544ac31c9e11faa25f584bc355517db655a698860345031ed8f01d64Approve646794952023-02-26 7:26:45396 days 5 hrs ago0x3aee75d002c33f14d9b43731fe0b9610eb0157d5 IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.00003674 0.1
0xb374cc4e199a7fbf052d9b338270a87eb0ade4eee9078a63aa21c7cb5a886114Approve630974022023-02-21 12:43:58401 days 2 mins ago0x154a6f4eb81b6db501638cf43ce1e9eb1670a54b IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.000048850.1
0x0f64718a4a36d0d943dffefb0ac78fbf55c87f409cb236d6fbf45576422fe12fApprove515240982023-01-08 1:11:09445 days 11 hrs ago0x0bb4537edd632a5f74fd9f0460026b1abd77f49d IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.00003399 0.1
0x4c6d1e4130000599e4ac93b077dffd98aa46b2835066762df85781ddac4a4cc5Approve500064162022-12-31 12:48:21452 days 23 hrs ago0x435b7d470767cb121f37dd296b2ac7913fdf5427 IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.000029770.1
0x4a47dccc529066d9551b2a4f61bbc9d1ee4aaeebe84a45ef69d1b112aae891f8Approve485990082022-12-24 20:37:50459 days 16 hrs ago0xde0aef70a7ae324045b7722c903aaaec2ac175f5 IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.00002561 0.1
0xe2cd0412c300ab0e5f86c1ca76384bc03b6458269cce0b9f9dcfbf65e4ebcd4cApprove413373202022-11-26 10:26:45488 days 2 hrs ago0x743d7b30661d65b41960bf6b5d1bb93cf7972a73 IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.0000173 0.1
0x50624de5e190d6cd3c5b66566a1b974b2dbdccb4e753ca708ea811402e8538e8Approve377909112022-11-13 15:23:39500 days 21 hrs ago0x2718e86f5793ac08bd3c4a301382e8c1da2a1e30 IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.00002347 0.1
0x62cf27a59a612813b922bd2b5915d1226486ecfc24cc8d479cfc3d867c147556Approve351398732022-11-04 7:01:11510 days 5 hrs ago0xfbfd81513ce0d7d8861889dbfdfb66f1764ba69c IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.000024840.1
0x52cc1216e01776d87a49e0c60cf4ebb852380c8cf7289dca6b19fdf6394b3038Approve327001872022-10-26 9:08:48519 days 3 hrs ago0xcedcc59e642c918867be5d26fca0294f1dbc0d55 IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.00002775 0.1
0x15cd4e8b2ba4db065a77c4fe74489254b2287f4db3dd5a63fd07e84ea3d61576Approve279183132022-10-02 6:40:55543 days 6 hrs ago0x3db70c686d37b62ab6e3470abb55a216b4c9be8a IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.00000878 0.1
0xe1e76c4e8a43ba893cc3b4e166f3703da6a1b28664ea62bfbd58009f3ce12936Approve236796942022-09-09 2:34:05566 days 10 hrs ago0x8594d8e9483473626908648a5539d9d65ca2fe8d IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.00002884 0.1
0xd3dff9c77d50ce3c0ab648b0020370bc71655ae5a8ffd7fd918763fd850029a6Approve156743462022-06-24 19:21:57642 days 17 hrs ago0x5596d991bf7753f0f14e1c5b59abbea626725401 IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.000308055025 ETH0.535188481
0xae8f23925b65e31ab8ed3f21f2b3c3990219195ead0711e3fa2fa99ed660b82fApprove123501992022-05-17 23:19:56680 days 13 hrs ago0x59324a21966af290c0d142150effba431a42217f IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.000167348771 ETH0.292629685
0xf825dfa81b7ebd80665939f92c962a4a8351f6609c9bfe694a4e63631f4d9a5eApprove123083752022-05-17 11:22:37681 days 1 hr ago0xb342406be801b69012a20bfab49771da2dcb4890 IN  0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH0.000146403026 ETH0.256605664
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x810bd98d1f317bb9eaef0e776bd8f1343855ace8513f58de8fc194d249e73dd7720674602023-03-21 8:59:48373 days 3 hrs ago 0x9ab3fd50fcae73a1aeda959468fd0d662c881b42 0xbe838ae7f6ba97e7eb545a3f43ee96ffbb3184dc0 ETH
0x810bd98d1f317bb9eaef0e776bd8f1343855ace8513f58de8fc194d249e73dd7720674602023-03-21 8:59:48373 days 3 hrs ago 1inch v5: Aggregation Router 0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH
0x810bd98d1f317bb9eaef0e776bd8f1343855ace8513f58de8fc194d249e73dd7720674602023-03-21 8:59:48373 days 3 hrs ago 0x9ab3fd50fcae73a1aeda959468fd0d662c881b42 0xbe838ae7f6ba97e7eb545a3f43ee96ffbb3184dc0 ETH
0x810bd98d1f317bb9eaef0e776bd8f1343855ace8513f58de8fc194d249e73dd7720674602023-03-21 8:59:48373 days 3 hrs ago 1inch v5: Aggregation Router 0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH
0x810bd98d1f317bb9eaef0e776bd8f1343855ace8513f58de8fc194d249e73dd7720674602023-03-21 8:59:48373 days 3 hrs ago 0x9ab3fd50fcae73a1aeda959468fd0d662c881b42 0xbe838ae7f6ba97e7eb545a3f43ee96ffbb3184dc0 ETH
0x810bd98d1f317bb9eaef0e776bd8f1343855ace8513f58de8fc194d249e73dd7720674602023-03-21 8:59:48373 days 3 hrs ago 0x64768a3a2453f1e8de9e43e92d65fc36e4c9872d 0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH
0x810bd98d1f317bb9eaef0e776bd8f1343855ace8513f58de8fc194d249e73dd7720674602023-03-21 8:59:48373 days 3 hrs ago 0x9ab3fd50fcae73a1aeda959468fd0d662c881b42 0xbe838ae7f6ba97e7eb545a3f43ee96ffbb3184dc0 ETH
0x810bd98d1f317bb9eaef0e776bd8f1343855ace8513f58de8fc194d249e73dd7720674602023-03-21 8:59:48373 days 3 hrs ago 0x6a060a569e04a41794d6b1308865a13f27d27e53 0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH
0x810bd98d1f317bb9eaef0e776bd8f1343855ace8513f58de8fc194d249e73dd7720674602023-03-21 8:59:48373 days 3 hrs ago 0x9ab3fd50fcae73a1aeda959468fd0d662c881b42 0xbe838ae7f6ba97e7eb545a3f43ee96ffbb3184dc0 ETH
0x810bd98d1f317bb9eaef0e776bd8f1343855ace8513f58de8fc194d249e73dd7720674602023-03-21 8:59:48373 days 3 hrs ago 0x6a060a569e04a41794d6b1308865a13f27d27e53 0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH
0x2a7bfc8e0d0e8ad433c4c726edfbb7b42465e7682391d8ce097f4049ea3db059715363062023-03-19 19:59:02374 days 16 hrs ago 0x9ab3fd50fcae73a1aeda959468fd0d662c881b42 0xbe838ae7f6ba97e7eb545a3f43ee96ffbb3184dc0 ETH
0x2a7bfc8e0d0e8ad433c4c726edfbb7b42465e7682391d8ce097f4049ea3db059715363062023-03-19 19:59:02374 days 16 hrs ago 1inch v5: Aggregation Router 0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH
0x2a7bfc8e0d0e8ad433c4c726edfbb7b42465e7682391d8ce097f4049ea3db059715363062023-03-19 19:59:02374 days 16 hrs ago 0x9ab3fd50fcae73a1aeda959468fd0d662c881b42 0xbe838ae7f6ba97e7eb545a3f43ee96ffbb3184dc0 ETH
0x2a7bfc8e0d0e8ad433c4c726edfbb7b42465e7682391d8ce097f4049ea3db059715363062023-03-19 19:59:02374 days 16 hrs ago 1inch v5: Aggregation Router 0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH
0x2a7bfc8e0d0e8ad433c4c726edfbb7b42465e7682391d8ce097f4049ea3db059715363062023-03-19 19:59:02374 days 16 hrs ago 0x9ab3fd50fcae73a1aeda959468fd0d662c881b42 0xbe838ae7f6ba97e7eb545a3f43ee96ffbb3184dc0 ETH
0x2a7bfc8e0d0e8ad433c4c726edfbb7b42465e7682391d8ce097f4049ea3db059715363062023-03-19 19:59:02374 days 16 hrs ago 0x64768a3a2453f1e8de9e43e92d65fc36e4c9872d 0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH
0x2a7bfc8e0d0e8ad433c4c726edfbb7b42465e7682391d8ce097f4049ea3db059715363062023-03-19 19:59:02374 days 16 hrs ago 0x9ab3fd50fcae73a1aeda959468fd0d662c881b42 0xbe838ae7f6ba97e7eb545a3f43ee96ffbb3184dc0 ETH
0x2a7bfc8e0d0e8ad433c4c726edfbb7b42465e7682391d8ce097f4049ea3db059715363062023-03-19 19:59:02374 days 16 hrs ago 0x6a060a569e04a41794d6b1308865a13f27d27e53 0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH
0x2a7bfc8e0d0e8ad433c4c726edfbb7b42465e7682391d8ce097f4049ea3db059715363062023-03-19 19:59:02374 days 16 hrs ago 0x9ab3fd50fcae73a1aeda959468fd0d662c881b42 0xbe838ae7f6ba97e7eb545a3f43ee96ffbb3184dc0 ETH
0x2a7bfc8e0d0e8ad433c4c726edfbb7b42465e7682391d8ce097f4049ea3db059715363062023-03-19 19:59:02374 days 16 hrs ago 0x6a060a569e04a41794d6b1308865a13f27d27e53 0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH
0x6a423a49a265d56148d73fe20605d55acaac345c4f1e392312c30c8e8f23efff703923092023-03-16 11:43:17378 days 1 hr ago 0x9ab3fd50fcae73a1aeda959468fd0d662c881b42 0xbe838ae7f6ba97e7eb545a3f43ee96ffbb3184dc0 ETH
0x6a423a49a265d56148d73fe20605d55acaac345c4f1e392312c30c8e8f23efff703923092023-03-16 11:43:17378 days 1 hr ago 1inch v5: Aggregation Router 0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH
0x6a423a49a265d56148d73fe20605d55acaac345c4f1e392312c30c8e8f23efff703923092023-03-16 11:43:17378 days 1 hr ago 0x9ab3fd50fcae73a1aeda959468fd0d662c881b42 0xbe838ae7f6ba97e7eb545a3f43ee96ffbb3184dc0 ETH
0x6a423a49a265d56148d73fe20605d55acaac345c4f1e392312c30c8e8f23efff703923092023-03-16 11:43:17378 days 1 hr ago 1inch v5: Aggregation Router 0x9ab3fd50fcae73a1aeda959468fd0d662c881b420 ETH
0x6a423a49a265d56148d73fe20605d55acaac345c4f1e392312c30c8e8f23efff703923092023-03-16 11:43:17378 days 1 hr ago 0x9ab3fd50fcae73a1aeda959468fd0d662c881b42 0xbe838ae7f6ba97e7eb545a3f43ee96ffbb3184dc0 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AdminUpgradeabilityProxy

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Arbiscan.io on 2021-10-13
*/

/**
 *Submitted for verification at arbiscan.io on 2021-09-03
*/

/**
 *Submitted for verification at Etherscan.io on 2020-10-09
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.6.2;

/**
 * @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;
        // solhint-disable-next-line no-inline-assembly
        assembly { size := extcodesize(account) }
        return size > 0;
    }

}
/**
 * @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 () payable external {
    _fallback();
  }

  /**
   * @dev Receive function.
   * Implemented entirely in `_fallback`.
   */
  receive () payable external {
    _fallback();
  }

  /**
   * @return The Address of the implementation.
   */
  function _implementation() internal virtual view 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 {
    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());
  }
}

/**
 * @title UpgradeabilityProxy
 * @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 UpgradeabilityProxy is Proxy {
  /**
   * @dev Contract constructor.
   * @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.
   */
  constructor(address _logic, bytes memory _data) public payable {
    assert(IMPLEMENTATION_SLOT == bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1));
    _setImplementation(_logic);
    if(_data.length > 0) {
      (bool success,) = _logic.delegatecall(_data);
      require(success);
    }
  }  

  /**
   * @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 override view returns (address impl) {
    bytes32 slot = IMPLEMENTATION_SLOT;
    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;

    assembly {
      sstore(slot, newImplementation)
    }
  }
}

/**
 * @title AdminUpgradeabilityProxy
 * @dev This contract combines an upgradeability proxy with an authorization
 * mechanism for administrative tasks.
 * 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 AdminUpgradeabilityProxy is UpgradeabilityProxy {
  /**
   * Contract constructor.
   * @param _logic address of the initial implementation.
   * @param _admin Address of the proxy administrator.
   * @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.
   */
  constructor(address _logic, address _admin, bytes memory _data) UpgradeabilityProxy(_logic, _data) public payable {
    assert(ADMIN_SLOT == bytes32(uint256(keccak256('eip1967.proxy.admin')) - 1));
    _setAdmin(_admin);
  }

  /**
   * @dev Emitted when the administration has been transferred.
   * @param previousAdmin Address of the previous admin.
   * @param newAdmin Address of the new admin.
   */
  event AdminChanged(address previousAdmin, address newAdmin);

  /**
   * @dev Storage slot with the admin of the contract.
   * This is the keccak-256 hash of "eip1967.proxy.admin" subtracted by 1, and is
   * validated in the constructor.
   */

  bytes32 internal constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;

  /**
   * @dev Modifier to check whether the `msg.sender` is the admin.
   * If it is, it will run the function. Otherwise, it will delegate the call
   * to the implementation.
   */
  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 Changes the admin of the proxy.
   * Only the current admin can call this function.
   * @param newAdmin Address to transfer proxy administration to.
   */
  function changeAdmin(address newAdmin) external ifAdmin {
    require(newAdmin != address(0), "Cannot change the admin of a proxy to the zero address");
    emit AdminChanged(_admin(), newAdmin);
    _setAdmin(newAdmin);
  }

  /**
   * @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) payable external ifAdmin {
    _upgradeTo(newImplementation);
    (bool success,) = newImplementation.delegatecall(data);
    require(success);
  }

  /**
   * @return adm The admin slot.
   */
  function _admin() internal view returns (address adm) {
    bytes32 slot = ADMIN_SLOT;
    assembly {
      adm := sload(slot)
    }
  }

  /**
   * @dev Sets the address of the proxy admin.
   * @param newAdmin Address of the new proxy admin.
   */
  function _setAdmin(address newAdmin) internal {
    bytes32 slot = ADMIN_SLOT;

    assembly {
      sstore(slot, newAdmin)
    }
  }

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

Contract ABI

[{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"address","name":"_admin","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"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":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","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"},{"stateMutability":"payable","type":"receive"}]

60806040526040516108d23803806108d28339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508290506100ee826101bf565b8051156101a6576000826001600160a01b0316826040518082805190602001908083835b602083106101315780518252601f199092019160209182019101610112565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610191576040519150601f19603f3d011682016040523d82523d6000602084013e610196565b606091505b50509050806101a457600080fd5b505b506101ae9050565b6101b782610231565b50505061025b565b6101d28161025560201b6103b41760201c565b61020d5760405162461bcd60e51b815260040180806020018281038252603b815260200180610897603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61062d8061026a6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996103ba565b6101a96101a461041a565b61043f565b565b6101b3610463565b6001600160a01b0316336001600160a01b031614156101da576101d581610488565b6101e2565b6101e2610191565b50565b6101ed610463565b6001600160a01b0316336001600160a01b031614156102855761020f83610488565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd61041a565b90506102cc565b6102cc610191565b90565b6102d7610463565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b81526004018080602001828103825260368152602001806105876036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610463565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c8565b6000610393610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd610463565b3b151590565b6103c2610463565b6001600160a01b0316336001600160a01b031614156104125760405162461bcd60e51b81526004018080602001828103825260328152602001806105556032913960400191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610491816104ec565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104f5816103b4565b6105305760405162461bcd60e51b815260040180806020018281038252603b8152602001806105bd603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220d88cb50347ac8c84a4ec77a619d2b7fd199f101a965a00237b8178c54f54615a64736f6c634300060c003343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e7472616374206164647265737300000000000000000000000019be80e976cb397ae584d350153914ced7c1b1d200000000000000000000000095713d825bcaa799a8e2f2b6c75aed8b8912485200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996103ba565b6101a96101a461041a565b61043f565b565b6101b3610463565b6001600160a01b0316336001600160a01b031614156101da576101d581610488565b6101e2565b6101e2610191565b50565b6101ed610463565b6001600160a01b0316336001600160a01b031614156102855761020f83610488565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd61041a565b90506102cc565b6102cc610191565b90565b6102d7610463565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b81526004018080602001828103825260368152602001806105876036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610463565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c8565b6000610393610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd610463565b3b151590565b6103c2610463565b6001600160a01b0316336001600160a01b031614156104125760405162461bcd60e51b81526004018080602001828103825260328152602001806105556032913960400191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610491816104ec565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104f5816103b4565b6105305760405162461bcd60e51b815260040180806020018281038252603b8152602001806105bd603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220d88cb50347ac8c84a4ec77a619d2b7fd199f101a965a00237b8178c54f54615a64736f6c634300060c0033

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

00000000000000000000000019be80e976cb397ae584d350153914ced7c1b1d200000000000000000000000095713d825bcaa799a8e2f2b6c75aed8b8912485200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _logic (address): 0x19Be80E976cB397AE584d350153914ceD7C1B1d2
Arg [1] : _admin (address): 0x95713d825BcAA799A8e2F2b6c75aeD8b89124852
Arg [2] : _data (bytes): 0x

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000019be80e976cb397ae584d350153914ced7c1b1d2
Arg [1] : 00000000000000000000000095713d825bcaa799a8e2f2b6c75aed8b89124852
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

6601:4220:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1907:11;:9;:11::i;:::-;6601:4220;;1763:11;:9;:11::i;9247:105::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9247:105:0;-1:-1:-1;;;;;9247:105:0;;:::i;9880:225::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9880:225:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9880:225:0;;-1:-1:-1;9880:225:0;-1:-1:-1;9880:225:0;:::i;8547:98::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;8547:98:0;;;;;;;;;;;;;;8828:228;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8828:228:0;-1:-1:-1;;;;;8828:228:0;;:::i;8398:80::-;;;;;;;;;;;;;:::i;3481:93::-;3518:15;:13;:15::i;:::-;3540:28;3550:17;:15;:17::i;:::-;3540:9;:28::i;:::-;3481:93::o;9247:105::-;8265:8;:6;:8::i;:::-;-1:-1:-1;;;;;8251:22:0;:10;-1:-1:-1;;;;;8251:22:0;;8247:80;;;9317:29:::1;9328:17;9317:10;:29::i;:::-;8247:80:::0;;;8308:11;:9;:11::i;:::-;9247:105;:::o;9880:225::-;8265:8;:6;:8::i;:::-;-1:-1:-1;;;;;8251:22:0;:10;-1:-1:-1;;;;;8251:22:0;;8247:80;;;9986:29:::1;9997:17;9986:10;:29::i;:::-;10023:12;10040:17;-1:-1:-1::0;;;;;10040:30:0::1;10071:4;;10040:36;;;;;;;;;;::::0;;::::1;::::0;-1:-1:-1;10040:36:0::1;::::0;-1:-1:-1;10040:36:0;;-1:-1:-1;;10040:36:0;;::::1;::::0;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10022:54;;;10091:7;10083:16;;;::::0;::::1;;8284:1;8247:80:::0;;;8308:11;:9;:11::i;:::-;9880:225;;;:::o;8547:98::-;8599:7;8265:8;:6;:8::i;:::-;-1:-1:-1;;;;;8251:22:0;:10;-1:-1:-1;;;;;8251:22:0;;8247:80;;;8622:17:::1;:15;:17::i;:::-;8615:24;;8247:80:::0;;;8308:11;:9;:11::i;:::-;8547:98;:::o;8828:228::-;8265:8;:6;:8::i;:::-;-1:-1:-1;;;;;8251:22:0;:10;-1:-1:-1;;;;;8251:22:0;;8247:80;;;-1:-1:-1;;;;;8899:22:0;::::1;8891:89;;;;-1:-1:-1::0;;;8891:89:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8992:32;9005:8;:6;:8::i;:::-;8992:32;::::0;;-1:-1:-1;;;;;8992:32:0;;::::1;::::0;;;;::::1;;::::0;::::1;::::0;;;;;;;;;::::1;9031:19;9041:8;9031:9;:19::i;8398:80::-:0;8441:7;8265:8;:6;:8::i;:::-;-1:-1:-1;;;;;8251:22:0;:10;-1:-1:-1;;;;;8251:22:0;;8247:80;;;8464:8:::1;:6;:8::i;884:422::-:0;1251:20;1290:8;;;884:422::o;10641:177::-;10721:8;:6;:8::i;:::-;-1:-1:-1;;;;;10707:22:0;:10;-1:-1:-1;;;;;10707:22:0;;;10699:85;;;;-1:-1:-1;;;10699:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10791:21;:19;:21::i;5335:170::-;5144:66;5482:11;;5465:35::o;2354:762::-;2661:14;2658:1;2655;2642:34;2861:1;2858;2842:14;2839:1;2823:14;2816:5;2803:60;2928:16;2925:1;2922;2907:38;2962:6;3019:38;;;;3085:16;3082:1;3075:27;3019:38;3038:16;3035:1;3028:27;10159:141;7958:66;10277:11;;10261:34::o;5646:145::-;5709:37;5728:17;5709:18;:37::i;:::-;5758:27;;-1:-1:-1;;;;;5758:27:0;;;;;;;;5646:145;:::o;10422:139::-;7958:66;10527:22;10518:38::o;5934:293::-;6013:37;6032:17;6013:18;:37::i;:::-;6005:109;;;;-1:-1:-1;;;6005:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5144:66;6184:31;6175:47::o

Metadata Hash

d88cb50347ac8c84a4ec77a619d2b7fd199f101a965a00237b8178c54f54615a
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.