Contract 0x5585b368debd30702a3bab7d8f46ee73aa84d7c7

Contract Overview

Balance:
0 BNB

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x70d92ab999cab6e013dbfb372f88618ac9a11606cf48ddba988aa6b36713601eApprove100604352021-06-26 3:37:2590 days 14 mins ago0x3f9ecc49e56b9ad4569e4506c61c07fe93556c29 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0xb7cb46ba5a36134070bf78a2a286d9c1d318252a91d8c6ae63f4571d4486a26fApprove99196982021-06-21 6:20:3494 days 21 hrs ago0x523b9f2bcf06155e00f89157081eb7439d66df77 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0x760bb1b40d8f4ce5adda92e00daa847b835db294f93ec21cc6de4c1fb2e180ecApprove99170162021-06-21 4:06:2894 days 23 hrs ago0xf8840a8d1ecac8344c5053a805e3c1e020ffb746 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0xac9ae03b3ec2f379a54c1d0ca55c9303719abf63cf5752d4975dcc5c651bb574Approve99160032021-06-21 3:15:4995 days 36 mins ago0x88cd415dd566ce795ab5aa7eda32d76714bb2a36 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0xda2e9b2fda09436661327c66666321fa4eec619c8b82bdec94aba76fa14555e8Approve99156732021-06-21 2:59:1995 days 52 mins ago0x17c171ca9a7505b4a423dd6feeddd7bfcbf8f346 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0x2fa77a0856ed2ec89412c4c02b6799a5f139a4e16f705b22b17d7014368893a2Approve97142252021-06-14 3:06:40102 days 45 mins ago0xb2efbb4bbf608da9aba7c83cab138686b071fbb2 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0x1d4da42b8fade24124593e3dde8fb5eb0d3fb07948095dee73c1bdaeebabe21cApprove96560872021-06-12 2:39:46104 days 1 hr ago0x8a976aa2307eeb714e37e1e30227a81c1eb96814 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0xf79fa301a281397d3487f08328d87b579aa950eb3271e5188a2e05aca35de2f7Approve96288772021-06-11 3:59:16104 days 23 hrs ago0x936068c2a33f093d2f4605223784ee7eb2c17113 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0x94a4ebdd444063eb6a8fcd2ff6317a62e54b966dbdb49b33053563107a3b79d8Approve95417412021-06-08 3:21:50108 days 30 mins ago0x12c4fb707f14fd93462219394399e79e836cd4c3 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0x4c0203a3a100a3a18b5ed8942b307158c12022cc6684fdfb9fd3655abd90bc2bApprove89136952021-05-17 6:36:32129 days 21 hrs ago0x7126a9523623905e1eb89b832087dec3e312ad35 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0x0c16e6779d2f14f11e5094b0baf96d1b3219fbd29b319a94378d154544cfaa89Approve88313622021-05-14 9:59:47132 days 17 hrs ago0xc785aea1d5f97661ba8e15e2a1198eee63d7d81b IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0x08fa09091bd33acb86211b0536145a193edafb0207644c5f190fb463a13d30bbApprove88085222021-05-13 14:57:25133 days 12 hrs ago0xc0574b341bd9b412b5dcfeabba4d30b2553fd2e0 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0xe29edbb10dcd5d89869509f16923fb4a8708e8f5708f13cec7089fec98109002Approve87830752021-05-12 17:44:27134 days 10 hrs ago0xc0574b341bd9b412b5dcfeabba4d30b2553fd2e0 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0x655038b623e3bc3e307d0007d5711a8b12dc84c5e7134943fb4806af64bf5359Approve87474942021-05-11 11:39:33135 days 16 hrs ago0xc69641018937d41ef9811c67275dca15a689c97b IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0x16e2092fc43e076cb5e712a2669e52f1bba145b1c6ee812e6c804c18403bb707Approve87378872021-05-11 3:39:12136 days 12 mins ago0x9f706e91a64cea78f3d1e38e249e2b6363fa12c7 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0x60878ae89454938b59d92f08e6486c218b21d50f73a14b410aed07dc94dcd842Approve87375092021-05-11 3:20:18136 days 31 mins ago0x43c90eee1d849dadd98fa063c7f5d0ad17e2efd6 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0xecc97181a6b7bb50c6408cbe655fb19ecaad600924df415219e0cd60519dd3b4Approve87174602021-05-10 10:37:51136 days 17 hrs ago0x0236dbe82a6db8c665e9b5bc3e222f67d147cbcf IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0x73b7c47a016b3ffca692d30da5c1ad95518a2c5d079507d0968c758ef279ce22Approve87168442021-05-10 10:07:03136 days 17 hrs ago0x58b22aebf06adc3b8df04cb60b1395f0f4a1b71d IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0x6709e89633ff18eda55415e77f402589a3e589e98519da3ef8150d846249f018Approve87071672021-05-10 2:03:12137 days 1 hr ago0x845354dfd07ebfb66469057d798cd7367eedb5a5 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00031344
0x4f0d9b19ed0b5db09a6e22359c02eeb4412c7e293faecac6c50a49b0e8811e16Approve86280412021-05-07 8:05:51139 days 19 hrs ago0xf9810a51b3bbf5c29e584074d73dc2060e0c4891 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0x0fcd71799caf68d096bfa84ef771b949187d64aa7a39bd5605e3152fd2d9be67Approve86275522021-05-07 7:41:24139 days 20 hrs ago0x7c6de8e32b63cc10a868d60a99f5afa2ebe03708 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0x6ac1b3f4bdc49603dc7cc3e981779ebd2a7e9af162d0d6e2cdc2d1736b6d8d92Approve86232412021-05-07 4:05:17139 days 23 hrs ago0x7c9cc03e867b24d93ec0feab2ee5d115753f3cc8 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0x3ea4b836f04bc86b995e6c9814f3d9e8f39cf2109c7555fecc9a8d631ed985f5Approve86231962021-05-07 4:03:02139 days 23 hrs ago0xbd1817f3517b6b2c5a1109117f995aefdca8ca0e IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
0x1b4e4fd68379d7b902efafe8f333fd752b6c29f1749862f7074501eb6f7d8115Approve85701762021-05-05 7:51:14141 days 20 hrs ago0x3d0fcdbee1666f4f49cd713104af275f6fae6c05 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00027144
0xfa078a6ccfdc094f8aa9d5cb4a202df25c31988c874b06b8a8aa394bf8c13369Approve85701392021-05-05 7:49:23141 days 20 hrs ago0x3d0fcdbee1666f4f49cd713104af275f6fae6c05 IN  0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB0.00046344
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x5a170d8c393cbf79dd310c3ec59f0aeb52f75b4e6993bec4663cb859a731e421102165412021-07-01 15:23:4884 days 12 hrs ago 0x5585b368debd30702a3bab7d8f46ee73aa84d7c7 0x67bd4da7d8b2b85e4da171840f829e0692337bde0 BNB
0x5a170d8c393cbf79dd310c3ec59f0aeb52f75b4e6993bec4663cb859a731e421102165412021-07-01 15:23:4884 days 12 hrs ago 0x5585b368debd30702a3bab7d8f46ee73aa84d7c7 0x420e1a11170b768e42fc2f481b6ad8b0a67f77240 BNB
0x5a170d8c393cbf79dd310c3ec59f0aeb52f75b4e6993bec4663cb859a731e421102165412021-07-01 15:23:4884 days 12 hrs ago 0xa92751595e567aa33121bb917b40e2a8d2ec6d6c 0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB
0x5a170d8c393cbf79dd310c3ec59f0aeb52f75b4e6993bec4663cb859a731e421102165412021-07-01 15:23:4884 days 12 hrs ago 0x5585b368debd30702a3bab7d8f46ee73aa84d7c7 0x420e1a11170b768e42fc2f481b6ad8b0a67f77240 BNB
0x5a170d8c393cbf79dd310c3ec59f0aeb52f75b4e6993bec4663cb859a731e421102165412021-07-01 15:23:4884 days 12 hrs ago 0xa92751595e567aa33121bb917b40e2a8d2ec6d6c 0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB
0x5a170d8c393cbf79dd310c3ec59f0aeb52f75b4e6993bec4663cb859a731e421102165412021-07-01 15:23:4884 days 12 hrs ago 0x5585b368debd30702a3bab7d8f46ee73aa84d7c7 0xa92751595e567aa33121bb917b40e2a8d2ec6d6c0 BNB
0x5a170d8c393cbf79dd310c3ec59f0aeb52f75b4e6993bec4663cb859a731e421102165412021-07-01 15:23:4884 days 12 hrs ago 0x5585b368debd30702a3bab7d8f46ee73aa84d7c7 0x420e1a11170b768e42fc2f481b6ad8b0a67f77240 BNB
0x5a170d8c393cbf79dd310c3ec59f0aeb52f75b4e6993bec4663cb859a731e421102165412021-07-01 15:23:4884 days 12 hrs ago 0xa92751595e567aa33121bb917b40e2a8d2ec6d6c 0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB
0x7f158b045a558aa8294b184f081ac9ce7ede54b1c6d2c1ff5b9a1bc851d67b1b102025502021-07-01 3:44:1585 days 7 mins ago 0x5585b368debd30702a3bab7d8f46ee73aa84d7c7 0x67bd4da7d8b2b85e4da171840f829e0692337bde0 BNB
0x7f158b045a558aa8294b184f081ac9ce7ede54b1c6d2c1ff5b9a1bc851d67b1b102025502021-07-01 3:44:1585 days 7 mins ago 0x5585b368debd30702a3bab7d8f46ee73aa84d7c7 0x420e1a11170b768e42fc2f481b6ad8b0a67f77240 BNB
0x7f158b045a558aa8294b184f081ac9ce7ede54b1c6d2c1ff5b9a1bc851d67b1b102025502021-07-01 3:44:1585 days 7 mins ago 0xa92751595e567aa33121bb917b40e2a8d2ec6d6c 0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB
0x7f158b045a558aa8294b184f081ac9ce7ede54b1c6d2c1ff5b9a1bc851d67b1b102025502021-07-01 3:44:1585 days 7 mins ago 0x5585b368debd30702a3bab7d8f46ee73aa84d7c7 0x420e1a11170b768e42fc2f481b6ad8b0a67f77240 BNB
0x7f158b045a558aa8294b184f081ac9ce7ede54b1c6d2c1ff5b9a1bc851d67b1b102025502021-07-01 3:44:1585 days 7 mins ago 0xa92751595e567aa33121bb917b40e2a8d2ec6d6c 0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB
0x7f158b045a558aa8294b184f081ac9ce7ede54b1c6d2c1ff5b9a1bc851d67b1b102025502021-07-01 3:44:1585 days 7 mins ago 0x5585b368debd30702a3bab7d8f46ee73aa84d7c7 0xa92751595e567aa33121bb917b40e2a8d2ec6d6c0 BNB
0x7f158b045a558aa8294b184f081ac9ce7ede54b1c6d2c1ff5b9a1bc851d67b1b102025502021-07-01 3:44:1585 days 7 mins ago 0x5585b368debd30702a3bab7d8f46ee73aa84d7c7 0x420e1a11170b768e42fc2f481b6ad8b0a67f77240 BNB
0x7f158b045a558aa8294b184f081ac9ce7ede54b1c6d2c1ff5b9a1bc851d67b1b102025502021-07-01 3:44:1585 days 7 mins ago 0xa92751595e567aa33121bb917b40e2a8d2ec6d6c 0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB
0x16a85dae84047a4abc56be6efdb5763a07a450a78a537c3ee21df30884832ca0102025402021-07-01 3:43:4585 days 8 mins ago 0x5585b368debd30702a3bab7d8f46ee73aa84d7c7 0x420e1a11170b768e42fc2f481b6ad8b0a67f77240 BNB
0x16a85dae84047a4abc56be6efdb5763a07a450a78a537c3ee21df30884832ca0102025402021-07-01 3:43:4585 days 8 mins ago 0xa92751595e567aa33121bb917b40e2a8d2ec6d6c 0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB
0x16a85dae84047a4abc56be6efdb5763a07a450a78a537c3ee21df30884832ca0102025402021-07-01 3:43:4585 days 8 mins ago 0x5585b368debd30702a3bab7d8f46ee73aa84d7c7 0x420e1a11170b768e42fc2f481b6ad8b0a67f77240 BNB
0x16a85dae84047a4abc56be6efdb5763a07a450a78a537c3ee21df30884832ca0102025402021-07-01 3:43:4585 days 8 mins ago 0xa92751595e567aa33121bb917b40e2a8d2ec6d6c 0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB
0x51758f3aa398a1ece728441e9e392171b58c1235f61b3bbf1718907c387319ad102025292021-07-01 3:43:1285 days 8 mins ago 0x5585b368debd30702a3bab7d8f46ee73aa84d7c7 0x420e1a11170b768e42fc2f481b6ad8b0a67f77240 BNB
0x51758f3aa398a1ece728441e9e392171b58c1235f61b3bbf1718907c387319ad102025292021-07-01 3:43:1285 days 8 mins ago 0xa92751595e567aa33121bb917b40e2a8d2ec6d6c 0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB
0x51758f3aa398a1ece728441e9e392171b58c1235f61b3bbf1718907c387319ad102025292021-07-01 3:43:1285 days 8 mins ago 0x5585b368debd30702a3bab7d8f46ee73aa84d7c7 0x420e1a11170b768e42fc2f481b6ad8b0a67f77240 BNB
0x51758f3aa398a1ece728441e9e392171b58c1235f61b3bbf1718907c387319ad102025292021-07-01 3:43:1285 days 8 mins ago 0xa92751595e567aa33121bb917b40e2a8d2ec6d6c 0x5585b368debd30702a3bab7d8f46ee73aa84d7c70 BNB
0xc7d0c3e81a26a9eceee5487f84a4be0e401929d70534652aa48681b3cae96f00101820042021-06-30 9:53:4785 days 17 hrs ago 0x5585b368debd30702a3bab7d8f46ee73aa84d7c7 0xa92751595e567aa33121bb917b40e2a8d2ec6d6c0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
InitializableImmutableAdminUpgradeabilityProxy

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

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

