Contract 0x70C575588B98C1F46B1382c706AdAf398A874e3E 3

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x336a86bed6e00cf3421f1bdbb4b2ee6a2cda116ed852bc7da93f5fa7ea328d68Settle Adventure...(pending)2022-10-01 10:42:504 secs ago0x0d96fa76db770538d90dc8d410e76695ab9f4e09 IN 0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC(Pending)
0x3475ee650d7ae5bf89d211bf73660ca7a1a98041d72483a717b78eb915e906a8Run Adventure VR...337923402022-10-01 10:42:3321 secs ago0xad644df12aaabe501d5f5931cc02108e8eb8ea77 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.007391128503 31.500000016
0xef1f69c90201e3fb45aaaf6db6e40121b9959156f7c8bb800e02936dc8762d32Run Adventure VR...337923362022-10-01 10:42:2529 secs ago0x1b0459ecb77052defca12214fe79b35013cb1b9d IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.006915195003 31.500000014
0x3d109a51d7487e702825700f7ce72b7291aaef2e09b39c7edb147f797b045690Query Many Adven...337923212022-10-01 10:41:5559 secs ago0x0d96fa76db770538d90dc8d410e76695ab9f4e09 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.007675051299 30.379999998
0xd0162be6429f701b1442e2552bbb71e09930e86a890d5ff207f4e4654cb2dfd8Run Adventure VR...337923092022-10-01 10:41:271 min ago0xad644df12aaabe501d5f5931cc02108e8eb8ea77 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.005754451503 31.500000017
0xbe13645eb9b06132ed4d7b6d4cf407b07b06c9a5d6781bd0f40137e68b32a4d5Settle Adventure...337923082022-10-01 10:41:251 min ago0x0d96fa76db770538d90dc8d410e76695ab9f4e09 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.068019764766 37.632000017
0x68ba65ee5916b50c5029247989b7e07b3c605ebe6c63479d04b6fab9d37b8ce1Query Many Adven...337922782022-10-01 10:40:252 mins ago0x0d96fa76db770538d90dc8d410e76695ab9f4e09 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.0086653805 34.300000002
0x51b5801d77c397e11ed8f4d5fb446ff01b09cdd8e23665bc19887285287cd810Run Adventure VR...337922752022-10-01 10:40:192 mins ago0xad644df12aaabe501d5f5931cc02108e8eb8ea77 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.005754451502 31.500000015
0xc337689ccaa6d2bd28aad1aeaf136c68c3bd4705d0539530fd800761c9d22cb5Settle Adventure...337922642022-10-01 10:39:572 mins ago0x0d96fa76db770538d90dc8d410e76695ab9f4e09 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.071095824796 39.199999998
0x313f84a20f98606bfee8ff46c3e0fe1cd8e7352513c22fa6aef06acb70434dd9Run Adventure VR...337922552022-10-01 10:39:353 mins ago0x1b0459ecb77052defca12214fe79b35013cb1b9d IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.006915195003 31.500000015
0xf66afe24c6212ac5a2159955e676be4534926f8a742573773c32b7019797b17dActivate Charm337922552022-10-01 10:39:353 mins ago0x1759966dd3c5f763185fd887f75fb7237572030a IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.003220654501 31.500000016
0xeab5c18bfc97e97c87d87e3c2748c6d46e638196389f0ad3191e2f63e20df884Query Many Adven...337922302022-10-01 10:38:454 mins ago0x0d96fa76db770538d90dc8d410e76695ab9f4e09 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.008170215904 32.340000018
0x77789a4e922b12c964e4f199b11c041a5a47a98092ffc0c38c331afcc1df66c8Settle Adventure...337922142022-10-01 10:38:134 mins ago0x0d96fa76db770538d90dc8d410e76695ab9f4e09 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.057362256029 31.500000016
0xd4ecd137bd2e80c19893ee79b7e9e3463727aa21d2795e9107105f19f199f43bRun Adventure VR...337922122022-10-01 10:38:094 mins ago0x9ec134850485092fb21e5807017212950ada1749 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.005333485502 31.500000015
0xd68c10581d23b6b57cde592f070138242156a58476484426562ee98190903371Run Adventure VR...337921922022-10-01 10:37:295 mins ago0x1b0459ecb77052defca12214fe79b35013cb1b9d IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.006915195003 31.500000015
0x77aee3a62b580e4f2d0d8ecc617148280eafdaebafa52084c767c490ca947d7aQuery Many Adven...337921882022-10-01 10:37:175 mins ago0x0d96fa76db770538d90dc8d410e76695ab9f4e09 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.007958002504 31.500000016
0xbc93f4098b7c118d0b0c38cb7ca760af4f7cf74ff5633bc243417a34045dd98dUpgrade Vx Lvl337921772022-10-01 10:36:555 mins ago0x6cd769409248c17e6fb9a22340db1780ff409b93 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.002754801001 31.500000015
0xfeae2ea3c1ea8aea81e21d35722f3133e4a07bf744d080602e310e7e39349597Settle Adventure...337921742022-10-01 10:36:496 mins ago0x0d96fa76db770538d90dc8d410e76695ab9f4e09 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.058261738527 31.500000015
0x53ef0053d47beedf7a560d3d5392cc045d6c8662553768fbc49fa5820af6e41fQuery Many Adven...337921442022-10-01 10:35:497 mins ago0x0d96fa76db770538d90dc8d410e76695ab9f4e09 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.007958002503 31.500000014
0xa4018ba1e5f01c03909cd3fe4fb2fb44e7f3427b52facee8d88a6e3ce1edccb4Run Adventure VR...337921252022-10-01 10:35:077 mins ago0x945c6ee57ad3a045c739be8d7695259fd5932a1f IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.005172993002 31.500000014
0xc23ad45b41a8ce0b19da3c1d416cb3a82f0136474ad9d347a0cb533db4058660Settle Adventure...337921252022-10-01 10:35:077 mins ago0x0d96fa76db770538d90dc8d410e76695ab9f4e09 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.056748195027 31.500000015
0x2b0808cd791ddbdc5feff6f1fccfd47331c2a4bf7cf9ef095e40de10ca6ca0a2Edit Team337921162022-10-01 10:34:498 mins ago0x8ab6326a7cf4a43a0ada7e9d61432729bc9dda4c IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.004470870002 30.000000014
0xdffd2f53c960c103750984eafd495690b18bc623c1be944654faf1514d968e23Query Many Adven...337920892022-10-01 10:33:558 mins ago0x0d96fa76db770538d90dc8d410e76695ab9f4e09 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.007958002504 31.500000017
0x856baaaca8356a6f6a1be2149949728f7401517f4632a4f918ebb6e186be8b76Settle Adventure...337920752022-10-01 10:33:279 mins ago0x4accfd0c9b167f04adac7bd9073fe3f443b46f37 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.04257354152 31.500000015
0x38a47a125aac7c30de594404320a775981963be74c2018b9dccab62f62367a10Settle Adventure...337920682022-10-01 10:33:139 mins ago0x0d96fa76db770538d90dc8d410e76695ab9f4e09 IN  0x70c575588b98c1f46b1382c706adaf398a874e3e0 MATIC0.05702296953 31.500000017
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KongProxy

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at polygonscan.com on 2022-03-11
*/

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

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 {
    }
}

