Contract 0x65f7BA4Ec257AF7c55fd5854E5f6356bBd0fb8EC 7

Token Contract 
 
 
Txn Hash
Method
Block
From
To
Value
0xc9865c81997b5d02abc4e8f8a01efb65d62ba2128848df7b6d2b46fe3dba12bcRequest Withdraw...(pending)2022-12-04 5:50:326 hrs 10 mins ago0x48d8986a59aef11ab4b2bec06fa6c6da559d112d IN 0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether(Pending)(Pending)
0x53b4fd352e4bec02da67b4fe9470e1f21a8607e9350248b8c7e0177e5d2fa4d1Withdraw Stake(pending)2022-12-04 1:49:5210 hrs 10 mins ago0xb5682a2e0ec16a7c5dd720f6888ca94d84967dd9 IN 0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether(Pending)(Pending)
0xa397eec46e66c95f88edfd441cefd2c0cf1dcac61e2bed1ce89329053f243386Request Withdraw...(pending)2022-12-04 1:40:2510 hrs 20 mins ago0x1fbd756d497a013055e5a566c19cf4754e06c0ef IN 0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether(Pending)(Pending)
0x157fe558513eb144b0e410836db0bdb254af2a425d1bdc608296823d99fd9611Request Withdraw...161112792022-12-04 11:55:115 mins ago0x7294c15ff775fc1d50a84456480a4609dbf2f1cd IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00151009 13.11310949
0x5d52f2062a16abfd9cf7c34317a558e94879147be142f38d7a0280ecff6074fcRequest Withdraw...161111752022-12-04 11:34:2326 mins ago0x086cc6d72d63b9de2b3bd5450cd6536bc50620d7 IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00108516 11.0651126
0xb95f06756e20197f88f9f9d8780b6460964aab7cc80278a2487a10dcc80e5451Request Withdraw...161107652022-12-04 10:11:351 hr 49 mins ago0xf71f2d0aa34320ea40f2795b4ee10520d39b68f9 IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00130331 11.64124726
0xcb358d5c3b52539ebd0d896e422e4c45a3c676c98cb58acbd817880a706b695aRequest Withdraw...161106512022-12-04 9:48:232 hrs 12 mins ago0x6a43cf422bb521b6bcc1efa5c31c09cb1ee9bde7 IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00109901 9.81530924
0x6d775fedbc570f0054c88e69a05e1a7d80e97f3d226f91078ed020f3f3186198Request Withdraw...161106102022-12-04 9:39:592 hrs 20 mins agoENS Name mirugai.eth IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.0011454310.231058
0xa62a264b77f20e82d27131e033ead7f1bfbf35adb02a685a7c1013acb37d9cd6Request Withdraw...161105522022-12-04 9:27:592 hrs 32 mins agoENS Name daktilo.eth IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00151427 13.14806654
0x294558d78ae3c5b647d32b24a8b8a6bde9e4fbf141f21fe036e73c0a9fd81aa5Request Withdraw...161101122022-12-04 7:59:474 hrs ago0x805c559b43565505cec1273801d5aab30fb91004 IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00130336 11.64167171
0xff7d45a4f95269d265f0cb43805de9e1dc972cc8dc645a17cbbc9d70a2b3237bRequest Withdraw...161090382022-12-04 4:23:477 hrs 36 mins ago0xa94ca3837fa92d3223f0b651c5672299f286158d IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00124261 13.09821986
0xeadb7cd554f11ca3f44c61cee2f371908029c7b118a6e7f49112971b1413313fRequest Withdraw...161079702022-12-04 0:49:1111 hrs 11 mins ago0x7e62d7bbea6c1a843552f6dbb6e1395bad769226 IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00134328 11.9982145
0xfdc82ce8d864f6083dab8f01a268ebd12b4030f8c16648b195e4fc58206711ebRequest Withdraw...161079102022-12-04 0:36:4711 hrs 23 mins agoENS Name nottinghillcrypto.eth IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00124852 10.84397509
0xac7c5c22839ddc77c1bda6cd4f7a236ff72214fb3d961bbb8c88ae360c262ff6Request Withdraw...161074872022-12-03 23:12:1112 hrs 48 mins ago0x35a2baa533816cb9195fa8ec08ad86f6c3291c8e IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.0012080610.790395
0x5dbcbbd34c185cebd9ef1a107c1263b8b468b00c5fdebefffaa5566c236355d3Request Withdraw...161073752022-12-03 22:49:3513 hrs 11 mins ago0xbffc731f0f9f468ba2d09755df04c6d65ce400ed IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00130791 11.68105373
0xfa20a54d5a180e01acc6214cd265341aa10e97c0ad0b0fc070323562569e893dRequest Withdraw...161072832022-12-03 22:31:1113 hrs 29 mins ago0x5b6616c6bc908eaf891196e42a654f94390b6a56 IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00128528 11.16096879
0x1efd0edfda1a52e79e4ef7bc82c645a3b3415a650e6307541d8a1ee658c6d66cWithdraw Stake161071992022-12-03 22:14:1113 hrs 46 mins ago0x310d67930c38041cbe27c543eaa8f62854316008 IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.0029238 9.67892732
0xd8fd238353ab0a87077291d8f021fa778d7e988e9cf660ab24afd8e84ebd6bd5Request Withdraw...161068212022-12-03 20:58:3515 hrs 2 mins ago0x6f2aabdf2dab927e06f0b3480fe0d414a9416964 IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00111485 9.68
0x0425592e18cff1b001f92400c6f17663ffd7f51a55a170937e7d5bf9568f6335Request Withdraw...161062682022-12-03 19:07:3516 hrs 53 mins ago0xf54788a2ead2021dc517440b649fa38126d42821 IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00146573 13.09190525
0x7df5fed9e7549184f64c3dac2f82fd616d086a7e3eb6dd9356b3f840cc66163bRequest Withdraw...161058692022-12-03 17:46:5918 hrs 13 mins ago0x212d29a3373f988e78e128de80e81a1889c09654 IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00142761 12.75419962
0xa15f8748263ea25eea66ff50ba25b7ae7a1d972768c67aa8d516049a2b09ce51Request Withdraw...161054162022-12-03 16:15:3519 hrs 45 mins ago0xa6c55bf6ae668706e6454565eb755ff4d465e235 IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00109724 11.56586241
0xec2ef41d9c2d9734b8d2a5de945499e0e79c217adae579b9d4d2e495669fc395Withdraw Stake161043372022-12-03 12:38:2323 hrs 22 mins ago0x08d6d5c54fbacfde6b510ac2993bc66165871d74 IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00437665 13.71325712
0x05444a3decf71ffd07c2cb6f38e3833850fb015963fcf54f26f3dd56317b2bc4Request Withdraw...161042042022-12-03 12:11:3523 hrs 49 mins ago0x61e4dc022be16819c8804125cc94f09cec527cb2 IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00134787 12.03791501
0x5b0462fd7c7de091166c83f89126db45fda80c3e23740a082543549e0e2923ecRequest Withdraw...161040512022-12-03 11:40:471 day 19 mins ago0xaa2482363f4b15541f4c2dae19dcc1b15050df84 IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.00130576 11.34000347
0x1981b71d709cb9a5dbe14489e8b303ded298fea2cfa3c8daf792c5685be7fe76Request Withdraw...161038762022-12-03 11:05:231 day 55 mins ago0x108a8b7200d044bbbe95bef6f671baec5473e05f IN  0x65f7ba4ec257af7c55fd5854e5f6356bbd0fb8ec0 Ether0.001399 12.1471689
[ Download CSV Export 
View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
InitializableAdminUpgradeabilityProxy

Compiler Version
v0.7.5+commit.eb77ed08

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 8 : Address.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.7.5;

/**
 * @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 8 : BaseUpgradeabilityProxy.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.7.5;

import './Proxy.sol';
import './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 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)
    }
  }
}

File 3 of 8 : Proxy.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.7.5;

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

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

File 4 of 8 : InitializableUpgradeabilityProxy.sol
// SPDX-License-Identifier: AGPL-3.0
pragma solidity 0.7.5;

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 5 of 8 : InitializableAdminUpgradeabilityProxy.sol
// SPDX-License-Identifier: AGPL-3.0
//
// Contracts by dYdX Foundation. Individual files are released under different licenses.
//
// https://dydx.community
// https://github.com/dydxfoundation/governance-contracts

pragma solidity 0.7.5;

import './BaseAdminUpgradeabilityProxy.sol';
import './InitializableUpgradeabilityProxy.sol';

/**
 * @title InitializableAdminUpgradeabilityProxy
 * @dev Extends from BaseAdminUpgradeabilityProxy with an initializer for
 * initializing the implementation, admin, and init data.
 */
contract InitializableAdminUpgradeabilityProxy is
  BaseAdminUpgradeabilityProxy,
  InitializableUpgradeabilityProxy
{
  /**
   * Contract initializer.
   * @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.
   */
  function initialize(
    address _logic,
    address _admin,
    bytes memory _data
  ) public payable {
    require(_implementation() == address(0));
    InitializableUpgradeabilityProxy.initialize(_logic, _data);
    assert(ADMIN_SLOT == bytes32(uint256(keccak256('eip1967.proxy.admin')) - 1));
    _setAdmin(_admin);
  }

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

File 6 of 8 : BaseAdminUpgradeabilityProxy.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.7.5;

import './UpgradeabilityProxy.sol';

/**
 * @title BaseAdminUpgradeabilityProxy
 * @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 BaseAdminUpgradeabilityProxy is BaseUpgradeabilityProxy {
  /**
   * @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)
    external
    payable
    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 virtual override {
    require(msg.sender != _admin(), 'Cannot call fallback function from the proxy admin');
    super._willFallback();
  }
}

File 7 of 8 : UpgradeabilityProxy.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.7.5;

import './BaseUpgradeabilityProxy.sol';

/**
 * @title UpgradeabilityProxy
 * @dev Extends BaseUpgradeabilityProxy with a constructor for initializing
 * implementation and init data.
 */
contract UpgradeabilityProxy is BaseUpgradeabilityProxy {
  /**
   * @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);
    }
  }
}

File 8 of 8 : AdminUpgradeabilityProxy.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.7.5;

import './BaseAdminUpgradeabilityProxy.sol';

/**
 * @title AdminUpgradeabilityProxy
 * @dev Extends from BaseAdminUpgradeabilityProxy with a constructor for
 * initializing the implementation, admin, and init data.
 */
contract AdminUpgradeabilityProxy is BaseAdminUpgradeabilityProxy, 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 Only fall back when the sender is not the admin.
   */
  function _willFallback() internal override(BaseAdminUpgradeabilityProxy, Proxy) {
    require(msg.sender != _admin(), 'Cannot call fallback function from the proxy admin');
    super._willFallback();
  }
}

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

Contract Security Audit

Contract ABI

[{"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":"_logic","type":"address"},{"internalType":"address","name":"_admin","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"payable","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"}]

608060405234801561001057600080fd5b50610905806100206000396000f3fe6080604052600436106100705760003560e01c80638f2839701161004e5780638f2839701461015e578063cf7a1d7714610191578063d1f5789414610250578063f851a4401461030657610070565b80633659cfe61461007a5780634f1ef286146100ad5780635c60da1b1461012d575b61007861031b565b005b34801561008657600080fd5b506100786004803603602081101561009d57600080fd5b50356001600160a01b0316610335565b610078600480360360408110156100c357600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ee57600080fd5b82018360208201111561010057600080fd5b8035906020019184600183028401116401000000008311171561012257600080fd5b50909250905061036f565b34801561013957600080fd5b5061014261041c565b604080516001600160a01b039092168252519081900360200190f35b34801561016a57600080fd5b506100786004803603602081101561018157600080fd5b50356001600160a01b0316610459565b610078600480360360608110156101a757600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156101db57600080fd5b8201836020820111156101ed57600080fd5b8035906020019184600183028401116401000000008311171561020f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610513945050505050565b6100786004803603604081101561026657600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561029157600080fd5b8201836020820111156102a357600080fd5b803590602001918460018302840111640100000000831117156102c557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610543945050505050565b34801561031257600080fd5b50610142610623565b61032361064e565b61033361032e610656565b61067b565b565b61033d61069f565b6001600160a01b0316336001600160a01b031614156103645761035f816106c4565b61036c565b61036c61031b565b50565b61037761069f565b6001600160a01b0316336001600160a01b0316141561040f57610399836106c4565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146103f6576040519150601f19603f3d011682016040523d82523d6000602084013e6103fb565b606091505b505090508061040957600080fd5b50610417565b61041761031b565b505050565b600061042661069f565b6001600160a01b0316336001600160a01b0316141561044e57610447610656565b9050610456565b61045661031b565b90565b61046161069f565b6001600160a01b0316336001600160a01b03161415610364576001600160a01b0381166104bf5760405162461bcd60e51b815260040180806020018281038252603681526020018061085f6036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104e861069f565b604080516001600160a01b03928316815291841660208301528051918290030190a161035f81610704565b600061051d610656565b6001600160a01b03161461053057600080fd5b61053a8382610543565b61041782610704565b600061054d610656565b6001600160a01b03161461056057600080fd5b61056982610728565b80511561061f576000826001600160a01b0316826040518082805190602001908083835b602083106105ac5780518252601f19909201916020918201910161058d565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461060c576040519150601f19603f3d011682016040523d82523d6000602084013e610611565b606091505b505090508061041757600080fd5b5050565b600061062d61069f565b6001600160a01b0316336001600160a01b0316141561044e5761044761069f565b610333610790565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561069a573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6106cd81610728565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b610731816107f0565b61076c5760405162461bcd60e51b815260040180806020018281038252603b815260200180610895603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b61079861069f565b6001600160a01b0316336001600160a01b031614156107e85760405162461bcd60e51b815260040180806020018281038252603281526020018061082d6032913960400191505060405180910390fd5b610333610333565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061082457508115155b94935050505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220b2d3ea7f9cfa18d6cb8719df53df60c86be83693133df5894cc19338109c444b64736f6c63430007050033

Block Transaction Difficulty Gas Used Reward
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.

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.