import './BaseImmutableAdminUpgradeabilityProxy.sol';
import '../../../dependencies/openzeppelin/upgradeability/InitializableUpgradeabilityProxy.sol';

/**
 * @title InitializableAdminUpgradeabilityProxy
 * @dev Extends BaseAdminUpgradeabilityProxy with an initializer function
 */
contract InitializableImmutableAdminUpgradeabilityProxy is
  BaseImmutableAdminUpgradeabilityProxy,
  InitializableUpgradeabilityProxy
{
  constructor(address admin) public BaseImmutableAdminUpgradeabilityProxy(admin) {}

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

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

import '../../../dependencies/openzeppelin/upgradeability/BaseUpgradeabilityProxy.sol';

/**
 * @title BaseImmutableAdminUpgradeabilityProxy
 * @author GalaxyDefi, inspired by the OpenZeppelin upgradeability proxy pattern
 * @dev This contract combines an upgradeability proxy with an authorization
 * mechanism for administrative tasks. The admin role is stored in an immutable, which
 * helps saving transactions costs
 * All external functions in this contract must be guarded by the
 * `ifAdmin` modifier. See ethereum/solidity#3864 for a Solidity
 * feature proposal that would enable this to be done automatically.
 */
contract BaseImmutableAdminUpgradeabilityProxy is BaseUpgradeabilityProxy {
  address immutable ADMIN;

  constructor(address admin) public {
    ADMIN = admin;
  }

  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 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);
  }

  /**
   * @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 3 of 6 : InitializableUpgradeabilityProxy.sol
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.6.12;

import './BaseUpgradeabilityProxy.sol';

/**
 * @title InitializableUpgradeabilityProxy
 * @dev Extends BaseUpgradeabilityProxy with an initializer for initializing
 * implementation and init data.
 */