pragma solidity ^0.6.0;

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

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

pragma solidity ^0.6.12;

contract KongProxy is TransparentUpgradeableProxy {
        constructor(address _logic, address _admin, bytes memory _data) public  TransparentUpgradeableProxy(_logic, _admin, _data) {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"address","name":"_admin","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"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"}]

608060405234801561001057600080fd5b506040516108ef3803806108ef8339818101604052606081101561003357600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005e57600080fd5b90830190602082018581111561007357600080fd5b825164010000000081118282018810171561008d57600080fd5b82525081516020918201929091019080838360005b838110156100ba5781810151838201526020016100a2565b50505050905090810190601f1680156100e75780820380516001836020036101000a031916815260200191505b50604052508491508390508282816100fe826101d2565b8051156101b6576000826001600160a01b0316826040518082805190602001908083835b602083106101415780518252601f199092019160209182019101610122565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101a1576040519150601f19603f3d011682016040523d82523d6000602084013e6101a6565b606091505b50509050806101b457600080fd5b505b506101be9050565b6101c782610244565b50505050505061026e565b6101e58161026860201b6103b41760201c565b6102205760405162461bcd60e51b81526004018080602001828103825260368152602001806108b96036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61063c8061027d6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996103ba565b6101a96101a461041a565b61043f565b565b6101b3610463565b6001600160a01b0316336001600160a01b031614156101da576101d581610488565b6101e2565b6101e2610191565b50565b6101ed610463565b6001600160a01b0316336001600160a01b031614156102855761020f83610488565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd61041a565b90506102cc565b6102cc610191565b90565b6102d7610463565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a815260200180610555603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610463565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c8565b6000610393610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd610463565b3b151590565b6103c2610463565b6001600160a01b0316336001600160a01b031614156104125760405162461bcd60e51b81526004018080602001828103825260428152602001806105c56042913960600191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610491816104ec565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104f5816103b4565b6105305760405162461bcd60e51b815260040180806020018281038252603681526020018061058f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e74726163745472616e73706172656e745570677261646561626c6550726f78793a2061646d696e2063616e6e6f742066616c6c6261636b20746f2070726f787920746172676574a264697066735822122002b07a9ed3383bb085b75fa3137a96b2cd213da784a5a1a672971340151805de64736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374000000000000000000000000f72459056c3440d846f47e8a24d79e1531104e8e00000000000000000000000087219abc9109c43165e85801e4dc3d80cd3f88da00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000104525240c0000000000000000000000000bc91347e80886453f3f8bbd6d7ac07c122d8773500000000000000000000000005df72d911e52ab122f7d9955728bc96a718782c0000000000000000000000007cbccc4a1576d7a05eb6f6286206596bcbee14ac000000000000000000000000c527fa7e0a5d8d66a6121239df7b838d1a454db70000000000000000000000001421b4337ce370a389cf4e45a6b870487574006e000000000000000000000000ae975071be8f8ee67addbc1a82488f1c24858067000000000000000000000000b0897686c545045afc77cf20ec7a532e3120e0f1000000000000000000000000000000048797808be86aa9786c1f402671192d6b00000000000000000000000000000000000000000000000000000000

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

000000000000000000000000f72459056c3440d846f47e8a24d79e1531104e8e00000000000000000000000087219abc9109c43165e85801e4dc3d80cd3f88da00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000104525240c0000000000000000000000000bc91347e80886453f3f8bbd6d7ac07c122d8773500000000000000000000000005df72d911e52ab122f7d9955728bc96a718782c0000000000000000000000007cbccc4a1576d7a05eb6f6286206596bcbee14ac000000000000000000000000c527fa7e0a5d8d66a6121239df7b838d1a454db70000000000000000000000001421b4337ce370a389cf4e45a6b870487574006e000000000000000000000000ae975071be8f8ee67addbc1a82488f1c24858067000000000000000000000000b0897686c545045afc77cf20ec7a532e3120e0f1000000000000000000000000000000048797808be86aa9786c1f402671192d6b00000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _logic (address): 0xf72459056c3440d846f47e8a24d79e1531104e8e
Arg [1] : _admin (address): 0x87219abc9109c43165e85801e4dc3d80cd3f88da
Arg [2] : _data (bytes): 0x525240c0000000000000000000000000bc91347e80886453f3f8bbd6d7ac07c122d8773500000000000000000000000005df72d911e52ab122f7d9955728bc96a718782c0000000000000000000000007cbccc4a1576d7a05eb6f6286206596bcbee14ac000000000000000000000000c527fa7e0a5d8d66a6121239df7b838d1a454db70000000000000000000000001421b4337ce370a389cf4e45a6b870487574006e000000000000000000000000ae975071be8f8ee67addbc1a82488f1c24858067000000000000000000000000b0897686c545045afc77cf20ec7a532e3120e0f1000000000000000000000000000000048797808be86aa9786c1f402671192d6b

-----Encoded View---------------
13 Constructor Arguments found :
Arg [0] : 000000000000000000000000f72459056c3440d846f47e8a24d79e1531104e8e
Arg [1] : 00000000000000000000000087219abc9109c43165e85801e4dc3d80cd3f88da
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000104
Arg [4] : 525240c0000000000000000000000000bc91347e80886453f3f8bbd6d7ac07c1
Arg [5] : 22d8773500000000000000000000000005df72d911e52ab122f7d9955728bc96
Arg [6] : a718782c0000000000000000000000007cbccc4a1576d7a05eb6f6286206596b
Arg [7] : cbee14ac000000000000000000000000c527fa7e0a5d8d66a6121239df7b838d
Arg [8] : 1a454db70000000000000000000000001421b4337ce370a389cf4e45a6b87048
Arg [9] : 7574006e000000000000000000000000ae975071be8f8ee67addbc1a82488f1c
Arg [10] : 24858067000000000000000000000000b0897686c545045afc77cf20ec7a532e
Arg [11] : 3120e0f1000000000000000000000000000000048797808be86aa9786c1f4026
Arg [12] : 71192d6b00000000000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

17854:189:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8832:11;:9;:11::i;:::-;17854:189;;8608:11;:9;:11::i;16102:111::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16102:111:0;-1:-1:-1;;;;;16102:111:0;;:::i;16599:299::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16599:299:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16599:299:0;;-1:-1:-1;16599:299:0;-1:-1:-1;16599:299:0;:::i;15368:104::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;15368:104:0;;;;;;;;;;;;;;15688:246;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15688:246:0;-1:-1:-1;;;;;15688:246:0;;:::i;14809:86::-;;;;;;;;;;;;;:::i;8260:105::-;8301:17;:15;:17::i;:::-;8329:28;8339:17;:15;:17::i;:::-;8329:9;:28::i;:::-;8260:105::o;16102:111::-;14265:8;:6;:8::i;:::-;-1:-1:-1;;;;;14251:22:0;:10;-1:-1:-1;;;;;14251:22:0;;14247:100;;;16176:29:::1;16187:17;16176:10;:29::i;:::-;14247:100:::0;;;14324:11;:9;:11::i;:::-;16102:111;:::o;16599:299::-;14265:8;:6;:8::i;:::-;-1:-1:-1;;;;;14251:22:0;:10;-1:-1:-1;;;;;14251:22:0;;14247:100;;;16709:29:::1;16720:17;16709:10;:29::i;:::-;16810:12;16827:17;-1:-1:-1::0;;;;;16827:30:0::1;16858:4;;16827:36;;;;;;;;;;::::0;;::::1;::::0;-1:-1:-1;16827:36:0::1;::::0;-1:-1:-1;16827:36:0;;-1:-1:-1;;16827:36:0;;::::1;::::0;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16809:54;;;16882:7;16874:16;;;::::0;::::1;;14290:1;14247:100:::0;;;14324:11;:9;:11::i;:::-;16599:299;;;:::o;15368:104::-;15420:7;14265:8;:6;:8::i;:::-;-1:-1:-1;;;;;14251:22:0;:10;-1:-1:-1;;;;;14251:22:0;;14247:100;;;15447:17:::1;:15;:17::i;:::-;15440:24;;14247:100:::0;;;14324:11;:9;:11::i;:::-;15368:104;:::o;15688:246::-;14265:8;:6;:8::i;:::-;-1:-1:-1;;;;;14251:22:0;:10;-1:-1:-1;;;;;14251:22:0;;14247:100;;;-1:-1:-1;;;;;15763:22:0;::::1;15755:93;;;;-1:-1:-1::0;;;15755:93:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15864:32;15877:8;:6;:8::i;:::-;15864:32;::::0;;-1:-1:-1;;;;;15864:32:0;;::::1;::::0;;;;::::1;;::::0;::::1;::::0;;;;;;;;;::::1;15907:19;15917:8;15907:9;:19::i;14809:86::-:0;14852:7;14265:8;:6;:8::i;:::-;-1:-1:-1;;;;;14251:22:0;:10;-1:-1:-1;;;;;14251:22:0;;14247:100;;;14879:8:::1;:6;:8::i;708:422::-:0;1075:20;1114:8;;;708:422::o;17612:207::-;17698:8;:6;:8::i;:::-;-1:-1:-1;;;;;17684:22:0;:10;-1:-1:-1;;;;;17684:22:0;;;17676:101;;;;-1:-1:-1;;;17676:101:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17788:23;:21;:23::i;10588:248::-;10438:66;10807:11;;10784:45::o;6860:907::-;7252:14;7249:1;7246;7233:34;7470:1;7467;7451:14;7448:1;7432:14;7425:5;7412:60;7549:16;7546:1;7543;7528:38;7589:6;7658:38;;;;7730:16;7727:1;7720:27;7658:38;7677:16;7674:1;7667:27;16964:219;14004:66;17154:11;;17132:44::o;10963:155::-;11030:37;11049:17;11030:18;:37::i;:::-;11083:27;;-1:-1:-1;;;;;11083:27:0;;;;;;;;10963:155;:::o;17270:216::-;14004:66;17446:22;17431:48::o;11214:369::-;11296:37;11315:17;11296:18;:37::i;:::-;11288:104;;;;-1:-1:-1;;;11288:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10438:66;11534:31;11519:57::o

Swarm Source

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