Contract 0xba2ae424d960c26247dd6c32edc70b295c744c43

 

Contract Overview

Dogecoin: Dogecoin Token
Balance:
0 BNB

BNB Value:
$0.00

Token:
Txn Hash
Block
From
To
Value [Txn Fee]
0x70329fdfe4506c755b4e43001defaa9f9f1d3acdeadc75ac85df5de07086d9ec83546412021-06-16 19:06:4625 secs ago0xde4225cdae238cf5b01b84e6a67a0b86464c1363 IN  Dogecoin: Dogecoin Token0 BNB0.000194235
0xb87b827748ad7cedc1ac16c0171c04d6c83c51af0b698e840379097b0d7221fe83546342021-06-16 19:06:2546 secs ago0xb02ecff82c7e76352b0050e695ae6cd9522b7eff IN  Dogecoin: Dogecoin Token0 BNB0.0000855168
0x16b307e4147eda0c740475a8ff02e4b04659dcdca3348e55a0e557a54a91a94583546202021-06-16 19:05:431 min ago0x8e47d9d20c2e176bb0fbebcdb50fd9d059c3a571 IN  Dogecoin: Dogecoin Token0 BNB0.00023576
0x7ca0c294f2a42873f3b25250143e5b6ae206901a73ecc9d7a69b7ce4b96d2c2083546152021-06-16 19:05:281 min ago0x4f32f845d503e797edc649f8da612fc064645c13 IN  Dogecoin: Dogecoin Token0 BNB0.00023576
0x65ffe56b57170a9a7e25e329c3994df529022df091a3bbe701f7330eca3975f883546132021-06-16 19:05:221 min ago0x5f80dbdc4c3ac0f2260a307ff7eb0cff47591a4a IN  Dogecoin: Dogecoin Token0 BNB0.00023576
0x76a0d7f07d36b8dddcb3da169534f492f03704f5205cf2cd8c23b55b5d10700483546042021-06-16 19:04:552 mins ago0x1bc40b70301ae83411748a9d2df4e20757251c08 IN  Dogecoin: Dogecoin Token0 BNB0.00023576
0x5c86fe7f0394c72fac56b76080e7a5e3c104d2320e2d5d7fed4c89e4a0a2515683545952021-06-16 19:04:282 mins agoBinance: Hot Wallet 7 IN  Dogecoin: Dogecoin Token0 BNB0.00053847
0x45e9ef2dccc34dc528fc7729aab43011a2d847c51d636cee8db38ea03371644883545732021-06-16 19:03:223 mins ago0xb02ecff82c7e76352b0050e695ae6cd9522b7eff IN  Dogecoin: Dogecoin Token0 BNB0.0000855168
0x36c0854903ff30c4b8f3f20c4b44a160f2e068b85c9bd1be81f174e38935ca3183545642021-06-16 19:02:554 mins ago0x14bce4d191d4bad26f8e1f68fea2118b9dd7120f IN  Dogecoin: Dogecoin Token0 BNB0.00023576
0xf3cfa18d0b825b7ee077fd332023d51ccadd6bbc07cd78984cd6ddadccf6676183545622021-06-16 19:02:494 mins ago0x76b9fe3ef220c86233fbd869668f89b7f2293bc5 IN  Dogecoin: Dogecoin Token0 BNB0.000119235
0x100b54fef4f3bad9a20a90e3f197a900cec7c45f5e1a31d0bd75e53850b0e49883545582021-06-16 19:02:374 mins ago0xed42526d6f863cd23a2051792c877be3d9c3fc41 IN  Dogecoin: Dogecoin Token0 BNB0.00023576
0x508864658e034bcc2a52ce9e3e6a7f77db4de8f175fba0e110eee7fc7aadfd1683545262021-06-16 19:01:016 mins ago0x3ba5f4bf028b83631f41819636179b5b88c207e7 IN  Dogecoin: Dogecoin Token0 BNB0.00023576
0xc379aeeb64993af91fcab3de538b5e7a31db4743062d70ec9147a29cdfcc4a9a83545232021-06-16 19:00:526 mins ago0xc8a3995fc8293b8a0afa302052d07ffd3db8a4e7 IN  Dogecoin: Dogecoin Token0 BNB0.00023576
0xaa5e7b412f65cbc0a93c18da3100bf2efe9f39a980f356c5c112f51ecfda6b5083545202021-06-16 19:00:436 mins ago0xea0775cb6c447c01c7d1d3bd697f310d8e2bed26 IN  Dogecoin: Dogecoin Token0 BNB0.000119355
0x8d182fedfab1d70fb338c1cbd5d12888a6bf11601f9a7cb60bf04ca3ff8ae4b783545102021-06-16 19:00:136 mins ago0x76b9fe3ef220c86233fbd869668f89b7f2293bc5 IN  Dogecoin: Dogecoin Token0 BNB0.000269175
0x641ec8ceca8ddbabb53524c39f9ef15d981fd3a0dcb3e1a555bc4938c225cd4783545052021-06-16 18:59:587 mins ago0xf62a21e1beb7136318a1c1ff722b366c8931eaf2 IN  Dogecoin: Dogecoin Token0 BNB0.0002357
0x988efe999a86f8ddaf02e354a98d84ffe42fb2ebb14c5e02f5bfc9359b3c1c9283544972021-06-16 18:59:347 mins ago0xed42526d6f863cd23a2051792c877be3d9c3fc41 IN  Dogecoin: Dogecoin Token0 BNB0.00023576
0xd0e032ce03684632ba4906c0cb93adde20a91756de3ae23a87d9192e3d319be283544892021-06-16 18:59:108 mins ago0xc86bfd397c3e44a14c3a998c8cea9f2451ffcd04 IN  Dogecoin: Dogecoin Token0 BNB0.00023576
0xf7134f1ca613bfd3a6ea4aae9428ca2c67dc993b9bea9f26a2ed77973bbafc0283544332021-06-16 18:56:2210 mins ago0x8d8fe2bbe09c4c59bbd5a784c07b083e2119e310 IN  Dogecoin: Dogecoin Token0 BNB0.000194295
0x8588f9f3f11479f08bcc7bf89b934fa076561319a9905394a24e5556bb76812d83544112021-06-16 18:55:1611 mins ago0xae709c5db7aff917dba67d1d640d7912fd3adafc IN  Dogecoin: Dogecoin Token0 BNB0.00013976
0x12c6779a9409833ebeb25a35959a834b12116b0f7f4642ffa537de83f7793e9883544052021-06-16 18:54:5812 mins ago0xae709c5db7aff917dba67d1d640d7912fd3adafc IN  Dogecoin: Dogecoin Token0 BNB0.00023576
0xfd160aec99bf2fcaa2cb1a2262e7e4917712f1b7d80ebdad492d8acb5f8baa8c83543942021-06-16 18:54:2512 mins ago0x2eac34dce8a6090133fce494e3ebc6badd3b7d9c IN  Dogecoin: Dogecoin Token0 BNB0.00023576
0x3bd481e1c99cd7b489c3aa84469b3f882b74976f503f4c6fa0c38313ecf22dda83543942021-06-16 18:54:2512 mins agoBinance: Hot Wallet 6 IN  Dogecoin: Dogecoin Token0 BNB0.00038859
0x64de3cd0a8cc41be7b93669c338eb78a9f2775cfd2ffce4b15b59856530dce3883543902021-06-16 18:54:1312 mins ago0x67e9148366286d40c2bf8e991d2db8a76de0a28e IN  Dogecoin: Dogecoin Token0 BNB0.00023576
0x51cc5702c2d673f9ef37ae766c6b483dca8c1faf99933d8d176384f29eeaf96983543842021-06-16 18:53:5513 mins ago0x74e51c5252bca5af629a12bd3033445c362fc11c IN  Dogecoin: Dogecoin Token0 BNB0.000194175
[ Download CSV Export 

OVERVIEW

Dogecoin (DOGE) is based on the popular "doge" Internet meme and features a Shiba Inu on its logo. Dogecoin's creators envisaged it as a fun, light-hearted cryptocurrency. that would have greater appeal beyond the core Bitcoin audience, since it was based on a dog meme.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xaad54062a5d54c4496ea9674e4c653c10ae814f7db4f85374a425ac5e8eb73fb54713252021-03-07 11:59:12101 days 7 hrs ago Dogecoin: Dogecoin Token 0xba5fe23f8a3a24bed3236f05f2fcf35fd0bf0b5c0 BNB
0x703b2266a9958a9c5ef86de64ad568a911a8e957994c2153712e951f3ccfbbe354713142021-03-07 11:58:39101 days 7 hrs ago Dogecoin: Dogecoin Token 0xba5fe23f8a3a24bed3236f05f2fcf35fd0bf0b5c0 BNB
0x703b2266a9958a9c5ef86de64ad568a911a8e957994c2153712e951f3ccfbbe354713142021-03-07 11:58:39101 days 7 hrs ago 0x7ba72879d049b3603704b903cd5c386ec30fc966 Dogecoin: Dogecoin Token0 BNB
0x703b2266a9958a9c5ef86de64ad568a911a8e957994c2153712e951f3ccfbbe354713142021-03-07 11:58:39101 days 7 hrs ago Dogecoin: Dogecoin Token 0xba5fe23f8a3a24bed3236f05f2fcf35fd0bf0b5c0 BNB
0x703b2266a9958a9c5ef86de64ad568a911a8e957994c2153712e951f3ccfbbe354713142021-03-07 11:58:39101 days 7 hrs ago 0xdb2d83ed108e68cc1c9689081d54673bd9402a54 Dogecoin: Dogecoin Token0 BNB
0x703b2266a9958a9c5ef86de64ad568a911a8e957994c2153712e951f3ccfbbe354713142021-03-07 11:58:39101 days 7 hrs ago Dogecoin: Dogecoin Token 0xba5fe23f8a3a24bed3236f05f2fcf35fd0bf0b5c0 BNB
0x703b2266a9958a9c5ef86de64ad568a911a8e957994c2153712e951f3ccfbbe354713142021-03-07 11:58:39101 days 7 hrs ago 0xdb2d83ed108e68cc1c9689081d54673bd9402a54 Dogecoin: Dogecoin Token0 BNB
0x05db4ecd2208480fbc247e962f6f0cfe9142d1c7b3106e57c994085a9d65efe054713112021-03-07 11:58:30101 days 7 hrs ago Dogecoin: Dogecoin Token 0xba5fe23f8a3a24bed3236f05f2fcf35fd0bf0b5c0 BNB
0x05db4ecd2208480fbc247e962f6f0cfe9142d1c7b3106e57c994085a9d65efe054713112021-03-07 11:58:30101 days 7 hrs ago 0x7ba72879d049b3603704b903cd5c386ec30fc966 Dogecoin: Dogecoin Token0 BNB
0x05db4ecd2208480fbc247e962f6f0cfe9142d1c7b3106e57c994085a9d65efe054713112021-03-07 11:58:30101 days 7 hrs ago Dogecoin: Dogecoin Token 0xba5fe23f8a3a24bed3236f05f2fcf35fd0bf0b5c0 BNB
0x05db4ecd2208480fbc247e962f6f0cfe9142d1c7b3106e57c994085a9d65efe054713112021-03-07 11:58:30101 days 7 hrs ago 0x7ba72879d049b3603704b903cd5c386ec30fc966 Dogecoin: Dogecoin Token0 BNB
0x6e7be13ac40eed53df39c347c5d25d31f9ee15ff34e27ba60a66c7fe7d0c203854713092021-03-07 11:58:24101 days 7 hrs ago Dogecoin: Dogecoin Token 0xba5fe23f8a3a24bed3236f05f2fcf35fd0bf0b5c0 BNB
0x6e7be13ac40eed53df39c347c5d25d31f9ee15ff34e27ba60a66c7fe7d0c203854713092021-03-07 11:58:24101 days 7 hrs ago 0x7ba72879d049b3603704b903cd5c386ec30fc966 Dogecoin: Dogecoin Token0 BNB
0x6e7be13ac40eed53df39c347c5d25d31f9ee15ff34e27ba60a66c7fe7d0c203854713092021-03-07 11:58:24101 days 7 hrs ago Dogecoin: Dogecoin Token 0xba5fe23f8a3a24bed3236f05f2fcf35fd0bf0b5c0 BNB
0x6e7be13ac40eed53df39c347c5d25d31f9ee15ff34e27ba60a66c7fe7d0c203854713092021-03-07 11:58:24101 days 7 hrs ago 0x7ba72879d049b3603704b903cd5c386ec30fc966 Dogecoin: Dogecoin Token0 BNB
0x4b6cdff0f067a0bb718fa1728a65f9c918b328c819f021ba3ec34c95f20e233954712832021-03-07 11:57:06101 days 7 hrs ago Dogecoin: Dogecoin Token 0xba5fe23f8a3a24bed3236f05f2fcf35fd0bf0b5c0 BNB
0xd5516b10a4529d9c8a93e7d2a8c6e435f95ca54ca7227e650864f3ae8750c58554712802021-03-07 11:56:57101 days 7 hrs ago Dogecoin: Dogecoin Token 0xba5fe23f8a3a24bed3236f05f2fcf35fd0bf0b5c0 BNB
0xd5516b10a4529d9c8a93e7d2a8c6e435f95ca54ca7227e650864f3ae8750c58554712802021-03-07 11:56:57101 days 7 hrs ago 0x7ba72879d049b3603704b903cd5c386ec30fc966 Dogecoin: Dogecoin Token0 BNB
0xd5516b10a4529d9c8a93e7d2a8c6e435f95ca54ca7227e650864f3ae8750c58554712802021-03-07 11:56:57101 days 7 hrs ago Dogecoin: Dogecoin Token 0xba5fe23f8a3a24bed3236f05f2fcf35fd0bf0b5c0 BNB
0xd5516b10a4529d9c8a93e7d2a8c6e435f95ca54ca7227e650864f3ae8750c58554712802021-03-07 11:56:57101 days 7 hrs ago Just Liquidity: Router Dogecoin: Dogecoin Token0 BNB
0x25fb610685fee24e469b4f1f8cb70dfa93fbf38b54a9944b06e8512213d68e7e54712782021-03-07 11:56:51101 days 7 hrs ago Dogecoin: Dogecoin Token 0xba5fe23f8a3a24bed3236f05f2fcf35fd0bf0b5c0 BNB
0x17f2b8f0c33ad2225b354fbc996fb57ed1a3655533126bc9653278a7a8f397c654712702021-03-07 11:56:27101 days 7 hrs ago Dogecoin: Dogecoin Token 0xba5fe23f8a3a24bed3236f05f2fcf35fd0bf0b5c0 BNB
0x17f2b8f0c33ad2225b354fbc996fb57ed1a3655533126bc9653278a7a8f397c654712702021-03-07 11:56:27101 days 7 hrs ago 0x7ba72879d049b3603704b903cd5c386ec30fc966 Dogecoin: Dogecoin Token0 BNB
0x17f2b8f0c33ad2225b354fbc996fb57ed1a3655533126bc9653278a7a8f397c654712702021-03-07 11:56:27101 days 7 hrs ago Dogecoin: Dogecoin Token 0xba5fe23f8a3a24bed3236f05f2fcf35fd0bf0b5c0 BNB
0x17f2b8f0c33ad2225b354fbc996fb57ed1a3655533126bc9653278a7a8f397c654712702021-03-07 11:56:27101 days 7 hrs ago 0x7ba72879d049b3603704b903cd5c386ec30fc966 Dogecoin: Dogecoin Token0 BNB
[ Download CSV Export 
Loading

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

Contract Name:
BEP20UpgradeableProxy

Compiler Version
v0.6.4+commit.1dca32f3

Optimization Enabled:
Yes with 200 runs

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

// File: openzeppelin-solidity/contracts/proxy/Proxy.sol



pragma solidity ^0.6.0;

/**
 * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM
 * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to
 * be specified by overriding the virtual {_implementation} function.
 * 
 * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a
 * different contract through the {_delegate} function.
 * 
 * The success and return data of the delegated call will be returned back to the caller of the proxy.
 */
abstract contract Proxy {
    /**
     * @dev Delegates the current call to `implementation`.
     * 
     * This function does not return to its internall call site, it will return directly to the external caller.
     */
    function _delegate(address implementation) internal {
        // solhint-disable-next-line no-inline-assembly
        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 This is a virtual function that should be overriden so it returns the address to which the fallback function
     * and {_fallback} should delegate.
     */
    function _implementation() internal virtual view returns (address);

    /**
     * @dev Delegates the current call to the address returned by `_implementation()`.
     * 
     * This function does not return to its internall call site, it will return directly to the external caller.
     */
    function _fallback() internal {
        _beforeFallback();
        _delegate(_implementation());
    }

    /**
     * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other
     * function in the contract matches the call data.
     */
    fallback () payable external {
        _fallback();
    }

    /**
     * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data
     * is empty.
     */
    receive () payable external {
        _fallback();
    }

    /**
     * @dev Hook that is called before falling back to the implementation. Can happen as part of a manual `_fallback`
     * call, or as part of the Solidity `fallback` or `receive` functions.
     * 
     * If overriden should call `super._beforeFallback()`.
     */
    function _beforeFallback() internal virtual {
    }
}

// File: openzeppelin-solidity/contracts/utils/Address.sol



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

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

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain`call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

// File: openzeppelin-solidity/contracts/proxy/UpgradeableProxy.sol



pragma solidity ^0.6.0;



/**
 * @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an
 * implementation address that can be changed. This address is stored in storage in the location specified by
 * https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the
 * implementation behind the proxy.
 * 
 * Upgradeability is only provided internally through {_upgradeTo}. For an externally upgradeable proxy see
 * {TransparentUpgradeableProxy}.
 */
contract UpgradeableProxy is Proxy {
    /**
     * @dev Initializes the upgradeable proxy with an initial implementation specified by `_logic`.
     * 
     * If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded
     * function call, and allows initializating the storage of the proxy like a Solidity constructor.
     */
    constructor(address _logic, bytes memory _data) public payable {
        assert(_IMPLEMENTATION_SLOT == bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1));
        _setImplementation(_logic);
        if(_data.length > 0) {
            // solhint-disable-next-line avoid-low-level-calls
            (bool success,) = _logic.delegatecall(_data);
            require(success);
        }
    }

    /**
     * @dev Emitted when the implementation is upgraded.
     */
    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 private constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

    /**
     * @dev Returns the current implementation address.
     */
    function _implementation() internal override view returns (address impl) {
        bytes32 slot = _IMPLEMENTATION_SLOT;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            impl := sload(slot)
        }
    }

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

    /**
     * @dev Stores a new address in the EIP1967 implementation slot.
     */
    function _setImplementation(address newImplementation) private {
        require(Address.isContract(newImplementation), "UpgradeableProxy: new implementation is not a contract");

        bytes32 slot = _IMPLEMENTATION_SLOT;

        // solhint-disable-next-line no-inline-assembly
        assembly {
            sstore(slot, newImplementation)
        }
    }
}

// File: openzeppelin-solidity/contracts/proxy/TransparentUpgradeableProxy.sol



pragma solidity ^0.6.0;


/**
 * @dev This contract implements a proxy that is upgradeable by an admin.
 * 
 * To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector
 * clashing], which can potentially be used in an attack, this contract uses the
 * https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two
 * things that go hand in hand:
 * 
 * 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if
 * that call matches one of the admin functions exposed by the proxy itself.
 * 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the
 * implementation. If the admin tries to call a function on the implementation it will fail with an error that says
 * "admin cannot fallback to proxy target".
 * 
 * These properties mean that the admin account can only be used for admin actions like upgrading the proxy or changing
 * the admin, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due
 * to sudden errors when trying to call a function from the proxy implementation.
 * 
 * Our recommendation is for the dedicated account to be an instance of the {ProxyAdmin} contract. If set up this way,
 * you should think of the `ProxyAdmin` instance as the real administrative inerface of your proxy.
 */
contract TransparentUpgradeableProxy is UpgradeableProxy {
    /**
     * @dev Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and
     * optionally initialized with `_data` as explained in {UpgradeableProxy-constructor}.
     */
    constructor(address _logic, address _admin, bytes memory _data) public payable UpgradeableProxy(_logic, _data) {
        assert(_ADMIN_SLOT == bytes32(uint256(keccak256("eip1967.proxy.admin")) - 1));
        _setAdmin(_admin);
    }

    /**
     * @dev Emitted when the admin account has changed.
     */
    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 private constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;

    /**
     * @dev Modifier used internally that will delegate the call to the implementation unless the sender is the admin.
     */
    modifier ifAdmin() {
        if (msg.sender == _admin()) {
            _;
        } else {
            _fallback();
        }
    }

    /**
     * @dev Returns the current admin.
     * 
     * NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyAdmin}.
     * 
     * TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the
     * https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.
     * `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`
     */
    function admin() external ifAdmin returns (address) {
        return _admin();
    }

    /**
     * @dev Returns the current implementation.
     * 
     * NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}.
     * 
     * TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the
     * https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.
     * `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`
     */
    function implementation() external ifAdmin returns (address) {
        return _implementation();
    }

    /**
     * @dev Changes the admin of the proxy.
     * 
     * Emits an {AdminChanged} event.
     * 
     * NOTE: Only the admin can call this function. See {ProxyAdmin-changeProxyAdmin}.
     */
    function changeAdmin(address newAdmin) external ifAdmin {
        require(newAdmin != address(0), "TransparentUpgradeableProxy: new admin is the zero address");
        emit AdminChanged(_admin(), newAdmin);
        _setAdmin(newAdmin);
    }

    /**
     * @dev Upgrade the implementation of the proxy.
     * 
     * NOTE: Only the admin can call this function. See {ProxyAdmin-upgrade}.
     */
    function upgradeTo(address newImplementation) external ifAdmin {
        _upgradeTo(newImplementation);
    }

    /**
     * @dev Upgrade the implementation of the proxy, and then call a function from the new implementation as specified
     * by `data`, which should be an encoded function call. This is useful to initialize new storage variables in the
     * proxied contract.
     * 
     * NOTE: Only the admin can call this function. See {ProxyAdmin-upgradeAndCall}.
     */
    function upgradeToAndCall(address newImplementation, bytes calldata data) external payable ifAdmin {
        _upgradeTo(newImplementation);
        // solhint-disable-next-line avoid-low-level-calls
        (bool success,) = newImplementation.delegatecall(data);
        require(success);
    }

    /**
     * @dev Returns the current admin.
     */
    function _admin() internal view returns (address adm) {
        bytes32 slot = _ADMIN_SLOT;
        // solhint-disable-next-line no-inline-assembly
        assembly {
            adm := sload(slot)
        }
    }

    /**
     * @dev Stores a new address in the EIP1967 admin slot.
     */
    function _setAdmin(address newAdmin) private {
        bytes32 slot = _ADMIN_SLOT;

        // solhint-disable-next-line no-inline-assembly
        assembly {
            sstore(slot, newAdmin)
        }
    }

    /**
     * @dev Makes sure the admin cannot access the fallback function. See {Proxy-_beforeFallback}.
     */
    function _beforeFallback() internal override virtual {
        require(msg.sender != _admin(), "TransparentUpgradeableProxy: admin cannot fallback to proxy target");
        super._beforeFallback();
    }
}

// File: contracts/BEP20UpgradeableProxy.sol

pragma solidity ^0.6.0;


contract BEP20UpgradeableProxy is TransparentUpgradeableProxy {

    constructor(address logic, address admin, bytes memory data) TransparentUpgradeableProxy(logic, admin, data) public {

    }

}

Contract ABI

[{"inputs":[{"internalType":"address","name":"logic","type":"address"},{"internalType":"address","name":"admin","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","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"}]

608060405234801561001057600080fd5b506040516109b33803806109b38339818101604052606081101561003357600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005e57600080fd5b90830190602082018581111561007357600080fd5b825164010000000081118282018810171561008d57600080fd5b82525081516020918201929091019080838360005b838110156100ba5781810151838201526020016100a2565b50505050905090810190601f1680156100e75780820380516001836020036101000a031916815260200191505b5060408181527f656970313936372e70726f78792e696d706c656d656e746174696f6e0000000082525190819003601c0190208693508592508491508390829060008051602061095d8339815191526000199091011461014357fe5b610155826001600160e01b0361027a16565b80511561020d576000826001600160a01b0316826040518082805190602001908083835b602083106101985780518252601f199092019160209182019101610179565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101f8576040519150601f19603f3d011682016040523d82523d6000602084013e6101fd565b606091505b505090508061020b57600080fd5b505b5050604080517f656970313936372e70726f78792e61646d696e000000000000000000000000008152905190819003601301902060008051602061093d8339815191526000199091011461025d57fe5b61026f826001600160e01b036102da16565b5050505050506102f2565b61028d816102ec60201b61054e1760201c565b6102c85760405162461bcd60e51b815260040180806020018281038252603681526020018061097d6036913960400191505060405180910390fd5b60008051602061095d83398151915255565b60008051602061093d83398151915255565b3b151590565b61063c806103016000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996103b4565b6101a96101a4610414565b610439565b565b6101b361045d565b6001600160a01b0316336001600160a01b031614156101da576101d581610482565b6101e2565b6101e2610191565b50565b6101ed61045d565b6001600160a01b0316336001600160a01b031614156102855761020f83610482565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c61045d565b6001600160a01b0316336001600160a01b031614156102c4576102bd610414565b90506102cc565b6102cc610191565b90565b6102d761045d565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a815260200180610555603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e61045d565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c2565b600061039361045d565b6001600160a01b0316336001600160a01b031614156102c4576102bd61045d565b6103bc61045d565b6001600160a01b0316336001600160a01b0316141561040c5760405162461bcd60e51b81526004018080602001828103825260428152602001806105c56042913960600191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e808015610458573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b61048b816104e6565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104ef8161054e565b61052a5760405162461bcd60e51b815260040180806020018281038252603681526020018061058f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b3b15159056fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e74726163745472616e73706172656e745570677261646561626c6550726f78793a2061646d696e2063616e6e6f742066616c6c6261636b20746f2070726f787920746172676574a2646970667358221220647a4fea61bb23cbda141d2cf5cadbd9ec022ccc2ffffaaa1b59b91259cfb8a164736f6c63430006040033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374000000000000000000000000ba5fe23f8a3a24bed3236f05f2fcf35fd0bf0b5c000000000000000000000000ee9546e92e6876edf6a234effbd72d75360d91f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Deployed ByteCode Sourcemap

18728:202:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2907:11;:9;:11::i;:::-;18728:202;;2683:11;:9;:11::i;16927:111::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;16927:111:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16927:111:0;-1:-1:-1;;;;;16927:111:0;;:::i;17424:299::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;17424:299:0;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;17424:299:0;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;17424:299: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;-1:-1;17424:299:0;;-1:-1:-1;17424:299:0;-1:-1:-1;17424:299:0;:::i;16193:104::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;16193:104:0;;;:::i;:::-;;;;-1:-1:-1;;;;;16193:104:0;;;;;;;;;;;;;;16513:246;;5:9:-1;2:2;;;27:1;24;17:12;2:2;16513:246:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16513:246:0;-1:-1:-1;;;;;16513:246:0;;:::i;15634:86::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;15634:86:0;;;:::i;2335:105::-;2376:17;:15;:17::i;:::-;2404:28;2414:17;:15;:17::i;:::-;2404:9;:28::i;:::-;2335:105::o;16927:111::-;15090:8;:6;:8::i;:::-;-1:-1:-1;;;;;15076:22:0;:10;-1:-1:-1;;;;;15076:22:0;;15072:100;;;17001:29:::1;17012:17;17001:10;:29::i;:::-;15072:100:::0;;;15149:11;:9;:11::i;:::-;16927:111;:::o;17424:299::-;15090:8;:6;:8::i;:::-;-1:-1:-1;;;;;15076:22:0;:10;-1:-1:-1;;;;;15076:22:0;;15072:100;;;17534:29:::1;17545:17;17534:10;:29::i;:::-;17635:12;17652:17;-1:-1:-1::0;;;;;17652:30:0::1;17683:4;;17652:36;;;;;30:3:-1;22:6;14;1:33;17652:36:0;::::0;45:16:-1;::::1;::::0;-1:-1;17652:36:0::1;::::0;-1:-1:-1;17652:36:0;;-1:-1:-1;;17652:36:0;;::::1;::::0;;::::1;;;;;;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;;17634:54:0;;;17707:7;17699:16;;12:1:-1;9::::0;2:12:::1;17699:16:0;15115:1;15072:100:::0;;;15149:11;:9;:11::i;:::-;17424:299;;;:::o;16193:104::-;16245:7;15090:8;:6;:8::i;:::-;-1:-1:-1;;;;;15076:22:0;:10;-1:-1:-1;;;;;15076:22:0;;15072:100;;;16272:17:::1;:15;:17::i;:::-;16265:24;;15072:100:::0;;;15149:11;:9;:11::i;:::-;16193:104;:::o;16513:246::-;15090:8;:6;:8::i;:::-;-1:-1:-1;;;;;15076:22:0;:10;-1:-1:-1;;;;;15076:22:0;;15072:100;;;-1:-1:-1;;;;;16588:22:0;::::1;16580:93;;;;-1:-1:-1::0;;;16580:93:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16689:32;16702:8;:6;:8::i;:::-;16689:32;::::0;;-1:-1:-1;;;;;16689:32:0;;::::1;::::0;;;;::::1;;::::0;::::1;::::0;;;;;;;;;::::1;16732:19;16742:8;16732:9;:19::i;15634:86::-:0;15677:7;15090:8;:6;:8::i;:::-;-1:-1:-1;;;;;15076:22:0;:10;-1:-1:-1;;;;;15076:22:0;;15072:100;;;15704:8:::1;:6;:8::i;18437:207::-:0;18523:8;:6;:8::i;:::-;-1:-1:-1;;;;;18509:22:0;:10;-1:-1:-1;;;;;18509:22:0;;;18501:101;;;;-1:-1:-1;;;18501:101:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18613:23;:21;:23::i;11325:248::-;11175:66;11544:11;;11521:45::o;935:907::-;1327:14;1324:1;1321;1308:34;1545:1;1542;1526:14;1523:1;1507:14;1500:5;1487:60;1624:16;1621:1;1618;1603:38;1664:6;1733:38;;;;1805:16;1802:1;1795:27;1733:38;1752:16;1749:1;1742:27;17789:219;14829:66;17979:11;;17957:44::o;11700:155::-;11767:37;11786:17;11767:18;:37::i;:::-;11820:27;;-1:-1:-1;;;;;11820:27:0;;;;;;;;11700:155;:::o;18095:216::-;14829:66;18271:22;18256:48::o;11951:369::-;12033:37;12052:17;12033:18;:37::i;:::-;12025:104;;;;-1:-1:-1;;;12025:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11175:66;12271:31;12256:57::o;4049:422::-;4416:20;4455:8;;;4049:422::o

Swarm Source

ipfs://647a4fea61bb23cbda141d2cf5cadbd9ec022ccc2ffffaaa1b59b91259cfb8a1
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.