contract InitializableUpgradeabilityProxy is BaseUpgradeabilityProxy {
  /**
   * @dev Contract initializer.
   * @param _logic Address of the initial implementation.
   * @param _data Data to send as msg.data to the implementation to initialize the proxied contract.
   * It should include the signature and the parameters of the function to be called, as described in
   * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
   * This parameter is optional, if no data is given the initialization call to proxied contract will be skipped.
   */
  function initialize(address _logic, bytes memory _data) public payable {
    require(_implementation() == address(0));
    assert(IMPLEMENTATION_SLOT == bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1));
    _setImplementation(_logic);
    if (_data.length > 0) {
      (bool success, ) = _logic.delegatecall(_data);
      require(success);
    }
  }
}

File 4 of 6 : BaseUpgradeabilityProxy.sol
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.6.12;

import './Proxy.sol';
import '../contracts/Address.sol';

/**
 * @title BaseUpgradeabilityProxy
 * @dev This contract implements a proxy that allows to change the
 * implementation address to which it will delegate.
 * Such a change is called an implementation upgrade.
 */
contract BaseUpgradeabilityProxy is Proxy {
  /**
   * @dev Emitted when the implementation is upgraded.
   * @param implementation Address of the new implementation.
   */
  event Upgraded(address indexed implementation);

  /**
   * @dev Storage slot with the address of the current implementation.
   * This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is
   * validated in the constructor.
   */
  bytes32 internal constant IMPLEMENTATION_SLOT =
    0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

  /**
   * @dev Returns the current implementation.
   * @return impl Address of the current implementation
   */
  function _implementation() internal view override returns (address impl) {
    bytes32 slot = IMPLEMENTATION_SLOT;
    //solium-disable-next-line
    assembly {
      impl := sload(slot)
    }
  }

  /**
   * @dev Upgrades the proxy to a new implementation.
   * @param newImplementation Address of the new implementation.
   */
  function _upgradeTo(address newImplementation) internal {
    _setImplementation(newImplementation);
    emit Upgraded(newImplementation);
  }

  /**
   * @dev Sets the implementation address of the proxy.
   * @param newImplementation Address of the new implementation.
   */
  function _setImplementation(address newImplementation) internal {
    require(
      Address.isContract(newImplementation),
      'Cannot set a proxy implementation to a non-contract address'
    );

    bytes32 slot = IMPLEMENTATION_SLOT;

    //solium-disable-next-line
    assembly {
      sstore(slot, newImplementation)
    }
  }
}

