Contract 0xc78248d676debb4597e88071d3d889eca70e5469

 

Contract Overview

Balance:
50,959.966096116381599768 BNB

BNB Value:
$29,453,331.60 (@ $577.97/BNB)

Token:
Txn Hash
Block
From
To
Value [Txn Fee]
0xa2d0d5f31caf0e460e01a45fde2430b482c30269bab30789379ce26094e0392a63743342021-04-08 1:43:414 days 17 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00024517
0xf658eec592655e62286ca5f54c31afd90a061a20653347272cc51056d0d2ab8c63743262021-04-08 1:43:174 days 17 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.000246475
0xb6f2f930cfa66e6ee076678ce39976056a19919fdb297ad27c8955f4a03513c063743222021-04-08 1:43:054 days 17 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00025062
0x5b46b6b965a94a616b1aaa1e0d5ab358a9afb34c5f28b4c0465dd7bbea49b8c763743182021-04-08 1:42:534 days 17 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00160798
0x0ad7584c3e248e1522ac85051e7af024927c90ccd98c5085a169a8cfbe6d98c960385662021-03-27 6:48:0516 days 12 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00170088
0x12b9ef8510260db70abb09ef75a6f458b593e3189eeb20a7563743e562243a9b60385622021-03-27 6:47:5316 days 12 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00100248
0x14a53708c6774e27e9760f107e789d0140610a4f2f899baf5c856af65cb63b9960385582021-03-27 6:47:4116 days 12 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00077904
0xc605b6e25ad8db343577bfad4392dcadfe0d9459e9fbe220f3801834ab782d3c60350532021-03-27 3:51:4416 days 15 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00031273
0x231eb7f09bd564e5554b44e5b5d595e1d1ac9d4647ff879165d1d77f3a4d6e6760350272021-03-27 3:50:2616 days 15 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00031273
0x48df100fd4bac4e9cadc6f3795d51b13a236ece921338d08d31b231cb9bf3a6f60349592021-03-27 3:47:0216 days 15 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00136726
0x6ae54d4d797d11f686c661873c7e52fbf0fe892650d868ca278e8fa907a047ed60348292021-03-27 3:40:3216 days 15 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.02803454
0x7d9d7251e51d308bb30cd6ebda505ba0a51164932739501d7321e386e69b32c660348252021-03-27 3:40:2016 days 15 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.0120161
0x1665fdb0687ece61251e56a4bc6a80ba2fc632cca892c3c6a90997c6cda43b9760348212021-03-27 3:40:0816 days 15 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00547416
0x6015ef413d0d94ddbd5ab967383b636eb5b625d8edd15a74ee91db3d629d99f752222682021-02-26 18:42:4045 days 37 mins ago0x6ba5f01333736cef33dae3ba08664d1acc89e417 IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.0014586
0x6e108b447e7e209591b0dbe097ab449a6be06d6bceb1ab35c73a5fea8702c02045531182021-02-03 8:52:1268 days 10 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00136748
0x0f999bb116a957383543f7edcdcbbf850f2b0aeb09da05d435042be671bf88ae45531122021-02-03 8:51:5468 days 10 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00506974
0xe932bc587e0c2d9a5a45542589a7bf84cd198929344ac7377aa23c843efdd09c44102902021-01-29 9:00:1573 days 10 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00097964
0x63a67afb19366426a8a88a6eb0728e899832a100c4c0792bb92a4654c0c2eb4444102832021-01-29 8:59:5473 days 10 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00498296
0x902394f81e0abc534b79322cc3ebe7ef55451573a3c5b5065c9fd3d632ea3d1439789992021-01-14 9:30:5888 days 9 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00678254
0x83d0b5f1a1a1ae8d0f266d44bbf3aef28c592b31c600884bb306d0828fc020da39725432021-01-14 4:08:1088 days 15 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00098084
0xe09fbfbe8e4ccbebb48a7270e5edf103fa822e74a0d4bc41a79989b34cfd264c29436252020-12-09 9:43:35124 days 9 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00065656
0x65a47110e6c07f77c3d93e1a1eb55152fb731431237bdd91e8736bdb9036ea4529435682020-12-09 9:40:44124 days 9 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00065632
0x10426826601d78e01725bbda1e75cacc24e6aa1cd1edccc7aa1729fa7420e13e28918362020-12-07 14:30:15126 days 4 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00095656
0x779b4280a8892f55611826ea657d06e85769c77acc05e82daaf6bcc4089cedf128416522020-12-05 20:40:21127 days 22 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00061454
0x046eca5a51dc8a8ab8188db4467651b70f95df2c7f3ec4fda6d3dbb7b1fc302428016832020-12-04 11:17:20129 days 8 hrs ago0x00ad504d2c02e0ddbf660bc35926712d0f0fea9e IN  0xc78248d676debb4597e88071d3d889eca70e54690 BNB0.00061454
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x7e0e0970a89874cc1235285c89909778749cee97e58783af0c66bf30b3b591fd65081322021-04-12 18:34:0445 mins ago 0xc78248d676debb4597e88071d3d889eca70e54690xef8cbcfc07314d187f31a0dd7a7ebaea272cf41a0.5 BNB
0x4ceb022feebf35119cf427bb2f31430c4e161a0cc14f3a315fe344c87ee9c80665053062021-04-12 16:12:463 hrs 7 mins ago 0x0cea0832e9cdbb5d476040d58ea07ecfbebb7672 0xc78248d676debb4597e88071d3d889eca70e54696 BNB
0x49aaba67ba9f5c670c6119dc4370bff29cc11c2ac37c9ddef45ec2ab09ba602265052782021-04-12 16:11:223 hrs 8 mins ago 0x0cea0832e9cdbb5d476040d58ea07ecfbebb7672 0xc78248d676debb4597e88071d3d889eca70e546910 BNB
0xbcde5d192d73cc8289cc09419d23a3785531df7afe749f03d5e64d8c3650478565050862021-04-12 16:01:463 hrs 18 mins ago 0x0cea0832e9cdbb5d476040d58ea07ecfbebb7672 0xc78248d676debb4597e88071d3d889eca70e546920.3 BNB
0x5230c7ca9eda103ceddd4f98a0371afc4bf899c26bc8c8a77981044223bc305665050362021-04-12 15:59:163 hrs 20 mins ago 0x0cea0832e9cdbb5d476040d58ea07ecfbebb7672 0xc78248d676debb4597e88071d3d889eca70e546922 BNB
0x589675b9c9ceb7da33e2094de1e37144a57548080191a0464039c3fb42545ef765044052021-04-12 15:27:433 hrs 52 mins ago 0xc78248d676debb4597e88071d3d889eca70e54690xef8cbcfc07314d187f31a0dd7a7ebaea272cf41a0.5 BNB
0x0cbb1e4a5967f1c76b33ae2dfb4939ba6de326385c27744c52588235c705372465031202021-04-12 14:22:414 hrs 57 mins ago 0xc78248d676debb4597e88071d3d889eca70e54690xef8cbcfc07314d187f31a0dd7a7ebaea272cf41a1 BNB
0xee78babccaacd94554967f1fa2bb899096cded15ef80f91817a8709eb525fbf865031112021-04-12 14:22:094 hrs 57 mins ago 0xc78248d676debb4597e88071d3d889eca70e54690xef8cbcfc07314d187f31a0dd7a7ebaea272cf41a3 BNB
0x78503bcedc6e11bd04a885e74b8bbf41b01e8e082eeb0a51eb9b62c046ce06c665025062021-04-12 13:50:205 hrs 29 mins ago 0x0cea0832e9cdbb5d476040d58ea07ecfbebb7672 0xc78248d676debb4597e88071d3d889eca70e54699 BNB
0xe85eb77fb1125000685101dd42f5778d81a6c3bc39d5d5ab04c46536bea306c465017962021-04-12 13:14:496 hrs 5 mins ago 0x0cea0832e9cdbb5d476040d58ea07ecfbebb7672 0xc78248d676debb4597e88071d3d889eca70e54690.11 BNB
0xe96557a2926e1cd31ade32f76e637528703457c0b383a5f75ce2590c026c9c1e65014722021-04-12 12:58:376 hrs 21 mins ago 0x0cea0832e9cdbb5d476040d58ea07ecfbebb7672 0xc78248d676debb4597e88071d3d889eca70e546920 BNB
0x9bcd7c85999da3d1b75d44eebfa8c8f7dd65d955d288cdd9b97ca89d3051d22c65009032021-04-12 12:30:106 hrs 49 mins ago 0xc78248d676debb4597e88071d3d889eca70e54690xdb42f0eef26e832f1b1af7128a245d30756ec971140.1228 BNB
0x51c27f4943db6ed7f55e40e4156717da94245d1aa3f974c110e45c43072a328e65007652021-04-12 12:23:166 hrs 56 mins ago 0x0cea0832e9cdbb5d476040d58ea07ecfbebb7672 0xc78248d676debb4597e88071d3d889eca70e5469250 BNB
0x5de0c4fae4d727106a1466ea1422909e684f0a3f5436990f6e83817a14f4800965006122021-04-12 12:15:377 hrs 4 mins ago 0x0cea0832e9cdbb5d476040d58ea07ecfbebb7672 0xc78248d676debb4597e88071d3d889eca70e5469250 BNB
0x808dfb64e60a30a6d9be2304d69125ddf9aeba4f48a3f1e173d68208f81a386664998022021-04-12 11:35:077 hrs 44 mins ago 0x0cea0832e9cdbb5d476040d58ea07ecfbebb7672 0xc78248d676debb4597e88071d3d889eca70e54690.150496163988091953 BNB
0xa100912d70e3e60015891a0137f3da243ab4e7b185429a472a054e6d7fb7683064997652021-04-12 11:33:167 hrs 46 mins ago 0x0cea0832e9cdbb5d476040d58ea07ecfbebb7672 0xc78248d676debb4597e88071d3d889eca70e54699.9 BNB
0x3e884c59440aee35d16a342e4fae35191c1a55503daed62bcb150591b82d130364990352021-04-12 10:56:468 hrs 23 mins ago 0xc78248d676debb4597e88071d3d889eca70e54690x736907d727acb26962699f26ff3abfc5c7a1a1c330 BNB
0x81caff9c0463251ab5c19c75bf61ee038dc0b537dddd47e6923448e0b77b69b564986582021-04-12 10:37:558 hrs 42 mins ago 0x0cea0832e9cdbb5d476040d58ea07ecfbebb7672 0xc78248d676debb4597e88071d3d889eca70e54699.225 BNB
0xdd6cd3e70eea8e04c7f76ba2ac1ab9765c7b6b03983fb90d411f7d86e1bb0e5664984322021-04-12 10:26:378 hrs 53 mins ago 0xc78248d676debb4597e88071d3d889eca70e54690x736907d727acb26962699f26ff3abfc5c7a1a1c312.6 BNB
0xc43adc1e78dcee744ff27482b4b6fc897b69523117819e526681a608d84e15e664983602021-04-12 10:23:018 hrs 57 mins ago 0xc78248d676debb4597e88071d3d889eca70e54690x736907d727acb26962699f26ff3abfc5c7a1a1c320 BNB
0x929a6ed85fa139df0396f37e937975f8d985c884c3d54613f8b4f621f2b299e364983102021-04-12 10:20:318 hrs 59 mins ago 0xc78248d676debb4597e88071d3d889eca70e54690x736907d727acb26962699f26ff3abfc5c7a1a1c335 BNB
0xb585ce0e3f1bd5540f3ef26a9b3616a4dfe95cb488b5805bbd77a98ca5793ad464981272021-04-12 10:11:229 hrs 8 mins ago 0xc78248d676debb4597e88071d3d889eca70e54690x736907d727acb26962699f26ff3abfc5c7a1a1c358 BNB
0x82dd305b6004818ad29e810592d5fdf949b61919d903e8b2e8dbde7d39fd9b8164979822021-04-12 10:04:079 hrs 15 mins ago 0x0cea0832e9cdbb5d476040d58ea07ecfbebb7672 0xc78248d676debb4597e88071d3d889eca70e546925 BNB
0x9ca090589a56883bd062f3175555e2b9e08f82d688d6db98beb378b8b79879e964978522021-04-12 9:57:379 hrs 22 mins ago 0xc78248d676debb4597e88071d3d889eca70e54690x736907d727acb26962699f26ff3abfc5c7a1a1c314.3727 BNB
0x6ff1520c559aecda90d89b67a994b2534ae04ad3e8b4e5a21164942641ab60c264976372021-04-12 9:46:529 hrs 33 mins ago 0x0cea0832e9cdbb5d476040d58ea07ecfbebb7672 0xc78248d676debb4597e88071d3d889eca70e54690.080000009103390923 BNB
[ Download CSV Export 
Loading

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

Contract Name:
AdminUpgradeabilityProxy

Compiler Version
v0.5.3+commit.10d17f24

Optimization Enabled:
No with 200 runs

Other Settings:
constantinople EvmVersion, None license
/**
 *Submitted for verification at BscScan.com on 2020-09-15
*/

/**
 *Submitted for verification at Etherscan.io on 2020-02-19
*/

// File: @openzeppelin/upgrades/contracts/upgradeability/Proxy.sol

pragma solidity ^0.5.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.
 */
contract Proxy {
  /**
   * @dev Fallback function.
   * Implemented entirely in `_fallback`.
   */
  function () payable external {
    _fallback();
  }

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

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

// File: @openzeppelin/upgrades/contracts/utils/Address.sol

pragma solidity ^0.5.0;

/**
 * Utility library of inline functions on addresses
 *
 * Source https://raw.githubusercontent.com/OpenZeppelin/openzeppelin-solidity/v2.1.3/contracts/utils/Address.sol
 * This contract is copied here and renamed from the original to avoid clashes in the compiled artifacts
 * when the user imports a zos-lib contract (that transitively causes this contract to be compiled and added to the
 * build/artifacts folder) as well as the vanilla Address implementation from an openzeppelin version.
 */
library OpenZeppelinUpgradesAddress {
    /**
     * Returns whether the target address is a contract
     * @dev This function will return false if invoked during the constructor of a contract,
     * as the code is not actually created until after the constructor finishes.
     * @param account address of the account to check
     * @return whether the target address is a contract
     */
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        // XXX Currently there is no better way to check if there is a contract in an address
        // than to check the size of the code at that address.
        // See https://ethereum.stackexchange.com/a/14016/36603
        // for more details about how this works.
        // TODO Check this again before the Serenity release, because all addresses will be
        // contracts then.
        // solhint-disable-next-line no-inline-assembly
        assembly { size := extcodesize(account) }
        return size > 0;
    }
}

// File: @openzeppelin/upgrades/contracts/upgradeability/BaseUpgradeabilityProxy.sol

pragma solidity ^0.5.0;



/**
 * @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 Address of the current implementation
   */
  function _implementation() internal 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(OpenZeppelinUpgradesAddress.isContract(newImplementation), "Cannot set a proxy implementation to a non-contract address");

    bytes32 slot = IMPLEMENTATION_SLOT;

    assembly {
      sstore(slot, newImplementation)
    }
  }
}

