Contract 0xcad9146102d29175fd7908eb6820a48e4fc78cea

 
Txn Hash
Block
From
To
Value [Txn Fee]
0x6eba4fc310bdd92c45cde661089238a17f82e4b8d736e2d7a913b0ddd61c7b9582221782021-06-12 3:34:028 hrs 43 mins ago0xdf38fad9a61cefcc4202f29d53e5163f358f0138 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.000353005
0x65cfa7c0c03efadfaec2610b64090235af6ef244e017f9be76e514e9f2a7840082221612021-06-12 3:33:118 hrs 44 mins ago0x888888a2b979a46e089770ab9d082b90ebd1e5d1 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.00024876
0x78b2394d8b992b5d64524923e9b4c6a92673aa75d335eaf654609c923f64dfd882218872021-06-12 3:19:298 hrs 58 mins ago0xdf38fad9a61cefcc4202f29d53e5163f358f0138 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.000353065
0x39e27d95b73742a0d7b69af9f7733320a112c893bbc99ab949edb9d9ba7ed15682218732021-06-12 3:18:478 hrs 59 mins agoXBC: Deployer IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.00024858
0xe67dccccd8ce9bc39dc13cb34c2d2eac499bc4c728d6d54d9a6330f8afb9e91e82217832021-06-12 3:14:179 hrs 3 mins ago0xdf38fad9a61cefcc4202f29d53e5163f358f0138 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.000353065
0xd6ca0edfb1ec05f1e36b51ebb5c94bf75fd5bf37fa38f082f85ea92a063326c682217682021-06-12 3:13:329 hrs 4 mins agoXBN Finance: Deployer IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.00024834
0x497876630d54195e685f2920b955dd856b13563381d66ce25ced365fcc3f1d2582216582021-06-12 3:08:029 hrs 9 mins ago0xdf38fad9a61cefcc4202f29d53e5163f358f0138 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.000353065
0x65dd34effeb4199271dca368e1f29a275357887eaa62e31e4b73245fd49c714082216432021-06-12 3:07:179 hrs 10 mins ago0x70c022cc5b7385e05c8f1722bf6b13fae5848253 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.00045113
0xb493b7d9c837d040f3c0d370c177a16ba3c8446cfafc2596acee18497d4bc5a782198482021-06-12 1:36:5110 hrs 41 mins ago0xdf38fad9a61cefcc4202f29d53e5163f358f0138 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.000353065
0xd58dad9d773872637306edd3b13341440cba728b49047cf3b0f025b1f58903e382198322021-06-12 1:36:0310 hrs 41 mins ago0x46761047d9eb685365687320c503241c56582eca IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.00024858
0xf6035f751a06d21437cfa70788f6b1e8ee2b12546f8a8a17f9e37e148b5b67c982148842021-06-11 21:28:2014 hrs 49 mins ago0xdf38fad9a61cefcc4202f29d53e5163f358f0138 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.000353065
0x0debab2516cbe804d4b7d7dbfb281f24cf55204caefa4fb1010f7890814c8c9482148722021-06-11 21:27:4414 hrs 50 mins ago0xdf38fad9a61cefcc4202f29d53e5163f358f0138 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.000353005
0xa3441b733d0bf32dfb83807d9786e449e5b065630b07f5bf2efcc36ecc2f39e182148672021-06-11 21:27:2914 hrs 50 mins ago0x2c9de54251259b85ed209f2aa409e14a4d483d60 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.00055425
0x2c57fbd6cf9e37c8572be6fd07a18c4e6cfa08697b5b4754a9f3482d0acb8e0e82148562021-06-11 21:26:5614 hrs 50 mins ago0x2c9de54251259b85ed209f2aa409e14a4d483d60 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.00017019
0x2953771805cf198a0b11d4a1a8bbccacea47f40c621acf6cfbb2b4b0613a47de82147102021-06-11 21:19:3514 hrs 58 mins ago0x3c9584426432eb851e5689230d5cfc50659103d5 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.00055419
0x718daf2b3820d9187ed84e14f3d46d2fa1e1b5c881794da228f338603cbfb1cd82080862021-06-11 15:45:3820 hrs 32 mins ago0xdf38fad9a61cefcc4202f29d53e5163f358f0138 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.000353065
0xd4d6e7c72d0378ee627470c7e778cc3c56805f3236ec638a1550337f57dca61082080702021-06-11 15:44:5020 hrs 33 mins agoMyWish: Deployer IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.00024858
0x7227d5a6320d70236fd53c28163ddc19cc03b1faa1d8c83bc5ca7ddedfe0362982069632021-06-11 14:49:0321 hrs 28 mins ago0xdf38fad9a61cefcc4202f29d53e5163f358f0138 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.000353065
0x2075b7229bd0cacdb3914bc8f3b602844a28edf5a9a63627b9e8727b2e13de3582069482021-06-11 14:48:1821 hrs 29 mins ago0x4e6e778ba726b61fcbee495385e0d446c4ea40df IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.00045077
0x6610c1f86639d2e1cde3827f12de4f397dcfe514ae50aec3e1798454d810d28582068832021-06-11 14:45:0321 hrs 32 mins ago0xdf38fad9a61cefcc4202f29d53e5163f358f0138 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.000353065
0x80d5a0b6004de4129f1e02131fd37da10c6181ac93b246aab87c94214c5a29d082068662021-06-11 14:44:1221 hrs 33 mins ago0x4e6e778ba726b61fcbee495385e0d446c4ea40df IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.00045077
0xfb38fb0e450d5b4b960a490ba218777d01e5c40ce9f6a998a292dd8da3623d6482067462021-06-11 14:38:1221 hrs 39 mins ago0xdf38fad9a61cefcc4202f29d53e5163f358f0138 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.000353065
0x2b3d869d8fb625a3613c115d3703370d327b3dc59a0dc4624464775a340e5e4b82067312021-06-11 14:37:2721 hrs 40 mins ago0xc839c1a7daa991717ad58cd0179e6b3e3e70c579 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.00024822
0x65423eae9e58d6a51d22857c0e80d94f088184d3b86cae24514a666b16d12be182043382021-06-11 12:37:4523 hrs 40 mins ago0xdf38fad9a61cefcc4202f29d53e5163f358f0138 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.000353065
0x5a7d46b4685cef6436160017352d8ae95fab70a470f6c0d51513946cc445f69a82043282021-06-11 12:37:1523 hrs 40 mins ago0xdf38fad9a61cefcc4202f29d53e5163f358f0138 IN  0xcad9146102d29175fd7908eb6820a48e4fc78cea0 BNB0.000353065
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x57f625ba8c61aa595145cbc1d2eecac3201a42b34fc68fd1093038c57a095e6d54526062021-03-06 20:23:0397 days 15 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0xbffe070487f4e6bc202eea9f548817ec5e5ec7e47d13df1febcb53f5226a36f154525902021-03-06 20:22:1597 days 15 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0x2fd671b1785119ef15c475ddea930ff618a639f8b9c92fb12e5df14b344343e954525162021-03-06 20:18:3397 days 15 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0xea74a9f13c6a1b8250aeeb4367b3c2a4cc1d5c05bec15ab666b163b569f3eee454525012021-03-06 20:17:4897 days 16 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0xe0062b745e3399148e3cd8aa855e83af192685028adb4d7d1b005bbf22e7fe3254516642021-03-06 19:35:5797 days 16 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0x8616495d66ffe156adfa2f5f65d25a5b4dda107199d2f7e83917f9d97baab9f054516532021-03-06 19:35:2497 days 16 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0x2f98e888cedd1b9a1deda44efc43e9b5fffc825781aa0fbf8b2eff0ff76aaf3054516422021-03-06 19:34:5197 days 16 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0x2321934f56edf02bbfaddebabab0e06107e89c050419362a6e8aec85eebae63854516362021-03-06 19:34:3397 days 16 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0xaffd64bc3aec17ac9ab281257854a34a129564535c5b8d20f348a05ce4d8b82754516312021-03-06 19:34:1897 days 16 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0x1f2dcc4712e33b1b743a9e565d25f9f86bcd1c4d8c97448bf5967ac269ed47db54516272021-03-06 19:34:0697 days 16 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0x26812ffcb87dab14bd7bd907e48937dc3abc6eef954fbc70d2788b3675c8ba9854465022021-03-06 15:16:3397 days 21 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0x6a0173b068b0f7909bef933e526a7a1ca625577108fe5c4fe5b70ff859fabcde54464912021-03-06 15:16:0097 days 21 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0x10f51657a6a2daf90e946502fd4a2fbfc894c60c34aaeb7250f18387ba791cd954464872021-03-06 15:15:4897 days 21 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0xd4115d32392255dbc98a4ddf35d50449c836b65a42337dc40b9a08a460af4f9c54464772021-03-06 15:15:1897 days 21 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0xb46598659e5cf772cbaec27dee41dec30a078936f07f1d1406af81ed6c73e3f854464592021-03-06 15:14:2497 days 21 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0x2ddc892e20a8c487172e7ff9eb9506881a9661741a74d96fb360a8a7121d76fa54464442021-03-06 15:13:3997 days 21 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0xb1ace2c40b31beed79a89da70546ca582f4e5595fb617dbbc7623abd94a2fdba54463512021-03-06 15:09:0097 days 21 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0xf8f21b6e4f74c4283a8cf392375ccb0397ba4db4a29e77bdde3d99bc9577cf8454463412021-03-06 15:08:3097 days 21 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0x4ba593bc4493702947af294df19d8226ec89c64fd515c667bf06435cfaf0383554463252021-03-06 15:07:4297 days 21 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0x0a493da83e89e750269677cd1ae3f68383ecb53587f73f8c6bf16ed1e2a73fbc54463252021-03-06 15:07:4297 days 21 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0x95b193934aefd4b56983e34c87cf33f997151351a42ba765cc8dbcc8818a4dbb54463222021-03-06 15:07:3397 days 21 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0x5b1c67b95f2f22148690b7da865303ceac993f3a27d07cb8ee34759d38d21d5554463122021-03-06 15:07:0397 days 21 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0x3eeee423b8b5391ca2cb7b53581d922c5e44d52d7bbb287e280378ac1781cfee54462962021-03-06 15:06:1597 days 21 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0xfb15792041e96e641d74a0bf4c2a378551fe165493f7497754e25acba1d910bf54462962021-03-06 15:06:1597 days 21 hrs ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
0x004e43de745aeeef8f00f7955ebe2283c19c209b038f12bf84abbecbe665eea554418092021-03-06 11:21:5498 days 55 mins ago 0xcad9146102d29175fd7908eb6820a48e4fc78cea 0x43c652589067d0a685e8dd970f63d6d1c9ad0b3d0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
RewardRegisterUpgradeableProxy

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-14
*/

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