File 5 of 6 : Proxy.sol
// SPDX-License-Identifier: agpl-3.0
pragma solidity ^0.6.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() external payable {
    _fallback();
  }

  /**
   * @return The Address of the implementation.
   */
  function _implementation() internal view virtual returns (address);

  /**
   * @dev Delegates execution to an implementation contract.
   * This is a low level function that doesn't return to its internal call site.
   * It will return to the external caller whatever the implementation returns.
   * @param implementation Address to delegate.
   */
  function _delegate(address implementation) internal {
    //solium-disable-next-line
    assembly {
      // Copy msg.data. We take full control of memory in this inline assembly
      // block because it will not return to Solidity code. We overwrite the
      // Solidity scratch pad at memory position 0.
      calldatacopy(0, 0, calldatasize())

      // Call the implementation.
      // out and outsize are 0 because we don't know the size yet.
      let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)

      // Copy the returned data.
      returndatacopy(0, 0, returndatasize())

      switch result
        // delegatecall returns 0 on error.
        case 0 {
          revert(0, returndatasize())
        }
        default {
          return(0, returndatasize())
        }
    }
  }

  /**
   * @dev Function that is run as the first thing in the fallback function.
   * Can be redefined in derived contracts to add functionality.
   * Redefinitions must call super._willFallback().
   */
  function _willFallback() internal virtual {}

  /**
   * @dev fallback implementation.
   * Extracted to enable manual triggering.
   */
  function _fallback() internal {
    _willFallback();
    _delegate(_implementation());
  }
}

