Skip to main content
PulseScanner.io

Address

0xf090eb4c2b63e7b26e8bb09e6fc0cc3a7586263b
Current Holdings
$0.00
TXs sent
not counted
First Active
2024-09-05
block 21,338,599
Last Active
67 days ago
block 27,020,271
Funded By
not identified

Net worth historyi

4 snapshots · to block 27,438,536coverage change 26 Augcoverage change 27 Augcoverage change 27 Augcoverage change 27 Augcoverage change 27 Aug
exact matchInitializableAdminUpgradeabilityProxysolc 0.8.10+commit.fc410830runtime exact · creation exact

proxy·0x51F6…d733

// SPDX-License-Identifier: agpl-3.0
pragma solidity 0.8.10;

import "./BaseAdminUpgradeabilityProxy.sol";
import "./InitializableUpgradeabilityProxy.sol";

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

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