// File: @openzeppelin/upgrades/contracts/upgradeability/UpgradeabilityProxy.sol

pragma solidity ^0.5.0;


/**
 * @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: @openzeppelin/upgrades/contracts/upgradeability/BaseAdminUpgradeabilityProxy.sol

pragma solidity ^0.5.0;


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

  /**
   * @return 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 {
    require(msg.sender != _admin(), "Cannot call fallback function from the proxy admin");
    super._willFallback();
  }
}

// File: @openzeppelin/upgrades/contracts/upgradeability/AdminUpgradeabilityProxy.sol

pragma solidity ^0.5.0;


/**
 * @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);
  }
}

Contract ABI

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

6080604052604051610c44380380610c448339810180604052606081101561002657600080fd5b810190808051906020019092919080519060200190929190805164010000000081111561005257600080fd5b8281019050602081018481111561006857600080fd5b815185600182028301116401000000008211171561008557600080fd5b50509291905050508281600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b1415156100fb57fe5b61010a8261025f60201b60201c565b6000815111156101da5760008273ffffffffffffffffffffffffffffffffffffffff16826040518082805190602001908083835b602083101515610163578051825260208201915060208101905060208303925061013e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101c3576040519150601f19603f3d011682016040523d82523d6000602084013e6101c8565b606091505b505090508015156101d857600080fd5b505b5050600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b14151561024857fe5b610257826102f860201b60201c565b50505061033a565b6102728161032760201b6107de1760201c565b15156102c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180610c09603b913960400191505060405180910390fd5b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b90508181555050565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b90508181555050565b600080823b905060008111915050919050565b6108c0806103496000396000f3fe60806040526004361061004a5760003560e01c80633659cfe6146100545780634f1ef286146100a55780635c60da1b1461013e5780638f28397014610195578063f851a440146101e6575b61005261023d565b005b34801561006057600080fd5b506100a36004803603602081101561007757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610257565b005b61013c600480360360408110156100bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100f857600080fd5b82018360208201111561010a57600080fd5b8035906020019184600183028401116401000000008311171561012c57600080fd5b90919293919293905050506102ac565b005b34801561014a57600080fd5b50610153610384565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101a157600080fd5b506101e4600480360360208110156101b857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103dc565b005b3480156101f257600080fd5b506101fb610557565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102456105af565b610255610250610647565b610678565b565b61025f61069e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102a05761029b816106cf565b6102a9565b6102a861023d565b5b50565b6102b461069e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610376576102f0836106cf565b60008373ffffffffffffffffffffffffffffffffffffffff168383604051808383808284378083019250505092505050600060405180830381855af49150503d806000811461035b576040519150601f19603f3d011682016040523d82523d6000602084013e610360565b606091505b5050905080151561037057600080fd5b5061037f565b61037e61023d565b5b505050565b600061038e61069e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103d0576103c9610647565b90506103d9565b6103d861023d565b5b90565b6103e461069e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561054b57600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561049f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806108246036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104c861069e565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16105468161071e565b610554565b61055361023d565b5b50565b600061056161069e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156105a35761059c61069e565b90506105ac565b6105ab61023d565b5b90565b6105b761069e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415151561063d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806107f26032913960400191505060405180910390fd5b61064561074d565b565b6000807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b9050805491505090565b3660008037600080366000845af43d6000803e8060008114610699573d6000f35b3d6000fd5b6000807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b9050805491505090565b6106d88161074f565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b90508181555050565b565b610758816107de565b15156107af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b81526020018061085a603b913960400191505060405180910390fd5b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b90508181555050565b600080823b90506000811191505091905056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a165627a7a723058203a61cbfff803b053d8f397cf95cfa0c8c53ef12ce921c5d484b275b58be38897002943616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000000000000000004ac2735652944fe5c3dd95807287643502e5de5100000000000000000000000057d77d2caa884426dde1fbb8d7e944b09c40a19f00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000c78248d676debb4597e88071d3d889eca70e5469000000000000000000000000dc30da5aaa5f48c71156353235aa4d730263dd3100000000000000000000000000000000000000000000000000000000

Deployed ByteCode Sourcemap

11195:903:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;609:11;:9;:11::i;:::-;11195:903;9340:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9340:105:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9340:105:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9973:225;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9973:225:0;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;9973:225:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9973: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;9973:225:0;;;;;;;;;;;;:::i;:::-;;8640:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8640:98:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8921:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8921:228:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8921:228:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8491:80;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8491:80:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2155:93;2192:15;:13;:15::i;:::-;2214:28;2224:17;:15;:17::i;:::-;2214:9;:28::i;:::-;2155:93::o;9340:105::-;8358:8;:6;:8::i;:::-;8344:22;;:10;:22;;;8340:80;;;9410:29;9421:17;9410:10;:29::i;:::-;8340:80;;;8401:11;:9;:11::i;:::-;8340:80;9340:105;:::o;9973:225::-;8358:8;:6;:8::i;:::-;8344:22;;:10;:22;;;8340:80;;;10079:29;10090:17;10079:10;:29::i;:::-;10116:12;10133:17;:30;;10164:4;;10133:36;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;10133:36:0;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;10115:54:0;;;10184:7;10176:16;;;;;;;;8377:1;8340:80;;;8401:11;:9;:11::i;:::-;8340:80;9973:225;;;:::o;8640:98::-;8692:7;8358:8;:6;:8::i;:::-;8344:22;;:10;:22;;;8340:80;;;8715:17;:15;:17::i;:::-;8708:24;;8340:80;;;8401:11;:9;:11::i;:::-;8340:80;8640:98;:::o;8921:228::-;8358:8;:6;:8::i;:::-;8344:22;;:10;:22;;;8340:80;;;9012:1;8992:22;;:8;:22;;;;8984:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9085:32;9098:8;:6;:8::i;:::-;9108;9085:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9124:19;9134:8;9124:9;:19::i;:::-;8340:80;;;8401:11;:9;:11::i;:::-;8340:80;8921:228;:::o;8491:80::-;8534:7;8358:8;:6;:8::i;:::-;8344:22;;:10;:22;;;8340:80;;;8557:8;:6;:8::i;:::-;8550:15;;8340:80;;;8401:11;:9;:11::i;:::-;8340:80;8491;:::o;10730:160::-;10793:8;:6;:8::i;:::-;10779:22;;:10;:22;;;;10771:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10863:21;:19;:21::i;:::-;10730:160::o;4916:161::-;4966:12;4987;4730:66;5002:19;;4987:34;;5060:4;5054:11;5046:19;;5037:35;;:::o;1048:750::-;1355:12;1352:1;1349;1336:32;1549:1;1546;1532:12;1529:1;1513:14;1508:3;1495:56;1616:14;1613:1;1610;1595:36;1648:6;1710:1;1705:36;;;;1769:14;1766:1;1759:25;1705:36;1724:14;1721:1;1714:25;10248:141;10289:11;10309:12;8051:66;10324:10;;10309:25;;10372:4;10366:11;10359:18;;10350:34;;:::o;5218:145::-;5281:37;5300:17;5281:18;:37::i;:::-;5339:17;5330:27;;;;;;;;;;;;5218:145;:::o;10511:139::-;10564:12;8051:66;10579:10;;10564:25;;10629:8;10623:4;10616:22;10607:38;;:::o;2014:40::-;:::o;5506:313::-;5585:57;5624:17;5585:38;:57::i;:::-;5577:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5715:12;4730:66;5730:19;;5715:34;;5789:17;5783:4;5776:31;5767:47;;:::o;3260:627::-;3320:4;3337:12;3844:7;3832:20;3824:28;;3878:1;3871:4;:8;3864:15;;;3260:627;;;:::o

Swarm Source

bzzr://3a61cbfff803b053d8f397cf95cfa0c8c53ef12ce921c5d484b275b58be38897
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.