Contract 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 2

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x26fef589ef09b611d22dd682469f83a33c55389c0bc9f8b4d61f280ecce24de30x1f636b02111463432021-09-22 20:55:492 hrs 22 mins ago0x74f61c568406714c6b2caefc4a75cde363dfccc7 IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.000301675
0x41b99ea1bee17b34d7d0dc801ae2af1ea3aabe2cb312df3fbbf8a539c842825a0x1f636b02111416202021-09-22 16:58:106 hrs 19 mins ago0xc0cdf53acd11e9fccf12d4c5d5be95628d61490e IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.000458945
0xe3f459e5eebbbbe51f2b53e5cce68b47e1f86e3875bbc9e2a70d84a01da3cdb50x1b1abad6111404862021-09-22 16:00:057 hrs 17 mins ago0x74f61c568406714c6b2caefc4a75cde363dfccc7 IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.000637915
0x0b5afcbe0f80e7a9e229b3904104b0483718c62c76219268f668b2427a7bd5f30x1f636b02111403722021-09-22 15:54:237 hrs 23 mins ago0x74f61c568406714c6b2caefc4a75cde363dfccc7 IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.00050802
0xdcba694d6f5ef3319f9d18d5e0f09272b337932006563dd131a42faa4c7532420x1f636b02111394002021-09-22 15:05:448 hrs 12 mins ago0x62e89ed9ed566e7f6243cdd40b3965553aefa43f IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.000301675
0x6fab425b4be1466d62b9fb28fb6e7279b46c8aa07d378c9e337f21d00eb5b3cc0x1f636b02111393962021-09-22 15:05:328 hrs 12 mins ago0x62e89ed9ed566e7f6243cdd40b3965553aefa43f IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.000301675
0xc53ff82f6088ae4aeb08241b7a86d536eb0573ea0f6da24127b9edd44738cbec0x1b1abad6111386412021-09-22 14:27:478 hrs 50 mins ago0x890874da1fc2edcc5928eeb64109cf2039857177 IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.00044768
0x4d486690097575db85fcfacc8ee4ec11331e6f1ba3bd2bff5f42c0f64e19cc200x1f636b02111386082021-09-22 14:26:088 hrs 51 mins ago0x890874da1fc2edcc5928eeb64109cf2039857177 IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.000376675
0xfe9053adc42bf5fa85d42d0a9418e2bbfd7134fe0399a8e5009393f5aa58e3300x1f636b02111384202021-09-22 14:16:449 hrs 1 min ago0x6a07d19f8cb959287937e8f775f4b1637fb4a7e1 IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.00050802
0x4038cebf1ffe0b167940e034a0eb6902a3c41c588a9a7ba6bf709a753d5e08220x1f636b02111384172021-09-22 14:16:359 hrs 1 min ago0x6a07d19f8cb959287937e8f775f4b1637fb4a7e1 IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.000376675
0x445f504c7c66ef5a947178d31a12283eddcf21485f2a66b8fb6dd75c10c1c1e00x1f636b02111383962021-09-22 14:15:329 hrs 2 mins ago0x609a1fde0762c302675b86d3bfc3ca7007a0d2db IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.000376675
0x6f65744749b0aaef8a173927b16f708a8b9c9b3f8b59da95550d146f2ac8dca80x1f636b02111383082021-09-22 14:11:089 hrs 6 mins ago0xfa255a0b79cbd92cd3b7cba0a876e8d36429a9c4 IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.000376675
0xc1e46749ba547ca4f94908ac8eabab079ece4b3d95311960e4891a1b584dda7a0x32cd9fbb111370722021-09-22 13:09:0810 hrs 8 mins ago0x91ec3b3ab6479f47d00ccb9264b5f218d76272d8 IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.00039219
0x3c5015e6a06c1117e68b251ce9b1352b2556773a81c960a92d629877ce9171350x1f636b02111333262021-09-22 10:01:3513 hrs 16 mins ago0xccc0c4bce9bb105612a49180ccc0ccb02b0a36ae IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.000301675
0xae240f80a37d694dd37a2da1c7fb7ba1b1ed0e4abcaa87c7bc56804b898439b90x1f636b02111323702021-09-22 9:13:4714 hrs 4 mins ago0xa2ea6b26f122cb399debe9da6b4b09321ad9007e IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.00058296
0x6509728548d1f4e6727ed2617423a1610412c7ed6573d5ead71d7459d4e971290x1f636b02111314022021-09-22 8:24:4714 hrs 53 mins ago0x7fbedf9c6c6c63ea734286450060d9804b4df146 IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.00058296
0x19ec33352f2c2b514f62bd5ff14eff230102173a09d224e1c7821bc85df145480x1f636b02111311402021-09-22 8:11:3915 hrs 6 mins ago0xba3d6dce537cb236066ee8f4c7ee8c8c7d9ab211 IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.000301675
0xc81bb3b8a9574e54a983775e5d297ee7ff1c2d25412142eb3bfb98b40f2964840x1b1abad6111297472021-09-22 7:01:4416 hrs 16 mins ago0x945b9a138139356f7ea7736473e99539ea037a6e IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.000647495
0xab6d7e26f1e0e6d74b114d23c4cd9d3e3a6f4abbf149d048e7d690bd6d9513c20x1f636b02111296752021-09-22 6:58:0816 hrs 19 mins ago0x2b6b9a0981ae5b791ef8eed84cd8b20be365e195 IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.00058296
0xce1b3e6b66f605f82534aff00e9bea644390d1525ef0fe4c2e58c8d5a1b086a80x1f636b02111270202021-09-22 4:44:0718 hrs 33 mins ago0x81472375f2cb1863597325ca5a870408efb9ee25 IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.00106789
0x585f1e8d1da3bf2d06d99559d9063ad0783b3b4fbd1eec76b1c6ce9b4e72a04c0x1f636b02111269632021-09-22 4:41:1318 hrs 36 mins ago0x0851ea7fe6d8f6031fafb76646218194c9eed108 IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.000301675
0xc17639f4bb0d2d607fb837668e20f33a6cc1ed891b7e541cabbf1eec3908e6a80x1f636b02111269572021-09-22 4:40:5418 hrs 36 mins ago0x979eb0d43d2f7bcee48e35383884401470a46e2a IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.000458945
0x66957f0c326ed495d865ebce7f4e56a4dba1e6974168c48145c1567db1b672090x1f636b02111269472021-09-22 4:40:1818 hrs 37 mins ago0x36fb7a5ace04497a6537177f6428f37568e650ec IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.000301675
0x35e490a0d3fc02117303ea027378d31a2ddc17bd81125d3783141d544086fd740x1f636b02111269462021-09-22 4:40:1518 hrs 37 mins ago0x36fb7a5ace04497a6537177f6428f37568e650ec IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.00050802
0x29aed394abb31ad02e5c44230fdb50c8367237736daae750a226bf5c3ff398810x1f636b02111269372021-09-22 4:39:4518 hrs 38 mins ago0xee31acbc6503ee060a4e8e051a054e6eb9979d46 IN  0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB0.000458945
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x8ae89c772bf82f7d9d6bc66d4fff904befc8fad4b4ddf2d7db30b01725158be054712942021-03-07 11:57:39199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 DFuture: DFT Token0 BNB
0x8ae89c772bf82f7d9d6bc66d4fff904befc8fad4b4ddf2d7db30b01725158be054712942021-03-07 11:57:39199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 DFuture: DFT Token0 BNB
0x8ae89c772bf82f7d9d6bc66d4fff904befc8fad4b4ddf2d7db30b01725158be054712942021-03-07 11:57:39199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 DFuture: DFT Token0 BNB
0x8ae89c772bf82f7d9d6bc66d4fff904befc8fad4b4ddf2d7db30b01725158be054712942021-03-07 11:57:39199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 DFuture: DFT Token0 BNB
0x8ae89c772bf82f7d9d6bc66d4fff904befc8fad4b4ddf2d7db30b01725158be054712942021-03-07 11:57:39199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 0xe2c99914c88de44e4f6bcb52aecc3626b99eaf9d0 BNB
0x8ae89c772bf82f7d9d6bc66d4fff904befc8fad4b4ddf2d7db30b01725158be054712942021-03-07 11:57:39199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 0x359bd1f8c63c84eed8b4cd2a83adecbcf99f014a0 BNB
0x8ae89c772bf82f7d9d6bc66d4fff904befc8fad4b4ddf2d7db30b01725158be054712942021-03-07 11:57:39199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 0x131923e25ae34c4484a8911b9d2409c2a441e9ad0 BNB
0xdbf33d5f754890e532fb0912bc3cfac0f74615fcc1e2ce8ad9e6e4a56ffbe77d54712682021-03-07 11:56:21199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 0x131923e25ae34c4484a8911b9d2409c2a441e9ad0 BNB
0xdbf33d5f754890e532fb0912bc3cfac0f74615fcc1e2ce8ad9e6e4a56ffbe77d54712682021-03-07 11:56:21199 days 11 hrs ago 0xc67ec5cbce3e9ab546cf6077dd2ad519887737ba 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB
0xdbf33d5f754890e532fb0912bc3cfac0f74615fcc1e2ce8ad9e6e4a56ffbe77d54712682021-03-07 11:56:21199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 0x131923e25ae34c4484a8911b9d2409c2a441e9ad0 BNB
0xdbf33d5f754890e532fb0912bc3cfac0f74615fcc1e2ce8ad9e6e4a56ffbe77d54712682021-03-07 11:56:21199 days 11 hrs ago 0xc67ec5cbce3e9ab546cf6077dd2ad519887737ba 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB
0xefa1bcd00ec20bfbd7e33e10ad5280263ed7715b50c2e417543b9b1988b62f6054712672021-03-07 11:56:18199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 DFuture: DFT Token0 BNB
0xefa1bcd00ec20bfbd7e33e10ad5280263ed7715b50c2e417543b9b1988b62f6054712672021-03-07 11:56:18199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 DFuture: DFT Token0 BNB
0xefa1bcd00ec20bfbd7e33e10ad5280263ed7715b50c2e417543b9b1988b62f6054712672021-03-07 11:56:18199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 DFuture: DFT Token0 BNB
0xefa1bcd00ec20bfbd7e33e10ad5280263ed7715b50c2e417543b9b1988b62f6054712672021-03-07 11:56:18199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 0x131923e25ae34c4484a8911b9d2409c2a441e9ad0 BNB
0x055bbcf837afb29e506d17379bbe8dbf760df7537b2342dcfc3c67cb4ec5c1a954712652021-03-07 11:56:12199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 0x131923e25ae34c4484a8911b9d2409c2a441e9ad0 BNB
0x055bbcf837afb29e506d17379bbe8dbf760df7537b2342dcfc3c67cb4ec5c1a954712652021-03-07 11:56:12199 days 11 hrs ago 0xc67ec5cbce3e9ab546cf6077dd2ad519887737ba 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB
0x055bbcf837afb29e506d17379bbe8dbf760df7537b2342dcfc3c67cb4ec5c1a954712652021-03-07 11:56:12199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 0x131923e25ae34c4484a8911b9d2409c2a441e9ad0 BNB
0x055bbcf837afb29e506d17379bbe8dbf760df7537b2342dcfc3c67cb4ec5c1a954712652021-03-07 11:56:12199 days 11 hrs ago 0xc67ec5cbce3e9ab546cf6077dd2ad519887737ba 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB
0x0b30b663c58bfeeedda85801a385d2b9c72d1acf8eb6dc1bc0a2565bba8dd2b554712462021-03-07 11:55:15199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 0x131923e25ae34c4484a8911b9d2409c2a441e9ad0 BNB
0x0b30b663c58bfeeedda85801a385d2b9c72d1acf8eb6dc1bc0a2565bba8dd2b554712462021-03-07 11:55:15199 days 11 hrs ago 0xc67ec5cbce3e9ab546cf6077dd2ad519887737ba 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB
0x0b30b663c58bfeeedda85801a385d2b9c72d1acf8eb6dc1bc0a2565bba8dd2b554712462021-03-07 11:55:15199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 0x131923e25ae34c4484a8911b9d2409c2a441e9ad0 BNB
0x0b30b663c58bfeeedda85801a385d2b9c72d1acf8eb6dc1bc0a2565bba8dd2b554712462021-03-07 11:55:15199 days 11 hrs ago 0xc67ec5cbce3e9ab546cf6077dd2ad519887737ba 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB
0x7f3f92faadc503a8c39be2eed9e3b5c7739c9fe5a8e6e9649391c8250914a5a554712302021-03-07 11:54:27199 days 11 hrs ago 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f36 0x131923e25ae34c4484a8911b9d2409c2a441e9ad0 BNB
0x7f3f92faadc503a8c39be2eed9e3b5c7739c9fe5a8e6e9649391c8250914a5a554712302021-03-07 11:54:27199 days 11 hrs ago 0xc67ec5cbce3e9ab546cf6077dd2ad519887737ba 0xf59d805fbaeb5af7f68adecc3791a5db3dc24f360 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Similar Match)
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x1A2fb0Af670D0234c2857FaD35b789F8Cb725584

Contract Name:
AdminUpgradeabilityProxy

Compiler Version
v0.6.8+commit.0bbfe453

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at BscScan.com on 2020-10-23
*/

/**
 *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 Security Audit

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

6080604052604051610cb7380380610cb78339818101604052606081101561002657600080fd5b8101908080519060200190929190805190602001909291908051604051939291908464010000000082111561005a57600080fd5b8382019150602082018581111561007057600080fd5b825186600182028301116401000000008211171561008d57600080fd5b8083526020830192505050908051906020019080838360005b838110156100c15780820151818401526020810190506100a6565b50505050905090810190601f1680156100ee5780820380516001836020036101000a031916815260200191505b506040525050508281600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b1461016157fe5b610170826102bf60201b60201c565b60008151111561023c5760008273ffffffffffffffffffffffffffffffffffffffff16826040518082805190602001908083835b602083106101c757805182526020820191506020810190506020830392506101a4565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610227576040519150601f19603f3d011682016040523d82523d6000602084013e61022c565b606091505b505090508061023a57600080fd5b505b5050600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b146102a857fe5b6102b78261035660201b60201c565b505050610398565b6102d28161038560201b6105be1760201c565b610327576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180610c7c603b913960400191505060405180910390fd5b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b90508181555050565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b90508181555050565b600080823b905060008111915050919050565b6108d5806103a76000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100675780634f1ef286146100b85780635c60da1b146101515780638f283970146101a8578063f851a440146101f95761005d565b3661005d5761005b610250565b005b610065610250565b005b34801561007357600080fd5b506100b66004803603602081101561008a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061026a565b005b61014f600480360360408110156100ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561010b57600080fd5b82018360208201111561011d57600080fd5b8035906020019184600183028401116401000000008311171561013f57600080fd5b90919293919293905050506102bf565b005b34801561015d57600080fd5b50610166610395565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b457600080fd5b506101f7600480360360208110156101cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103ed565b005b34801561020557600080fd5b5061020e610566565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102586105d1565b610268610263610667565b610698565b565b6102726106be565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102b3576102ae816106ef565b6102bc565b6102bb610250565b5b50565b6102c76106be565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561038757610303836106ef565b60008373ffffffffffffffffffffffffffffffffffffffff168383604051808383808284378083019250505092505050600060405180830381855af49150503d806000811461036e576040519150601f19603f3d011682016040523d82523d6000602084013e610373565b606091505b505090508061038157600080fd5b50610390565b61038f610250565b5b505050565b600061039f6106be565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103e1576103da610667565b90506103ea565b6103e9610250565b5b90565b6103f56106be565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561055a57600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156104ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603681526020018061082f6036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104d76106be565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16105558161073e565b610563565b610562610250565b5b50565b60006105706106be565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156105b2576105ab6106be565b90506105bb565b6105ba610250565b5b90565b600080823b905060008111915050919050565b6105d96106be565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561065d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806107fd6032913960400191505060405180910390fd5b61066561076d565b565b6000807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b9050805491505090565b3660008037600080366000845af43d6000803e80600081146106b9573d6000f35b3d6000fd5b6000807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b9050805491505090565b6106f88161076f565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b90508181555050565b565b610778816105be565b6107cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180610865603b913960400191505060405180910390fd5b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b9050818155505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a264697066735822122041d5af90e23b2cfbe16b337692c47c7adfeb37d070f6f59b78a2bb19d34ad90a64736f6c6343000608003343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000000000000000003ea6e4e00209afce3d2bfe700db2f5f381773c340000000000000000000000001bc624a415001c8915ff2039c0b05cab0febc32e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000099555a4f1fdd85a4cf431d7569d678ad0be3c93300000000000000000000000000000000000000000000000000000000

Deployed ByteCode Sourcemap

6531:4220:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1837:11;:9;:11::i;:::-;6531:4220;;1693:11;:9;:11::i;:::-;6531:4220;9177:105;;5:9:-1;2:2;;;27:1;24;17:12;2:2;9177:105:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;9177:105:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9810:225;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;9810:225:0;;;;;;;;;;;;;;;;;;;;;27:11:-1;14;11:28;8:2;;;52:1;49;42:12;8:2;9810:225:0;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;9810:225:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9810:225:0;;;;;;;;;;;;:::i;:::-;;8477:98;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8477:98:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8758:228;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8758:228:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;8758:228:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8328:80;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8328:80:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3411:93;3448:15;:13;:15::i;:::-;3470:28;3480:17;:15;:17::i;:::-;3470:9;:28::i;:::-;3411:93::o;9177:105::-;8195:8;:6;:8::i;:::-;8181:22;;:10;:22;;;8177:80;;;9247:29:::1;9258:17;9247:10;:29::i;:::-;8177:80:::0;;;8238:11;:9;:11::i;:::-;8177:80;9177:105;:::o;9810:225::-;8195:8;:6;:8::i;:::-;8181:22;;:10;:22;;;8177:80;;;9916:29:::1;9927:17;9916:10;:29::i;:::-;9953:12;9970:17;:30;;10001:4;;9970:36;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;9970:36:0;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;9952:54:0;;;10021:7;10013:16;;12:1:-1;9::::0;2:12:::1;10013:16:0;8214:1;8177:80:::0;;;8238:11;:9;:11::i;:::-;8177:80;9810:225;;;:::o;8477:98::-;8529:7;8195:8;:6;:8::i;:::-;8181:22;;:10;:22;;;8177:80;;;8552:17:::1;:15;:17::i;:::-;8545:24;;8177:80:::0;;;8238:11;:9;:11::i;:::-;8177:80;8477:98;:::o;8758:228::-;8195:8;:6;:8::i;:::-;8181:22;;:10;:22;;;8177:80;;;8849:1:::1;8829:22;;:8;:22;;;;8821:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8922:32;8935:8;:6;:8::i;:::-;8945;8922:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8961:19;8971:8;8961:9;:19::i;:::-;8177:80:::0;;;8238:11;:9;:11::i;:::-;8177:80;8758:228;:::o;8328:80::-;8371:7;8195:8;:6;:8::i;:::-;8181:22;;:10;:22;;;8177:80;;;8394:8:::1;:6;:8::i;:::-;8387:15;;8177:80:::0;;;8238:11;:9;:11::i;:::-;8177:80;8328;:::o;814:422::-;874:4;1082:12;1193:7;1181:20;1173:28;;1227:1;1220:4;:8;1213:15;;;814:422;;;:::o;10571:177::-;10651:8;:6;:8::i;:::-;10637:22;;:10;:22;;;;10629:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10721:21;:19;:21::i;:::-;10571:177::o;5265:170::-;5324:12;5345;5074:66;5360:19;;5345:34;;5418:4;5412:11;5404:19;;5395:35;;:::o;2284:762::-;2591:14;2588:1;2585;2572:34;2791:1;2788;2772:14;2769:1;2753:14;2746:5;2733:60;2858:16;2855:1;2852;2837:38;2892:6;2954:1;2949:38;;;;3015:16;3012:1;3005:27;2949:38;2968:16;2965:1;2958:27;10089:141;10130:11;10150:12;7888:66;10165:10;;10150:25;;10213:4;10207:11;10200:18;;10191:34;;:::o;5576:145::-;5639:37;5658:17;5639:18;:37::i;:::-;5697:17;5688:27;;;;;;;;;;;;5576:145;:::o;10352:139::-;10405:12;7888:66;10420:10;;10405:25;;10470:8;10464:4;10457:22;10448:38;;:::o;3262:48::-;:::o;5864:293::-;5943:37;5962:17;5943:18;:37::i;:::-;5935:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6053:12;5074:66;6068:19;;6053:34;;6127:17;6121:4;6114:31;6105:47;;:::o

Swarm Source

ipfs://41d5af90e23b2cfbe16b337692c47c7adfeb37d070f6f59b78a2bb19d34ad90a
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.