Contract 0x2032b9a8e9f7e76768ca9271003d3e43e1616b1f 3

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x6a676aca2ce3519b06250263683c26a2488363f45f28c5f88b356d585f0eba68Repay447638912022-12-09 5:04:591 sec ago0x150425d1bb707efa99b0243c695afb3e3c991c2d IN  Radiant: Lending Pool Logic0 ETH0.00005572
0x15c96f287f438dd8768b77967d991e9c0bc52c65559fee2b8ce64176725129b8Deposit447638642022-12-09 5:04:4515 secs ago0x89aac42c0c86d5c5cdafbc2587c90ba9230c2107 IN  Radiant: Lending Pool Logic0 ETH0.00005218
0x3553e87a7457cd403f6c6bbfcf8e137ba0e7f378f0519ac736e2502ac6ab8929Deposit447638372022-12-09 5:04:3426 secs ago0xb272ad1a166fe3b128ba6404d57b6315e5c25c68 IN  Radiant: Lending Pool Logic0 ETH0.00005208
0xf865066107507e4d141235293491e00de5e2401a2d519b35265da8124a3c0f3bDeposit447636362022-12-09 5:03:141 min ago0xe7e8d95b3ee3a38ab2c935aa330604f56aef4fe8 IN  Radiant: Lending Pool Logic0 ETH0.00004783
0x22993803e51f4248a951019ce3aa8d8cc137a74ee3cb2d462deae2c122063c57Withdraw447636352022-12-09 5:03:141 min ago0x66633cc6b84cd127a0bb84864c1a4ea0172469a6 IN  Radiant: Lending Pool Logic0 ETH0.00004815
0xdb76cd85afac8596d651ceb8a3c350bd6af278d0daea49e322229f4713389333Deposit447634792022-12-09 5:02:122 mins ago0x813e372eb82008b31503027aaacddbd5bd228f89 IN  Radiant: Lending Pool Logic0 ETH0.00005101
0x0cb41ea622e3e141e14102338e637f88ee48632659b60c12ecd6b883ff8e1169Deposit447634752022-12-09 5:02:112 mins ago0x96539455e49b8de5738f85c2347cf7955775f502 IN  Radiant: Lending Pool Logic0 ETH0.00004783
0x3e921dc7eea7bcb027ce27cb056971b371513f7269477f0f21cfd66ffd0b92dcDeposit447634742022-12-09 5:02:112 mins ago0x8306d7b380ada3f71b1d0b53b39f9d8319c08832 IN  Radiant: Lending Pool Logic0 ETH0.00005263
0xa43d230f14e25bf1e6bb3fc57e1da59f0b52ac39f823ea38524787779136a978Deposit447634292022-12-09 5:01:553 mins ago0xa54886e27e13325fecadd2d02441ad8cd5edac0e IN  Radiant: Lending Pool Logic0 ETH0.00005301
0xd6d7049b57d29f3b881ce4b0166c7b0c589a378c1288c8ddd3c2626dd392ce41Deposit447634022022-12-09 5:01:453 mins ago0x66633cc6b84cd127a0bb84864c1a4ea0172469a6 IN  Radiant: Lending Pool Logic0 ETH0.00005836
0x455e62a142cc613575f3007a84ed4a7c7dbe1d7e9fe6992b455126639f364229Deposit447633832022-12-09 5:01:363 mins ago0x3f51a98c068d08209979bbd082208cb36711ca4d IN  Radiant: Lending Pool Logic0 ETH0.000053
0xe659ef8fd5ec6fed93cb2a08e3ecaec13665729317ccab802ad980f5ea4c995cDeposit447633802022-12-09 5:01:353 mins ago0x03e839d7f1329c859c796eced60024d07ed9b882 IN  Radiant: Lending Pool Logic0 ETH0.0000513
0xc82b71fca74a9e2f8c7adb78742407c88f673ac31e5965a8ae6adfafddd31dacDeposit447633002022-12-09 5:01:053 mins ago0xee9ca24fb62bfc021e1a46e09e1c1cbecd3341b5 IN  Radiant: Lending Pool Logic0 ETH0.00005111
0xeaff19490a2192e0029354bd03640be55476cc10f6f505b820336bd30e104dc4Deposit447631462022-12-09 5:00:005 mins ago0xa57df9a87995345661422c895848641f0e749c5f IN  Radiant: Lending Pool Logic0 ETH0.00005301
0xcfd6eb792a3de32a116eefb14e32831df8d6f3771182a1fa07b2206ee18ac3ebDeposit447631082022-12-09 4:59:465 mins ago0x4a0b8647e8d3bccf07458d87bfcee822cfe55be6 IN  Radiant: Lending Pool Logic0 ETH0.0000513
0x32249d46da45f34fac7bc1e0f7342743716004b253487416c0da18165b96b73bDeposit447629972022-12-09 4:59:006 mins ago0x54b0e7910e5740aef1b06fd3bdb926b6e8d18147 IN  Radiant: Lending Pool Logic0 ETH0.00005546
0xa62d0222b4be0c202143b740aacb9523e65d40590752847c7dd8cd6a4ad3c66eDeposit447627472022-12-09 4:57:127 mins ago0xac80ef34de60ce26eb1cbf50a29d2561e15b755a IN  Radiant: Lending Pool Logic0 ETH0.00005239
0x6089b973ad81448df22b53b6e1d2aaa7676e7880625860edaaf2495d1bf7946bDeposit447627422022-12-09 4:57:097 mins ago0x535d67b92348b5f5f0ed82065a9ab1b01732a99d IN  Radiant: Lending Pool Logic0 ETH0.000054
0x3e6838c8fd38bb1f3102ce4d95feffc142e042d345563f5dc382c82032c6d44cDeposit447626052022-12-09 4:56:118 mins ago0x692f075f5fdf74ac5a01b726c8f8ae048d0b0dbb IN  Radiant: Lending Pool Logic0 ETH0.000054
0x66a5d322263fffe972ebe592741e6731813185c763e98109d8d512b99c96c866Deposit447622482022-12-09 4:53:5411 mins ago0x3ef6e19eb6e32a3cd3e93fed77502b733e014e36 IN  Radiant: Lending Pool Logic0 ETH0.000054
0x0d7e10f4994b921af04175e8e8bcd772c3eecba78eccf0d7429ee3ffc5199618Deposit447621682022-12-09 4:53:2111 mins ago0xc6e64f2da8c0c76926bf92fb1bd9dff19837b286 IN  Radiant: Lending Pool Logic0 ETH0.00005239
0x1d7f8890c3fe1cec22c67e7e18613408bde4cabd4624715f78b1bc0295b8cc61Withdraw447618582022-12-09 4:51:1213 mins ago0xa61342a4811c140d802285c39920745c2c7aeb30 IN  Radiant: Lending Pool Logic0 ETH0.00004815
0x66ccc5ebff09cb937f3987b1231364f1a49d68a7f1e7cc38ae51cee3f1b72463Deposit447618252022-12-09 4:51:0113 mins ago0x3d51847413663696741ccc5081c1e9744b01c3e7 IN  Radiant: Lending Pool Logic0 ETH0.00005103
0x491f1760cc3c13c467ad3dcc85e83a63826e9d13d0f9119f5a05fc92f23f2efbDeposit447617312022-12-09 4:50:2414 mins ago0x62f749182c2f023d5b8f8685d0cac1471d2323da IN  Radiant: Lending Pool Logic0 ETH0.00005539
0x8fc43ef5b28f4748689dbfd339560c0fa998f455ebb5414cd7ceb8210ab54729Deposit447616962022-12-09 4:50:0914 mins ago0xa61342a4811c140d802285c39920745c2c7aeb30 IN  Radiant: Lending Pool Logic0 ETH0.00005838
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x6a676aca2ce3519b06250263683c26a2488363f45f28c5f88b356d585f0eba68447638912022-12-09 5:04:591 sec ago Radiant: Lending Pool Logic 0x805ba50001779ced4f59cff63aea527d12b948290 ETH
0x6a676aca2ce3519b06250263683c26a2488363f45f28c5f88b356d585f0eba68447638912022-12-09 5:04:591 sec ago Radiant: Lending Pool Logic 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x6a676aca2ce3519b06250263683c26a2488363f45f28c5f88b356d585f0eba68447638912022-12-09 5:04:591 sec ago Radiant: Lending Pool Logic 0x17aff1cb8574e20f212299cd8a6583d6b61ba6680 ETH
0x6a676aca2ce3519b06250263683c26a2488363f45f28c5f88b356d585f0eba68447638912022-12-09 5:04:591 sec ago Radiant: Lending Pool Logic 0xf92d501e74bd1e4308e6676c38ab4d84389d7bf30 ETH
0x6a676aca2ce3519b06250263683c26a2488363f45f28c5f88b356d585f0eba68447638912022-12-09 5:04:591 sec ago Radiant: Lending Pool Logic 0x3d5d0681022667877638d52021a23dfc09a04ea40 ETH
0x6a676aca2ce3519b06250263683c26a2488363f45f28c5f88b356d585f0eba68447638912022-12-09 5:04:591 sec ago Radiant: Lending Pool Logic 0xf92d501e74bd1e4308e6676c38ab4d84389d7bf30 ETH
0x6a676aca2ce3519b06250263683c26a2488363f45f28c5f88b356d585f0eba68447638912022-12-09 5:04:591 sec ago Radiant: Lending Pool Logic 0x805ba50001779ced4f59cff63aea527d12b948290 ETH
0x6a676aca2ce3519b06250263683c26a2488363f45f28c5f88b356d585f0eba68447638912022-12-09 5:04:591 sec ago Radiant: Lending Pool Logic 0x3d5d0681022667877638d52021a23dfc09a04ea40 ETH
0x6a676aca2ce3519b06250263683c26a2488363f45f28c5f88b356d585f0eba68447638912022-12-09 5:04:591 sec ago Radiant: Lending Pool Logic 0xf92d501e74bd1e4308e6676c38ab4d84389d7bf30 ETH
0x6a676aca2ce3519b06250263683c26a2488363f45f28c5f88b356d585f0eba68447638912022-12-09 5:04:591 sec ago Radiant: Lending Pool Logic 0x314220ca3974751a26436f454c55453d4b997f120 ETH
0x6a676aca2ce3519b06250263683c26a2488363f45f28c5f88b356d585f0eba68447638912022-12-09 5:04:591 sec ago Radiant: Lending Pool Logic 0xab843bec136e848fc47f0eb24902b61f158534d60 ETH
0x6a676aca2ce3519b06250263683c26a2488363f45f28c5f88b356d585f0eba68447638912022-12-09 5:04:591 sec ago 0xf92d501e74bd1e4308e6676c38ab4d84389d7bf3 Radiant: Lending Pool Logic0 ETH
0x6a676aca2ce3519b06250263683c26a2488363f45f28c5f88b356d585f0eba68447638912022-12-09 5:04:591 sec ago Radiant: Lending Pool Logic 0xf92d501e74bd1e4308e6676c38ab4d84389d7bf30 ETH
0x6a676aca2ce3519b06250263683c26a2488363f45f28c5f88b356d585f0eba68447638912022-12-09 5:04:591 sec ago Radiant: Lending Pool Logic 0x3d5d0681022667877638d52021a23dfc09a04ea40 ETH
0x6a676aca2ce3519b06250263683c26a2488363f45f28c5f88b356d585f0eba68447638912022-12-09 5:04:591 sec ago Radiant: Lending Pool Logic 0xab843bec136e848fc47f0eb24902b61f158534d60 ETH
0x15c96f287f438dd8768b77967d991e9c0bc52c65559fee2b8ce64176725129b8447638642022-12-09 5:04:4515 secs ago Radiant: Lending Pool Logic 0x805ba50001779ced4f59cff63aea527d12b948290 ETH
0x15c96f287f438dd8768b77967d991e9c0bc52c65559fee2b8ce64176725129b8447638642022-12-09 5:04:4515 secs ago Radiant: Lending Pool Logic 0xff970a61a04b1ca14834a43f5de4533ebddb5cc80 ETH
0x15c96f287f438dd8768b77967d991e9c0bc52c65559fee2b8ce64176725129b8447638642022-12-09 5:04:4515 secs ago Radiant: Lending Pool Logic 0x17aff1cb8574e20f212299cd8a6583d6b61ba6680 ETH
0x15c96f287f438dd8768b77967d991e9c0bc52c65559fee2b8ce64176725129b8447638642022-12-09 5:04:4515 secs ago Radiant: Lending Pool Logic 0xf92d501e74bd1e4308e6676c38ab4d84389d7bf30 ETH
0x15c96f287f438dd8768b77967d991e9c0bc52c65559fee2b8ce64176725129b8447638642022-12-09 5:04:4515 secs ago Radiant: Lending Pool Logic 0x3d5d0681022667877638d52021a23dfc09a04ea40 ETH
0x15c96f287f438dd8768b77967d991e9c0bc52c65559fee2b8ce64176725129b8447638642022-12-09 5:04:4515 secs ago Radiant: Lending Pool Logic 0x805ba50001779ced4f59cff63aea527d12b948290 ETH
0x15c96f287f438dd8768b77967d991e9c0bc52c65559fee2b8ce64176725129b8447638642022-12-09 5:04:4515 secs ago Radiant: Lending Pool Logic 0x3d5d0681022667877638d52021a23dfc09a04ea40 ETH
0x15c96f287f438dd8768b77967d991e9c0bc52c65559fee2b8ce64176725129b8447638642022-12-09 5:04:4515 secs ago Radiant: Lending Pool Logic 0xf92d501e74bd1e4308e6676c38ab4d84389d7bf30 ETH
0x15c96f287f438dd8768b77967d991e9c0bc52c65559fee2b8ce64176725129b8447638642022-12-09 5:04:4515 secs ago Radiant: Lending Pool Logic 0x314220ca3974751a26436f454c55453d4b997f120 ETH
0x15c96f287f438dd8768b77967d991e9c0bc52c65559fee2b8ce64176725129b8447638642022-12-09 5:04:4515 secs ago Radiant: Lending Pool Logic 0xab843bec136e848fc47f0eb24902b61f158534d60 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
InitializableImmutableAdminUpgradeabilityProxy

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

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

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

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

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

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

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

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

    constructor(address admin) {
        ADMIN = admin;
    }

    modifier ifAdmin() {
        if (msg.sender == ADMIN) {
            _;
        } else {
            _fallback();
        }
    }

    /**
     * @return The address of the proxy admin.
     */
    function admin() external ifAdmin returns (address) {
        return ADMIN;
    }

    /**
     * @return The address of the implementation.
     */
    function implementation() external ifAdmin returns (address) {
        return _implementation();
    }

    /**
     * @dev Upgrade the backing implementation of the proxy.
     * Only the admin can call this function.
     * @param newImplementation Address of the new implementation.
     */
    function upgradeTo(address newImplementation) external ifAdmin {
        _upgradeTo(newImplementation);
    }

    /**
     * @dev Upgrade the backing implementation of the proxy and call a function
     * on the new implementation.
     * This is useful to initialize the proxied contract.
     * @param newImplementation Address of the new implementation.
     * @param data Data to send as msg.data in the low level call.
     * It should include the signature and the parameters of the function to be called, as described in
     * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
     */
    function upgradeToAndCall(address newImplementation, bytes calldata data)
        external
        payable
        ifAdmin
    {
        _upgradeTo(newImplementation);
        (bool success, ) = newImplementation.delegatecall(data);
        require(success);
    }

    /**
     * @dev Only fall back when the sender is not the admin.
     */
    function _willFallback() internal virtual override {
        require(
            msg.sender != ADMIN,
            "Cannot call fallback function from the proxy admin"
        );
        super._willFallback();
    }
}