File 6 of 6 : Address.sol
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.6.12;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
  /**
   * @dev Returns true if `account` is a contract.
   *
   * [IMPORTANT]
   * ====
   * It is unsafe to assume that an address for which this function returns
   * false is an externally-owned account (EOA) and not a contract.
   *
   * Among others, `isContract` will return false for the following
   * types of addresses:
   *
   *  - an externally-owned account
   *  - a contract in construction
   *  - an address where a contract will be created
   *  - an address where a contract lived, but was destroyed
   * ====
   */
  function isContract(address account) internal view returns (bool) {
    // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
    // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
    // for accounts without code, i.e. `keccak256('')`
    bytes32 codehash;
    bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
    // solhint-disable-next-line no-inline-assembly
    assembly {
      codehash := extcodehash(account)
    }
    return (codehash != accountHash && codehash != 0x0);
  }

  /**
   * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
   * `recipient`, forwarding all available gas and reverting on errors.
   *
   * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
   * of certain opcodes, possibly making contracts go over the 2300 gas limit
   * imposed by `transfer`, making them unable to receive funds via
   * `transfer`. {sendValue} removes this limitation.
   *
   * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
   *
   * IMPORTANT: because control is transferred to `recipient`, care must be
   * taken to not create reentrancy vulnerabilities. Consider using
   * {ReentrancyGuard} or the
   * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
   */
  function sendValue(address payable recipient, uint256 amount) internal {
    require(address(this).balance >= amount, 'Address: insufficient balance');

    // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
    (bool success, ) = recipient.call{value: amount}('');
    require(success, 'Address: unable to send value, recipient may have reverted');
  }
}

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