// SPDX-License-Identifier: MIT

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

// SPDX-License-Identifier: MIT

pragma solidity ^0.6.2;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies 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

// SPDX-License-Identifier: MIT

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

// SPDX-License-Identifier: MIT

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/RewardRegisterUpgradeableProxy.sol

pragma solidity ^0.6.0;


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

608060405234801561001057600080fd5b506040516109b33803806109b38339818101604052606081101561003357600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005e57600080fd5b90830190602082018581111561007357600080fd5b825164010000000081118282018810171561008d57600080fd5b82525081516020918201929091019080838360005b838110156100ba5781810151838201526020016100a2565b50505050905090810190601f1680156100e75780820380516001836020036101000a031916815260200191505b5060408181527f656970313936372e70726f78792e696d706c656d656e746174696f6e0000000082525190819003601c0190208693508592508491508390829060008051602061095d8339815191526000199091011461014357fe5b610155826001600160e01b0361027a16565b80511561020d576000826001600160a01b0316826040518082805190602001908083835b602083106101985780518252601f199092019160209182019101610179565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101f8576040519150601f19603f3d011682016040523d82523d6000602084013e6101fd565b606091505b505090508061020b57600080fd5b505b5050604080517f656970313936372e70726f78792e61646d696e000000000000000000000000008152905190819003601301902060008051602061093d8339815191526000199091011461025d57fe5b61026f826001600160e01b036102da16565b5050505050506102f2565b61028d816102ec60201b61054e1760201c565b6102c85760405162461bcd60e51b815260040180806020018281038252603681526020018061097d6036913960400191505060405180910390fd5b60008051602061095d83398151915255565b60008051602061093d83398151915255565b3b151590565b61063c806103016000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996103b4565b6101a96101a4610414565b610439565b565b6101b361045d565b6001600160a01b0316336001600160a01b031614156101da576101d581610482565b6101e2565b6101e2610191565b50565b6101ed61045d565b6001600160a01b0316336001600160a01b031614156102855761020f83610482565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c61045d565b6001600160a01b0316336001600160a01b031614156102c4576102bd610414565b90506102cc565b6102cc610191565b90565b6102d761045d565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a815260200180610555603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e61045d565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c2565b600061039361045d565b6001600160a01b0316336001600160a01b031614156102c4576102bd61045d565b6103bc61045d565b6001600160a01b0316336001600160a01b0316141561040c5760405162461bcd60e51b81526004018080602001828103825260428152602001806105c56042913960600191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e808015610458573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b61048b816104e6565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104ef8161054e565b61052a5760405162461bcd60e51b815260040180806020018281038252603681526020018061058f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b3b15159056fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e74726163745472616e73706172656e745570677261646561626c6550726f78793a2061646d696e2063616e6e6f742066616c6c6261636b20746f2070726f787920746172676574a26469706673582212207dbf1e5355f46b587bc9acf998a0c661a43d6edd54b9fc46b437e23d08edf57264736f6c63430006040033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e747261637400000000000000000000000043c652589067d0a685e8dd970f63d6d1c9ad0b3d000000000000000000000000845d8402f2237831ec5424ba2cfb87c696e9fcfd00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000df38fad9a61cefcc4202f29d53e5163f358f013800000000000000000000000000000000000000000000000000000000

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

00000000000000000000000043c652589067d0a685e8dd970f63d6d1c9ad0b3d000000000000000000000000845d8402f2237831ec5424ba2cfb87c696e9fcfd00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000df38fad9a61cefcc4202f29d53e5163f358f013800000000000000000000000000000000000000000000000000000000

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 00000000000000000000000043c652589067d0a685e8dd970f63d6d1c9ad0b3d
Arg [1] : 000000000000000000000000845d8402f2237831ec5424ba2cfb87c696e9fcfd
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000024
Arg [4] : c4d66de8000000000000000000000000df38fad9a61cefcc4202f29d53e5163f
Arg [5] : 358f013800000000000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

18861:205:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2938:11;:9;:11::i;:::-;18861:205;;2714:11;:9;:11::i;17051:111::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17051:111:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;17051:111:0;-1:-1:-1;;;;;17051:111:0;;:::i;17548:299::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;17548:299:0;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;17548:299:0;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;17548: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;17548:299:0;;-1:-1:-1;17548:299:0;-1:-1:-1;17548:299:0;:::i;16317:104::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;16317:104:0;;;:::i;:::-;;;;-1:-1:-1;;;;;16317:104:0;;;;;;;;;;;;;;16637:246;;5:9:-1;2:2;;;27:1;24;17:12;2:2;16637:246:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16637:246:0;-1:-1:-1;;;;;16637:246:0;;:::i;15758:86::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;15758:86:0;;;:::i;2366:105::-;2407:17;:15;:17::i;:::-;2435:28;2445:17;:15;:17::i;:::-;2435:9;:28::i;:::-;2366:105::o;17051:111::-;15214:8;:6;:8::i;:::-;-1:-1:-1;;;;;15200:22:0;:10;-1:-1:-1;;;;;15200:22:0;;15196:100;;;17125:29:::1;17136:17;17125:10;:29::i;:::-;15196:100:::0;;;15273:11;:9;:11::i;:::-;17051:111;:::o;17548:299::-;15214:8;:6;:8::i;:::-;-1:-1:-1;;;;;15200:22:0;:10;-1:-1:-1;;;;;15200:22:0;;15196:100;;;17658:29:::1;17669:17;17658:10;:29::i;:::-;17759:12;17776:17;-1:-1:-1::0;;;;;17776:30:0::1;17807:4;;17776:36;;;;;30:3:-1;22:6;14;1:33;17776:36:0;::::0;45:16:-1;::::1;::::0;-1:-1;17776:36:0::1;::::0;-1:-1:-1;17776:36:0;;-1:-1:-1;;17776: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;;17758:54:0;;;17831:7;17823:16;;12:1:-1;9::::0;2:12:::1;17823:16:0;15239:1;15196:100:::0;;;15273:11;:9;:11::i;:::-;17548:299;;;:::o;16317:104::-;16369:7;15214:8;:6;:8::i;:::-;-1:-1:-1;;;;;15200:22:0;:10;-1:-1:-1;;;;;15200:22:0;;15196:100;;;16396:17:::1;:15;:17::i;:::-;16389:24;;15196:100:::0;;;15273:11;:9;:11::i;:::-;16317:104;:::o;16637:246::-;15214:8;:6;:8::i;:::-;-1:-1:-1;;;;;15200:22:0;:10;-1:-1:-1;;;;;15200:22:0;;15196:100;;;-1:-1:-1;;;;;16712:22:0;::::1;16704:93;;;;-1:-1:-1::0;;;16704:93:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16813:32;16826:8;:6;:8::i;:::-;16813:32;::::0;;-1:-1:-1;;;;;16813:32:0;;::::1;::::0;;;;::::1;;::::0;::::1;::::0;;;;;;;;;::::1;16856:19;16866:8;16856:9;:19::i;15758:86::-:0;15801:7;15214:8;:6;:8::i;:::-;-1:-1:-1;;;;;15200:22:0;:10;-1:-1:-1;;;;;15200:22:0;;15196:100;;;15828:8:::1;:6;:8::i;18561:207::-:0;18647:8;:6;:8::i;:::-;-1:-1:-1;;;;;18633:22:0;:10;-1:-1:-1;;;;;18633:22:0;;;18625:101;;;;-1:-1:-1;;;18625:101:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18737:23;:21;:23::i;11418:248::-;11268:66;11637:11;;11614:45::o;966:907::-;1358:14;1355:1;1352;1339:34;1576:1;1573;1557:14;1554:1;1538:14;1531:5;1518:60;1655:16;1652:1;1649;1634:38;1695:6;1764:38;;;;1836:16;1833:1;1826:27;1764:38;1783:16;1780:1;1773:27;17913:219;14953:66;18103:11;;18081:44::o;11793:155::-;11860:37;11879:17;11860:18;:37::i;:::-;11913:27;;-1:-1:-1;;;;;11913:27:0;;;;;;;;11793:155;:::o;18219:216::-;14953:66;18395:22;18380:48::o;12044:369::-;12126:37;12145:17;12126:18;:37::i;:::-;12118:104;;;;-1:-1:-1;;;12118:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11268:66;12364:31;12349:57::o;4111:422::-;4478:20;4517:8;;;4111:422::o

Swarm Source

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