File 3 of 6 : InitializableUpgradeabilityProxy.sol
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.7.6;

import "./BaseUpgradeabilityProxy.sol";

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

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

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

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

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

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

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

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

        bytes32 slot = IMPLEMENTATION_SLOT;

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

File 5 of 6 : Proxy.sol
// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.7.6;

/**
 * @title Proxy
 * @dev Implements delegation of calls to other contracts, with proper
 * forwarding of return values and bubbling of failures.
 * It defines a fallback function that delegates all calls to the address
 * returned by the abstract _implementation() internal function.
 */
abstract contract Proxy {
    /**
     * @dev Fallback function.
     * Implemented entirely in `_fallback`.
     */
    fallback() external payable {
        _fallback();
    }

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

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

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

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

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

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

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

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

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

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

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

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

Contract ABI

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

60a060405234801561001057600080fd5b506040516107733803806107738339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b03166106f36100806000398061022852806102725280610331528061045e528061048752806105af52506106f36000f3fe60806040526004361061004a5760003560e01c80633659cfe6146100545780634f1ef286146100875780635c60da1b14610107578063d1f5789414610138578063f851a440146101ee575b610052610203565b005b34801561006057600080fd5b506100526004803603602081101561007757600080fd5b50356001600160a01b031661021d565b6100526004803603604081101561009d57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100c857600080fd5b8201836020820111156100da57600080fd5b803590602001918460018302840111640100000000831117156100fc57600080fd5b509092509050610267565b34801561011357600080fd5b5061011c610324565b604080516001600160a01b039092168252519081900360200190f35b6100526004803603604081101561014e57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561017957600080fd5b82018360208201111561018b57600080fd5b803590602001918460018302840111640100000000831117156101ad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610371945050505050565b3480156101fa57600080fd5b5061011c610451565b61020b6104ab565b61021b6102166104b3565b6104d8565b565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561025c57610257816104fc565b610264565b610264610203565b50565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415610317576102a1836104fc565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146102fe576040519150601f19603f3d011682016040523d82523d6000602084013e610303565b606091505b505090508061031157600080fd5b5061031f565b61031f610203565b505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156103665761035f6104b3565b905061036e565b61036e610203565b90565b600061037b6104b3565b6001600160a01b03161461038e57600080fd5b6103978261053c565b80511561044d576000826001600160a01b0316826040518082805190602001908083835b602083106103da5780518252601f1990920191602091820191016103bb565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461043a576040519150601f19603f3d011682016040523d82523d6000602084013e61043f565b606091505b505090508061031f57600080fd5b5050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561036657507f000000000000000000000000000000000000000000000000000000000000000061036e565b61021b6105a4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156104f7573d6000f35b3d6000fd5b6105058161053c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61054581610614565b6105805760405162461bcd60e51b815260040180806020018281038252603b815260200180610683603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561060c5760405162461bcd60e51b81526004018080602001828103825260328152602001806106516032913960400191505060405180910390fd5b61021b61021b565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061064857508115155b94935050505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220354176803b54436ecdaea6509259ddd412b0447c3107a85e8ae96b5f8424f8e564736f6c63430007060033000000000000000000000000e21b295ed46528efd5f3ef66e18bc6ad1c87f003

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

000000000000000000000000e21b295ed46528efd5f3ef66e18bc6ad1c87f003

-----Decoded View---------------
Arg [0] : admin (address): 0xe21b295ed46528efd5f3ef66e18bc6ad1c87f003

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000e21b295ed46528efd5f3ef66e18bc6ad1c87f003


Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.