Contract ABI

[{"inputs":[{"internalType":"address","name":"admin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}]

60a060405234801561001057600080fd5b506040516107733803806107738339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b03166106f36100806000398061022852806102725280610331528061045e528061048752806105af52506106f36000f3fe60806040526004361061004a5760003560e01c80633659cfe6146100545780634f1ef286146100875780635c60da1b14610107578063d1f5789414610138578063f851a440146101ee575b610052610203565b005b34801561006057600080fd5b506100526004803603602081101561007757600080fd5b50356001600160a01b031661021d565b6100526004803603604081101561009d57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100c857600080fd5b8201836020820111156100da57600080fd5b803590602001918460018302840111640100000000831117156100fc57600080fd5b509092509050610267565b34801561011357600080fd5b5061011c610324565b604080516001600160a01b039092168252519081900360200190f35b6100526004803603604081101561014e57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561017957600080fd5b82018360208201111561018b57600080fd5b803590602001918460018302840111640100000000831117156101ad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610371945050505050565b3480156101fa57600080fd5b5061011c610451565b61020b6104ab565b61021b6102166104b3565b6104d8565b565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561025c57610257816104fc565b610264565b610264610203565b50565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610317576102a1836104fc565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146102fe576040519150601f19603f3d011682016040523d82523d6000602084013e610303565b606091505b505090508061031157600080fd5b5061031f565b61031f610203565b505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156103665761035f6104b3565b905061036e565b61036e610203565b90565b600061037b6104b3565b6001600160a01b03161461038e57600080fd5b6103978261053c565b80511561044d576000826001600160a01b0316826040518082805190602001908083835b602083106103da5780518252601f1990920191602091820191016103bb565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461043a576040519150601f19603f3d011682016040523d82523d6000602084013e61043f565b606091505b505090508061031f57600080fd5b5050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561036657507f000000000000000000000000000000000000000000000000000000000000000061036e565b61021b6105a4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156104f7573d6000f35b3d6000fd5b6105058161053c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61054581610614565b6105805760405162461bcd60e51b815260040180806020018281038252603b815260200180610683603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561060c5760405162461bcd60e51b81526004018080602001828103825260328152602001806106516032913960400191505060405180910390fd5b61021b61021b565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061064857508115155b94935050505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a26469706673582212209a557721dee23ead370b1ee9312b86bb7ea095b87cc5103336273d70fff4853864736f6c634300060c00330000000000000000000000003b0cf7f529af3d82d3e14f8fd935b75febbe7f8e

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

0000000000000000000000003b0cf7f529af3d82d3e14f8fd935b75febbe7f8e
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000003b0cf7f529af3d82d3e14f8fd935b75febbe7f8e


Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading