Contract 0x6195efb83856377e964280ff1a4569178e778405

Contract Overview

Balance:
0 HT
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xfbd877babb7818b7fcf03516389ebf0476fb8e03dfede811d87a4776904d9d430x7ebe2f7892614492021-10-19 20:24:407 mins ago0x95aaae25c5c1e1e5ad5872a1bb3bd2976977a97b IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001185451
0x3132b7ceeabf8ed70f83d799a13e9a20172ad01ed9a664dbc95e1af79a4094360x7ebe2f7892611642021-10-19 20:10:2522 mins ago0x95aaae25c5c1e1e5ad5872a1bb3bd2976977a97b IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001110691
0x532e507726cce0c6a7a82ea1153ba89cc03ceb06172307584779349312d9f57fDeposit ERC2092611362021-10-19 20:09:0123 mins ago0xcf86a7c57dbf77b33eb0c8d5cf7e5ff652dd51e5 IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.000129036 1
0x9c6f7d51dc3b3fae034550f2f4101fb74cd2b236aa7e0da36640cea4acfa84ba0x7ebe2f7892607572021-10-19 19:50:0442 mins ago0x95aaae25c5c1e1e5ad5872a1bb3bd2976977a97b IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001046781
0x45e3f2f4dc4d3d58d1d368b42a5c527baa7458bad87450c294a13c9d0633c2ccAccept92607402021-10-19 19:49:1343 mins ago0x768ac1ba7cc970612bc72749359d450f95dfe4b4 IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001111061
0x599f63587fa9ff32c70e0da92b3f8d8f66d8db87ea57048f7c9f2a46459e4a590x7ebe2f7892607392021-10-19 19:49:1043 mins ago0x95aaae25c5c1e1e5ad5872a1bb3bd2976977a97b IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001123331
0xce711ef7a283360778b381dab0a5b3b96683ebdd5194ba66a9c6fe93a8da11f9Accept92607352021-10-19 19:48:5843 mins ago0x7307207c434b4f317ccfb6cf83a911ac9bde0e48 IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001111061
0xb5a995efc7523c6843aaa8faf5454c3d7bb065f7f591728e665df5a0cb7218ecAccept92607302021-10-19 19:48:4343 mins ago0x7268a215d3a5c8cbe2002fedb8e7acaa956381de IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001111061
0x7b27bbf343498f28dcc7bd896360857f018bfef56dd495a6a281fb1d684ef94fAccept92607222021-10-19 19:48:1944 mins ago0x720875d57a3194959d14b504f1ba58f1bbc1cccd IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001282061
0x4947790a3bdb0235665c22e4a9d127ced5d20340dd54f2ae8be9bb91583760790x7ebe2f7892607192021-10-19 19:48:1044 mins ago0x95aaae25c5c1e1e5ad5872a1bb3bd2976977a97b IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001017871
0xc269e4e7c0c0063e2b5144f549799b84e5caf0b61c4cfed89f77aeb328d864050x7ebe2f7892601572021-10-19 19:20:041 hr 12 mins ago0x95aaae25c5c1e1e5ad5872a1bb3bd2976977a97b IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001016671
0x10d0e53b440f1fb7e57d4cba17a44e4acc6281693e91fdd579fc45856025f2fe0x7ebe2f7892599452021-10-19 19:09:281 hr 23 mins ago0x95aaae25c5c1e1e5ad5872a1bb3bd2976977a97b IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001138381
0x6c41b498d35b010f75a2ce4ad51ff00cf8146a2a6f6808870d8c63d3db6ef405Accept92599382021-10-19 19:09:071 hr 23 mins ago0x704c78066139ae17e52901ef7578c53f52b0ec06 IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001282421
0x0967a3c6f0a4d51e216b03f49d5c8e4004db3941287227b987b0432ad30a4ed0Accept92599282021-10-19 19:08:371 hr 23 mins ago0x6f7e01cdc35ea348c51e5368c842c08a4c86bd8d IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001282421
0x19a8b1df855019aab3dd96721accaaae272f848bd60f7974280e9f3496ed2b7c0x7ebe2f7892599002021-10-19 19:07:131 hr 25 mins ago0x95aaae25c5c1e1e5ad5872a1bb3bd2976977a97b IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001134851
0x09fb3565373083094c548e088bac6a18f6d8ce905021214240ec2cbc26f6890bSwap Exact Token...92598732021-10-19 19:05:521 hr 26 mins ago0xaadf4b1981d533561beb6e593265438a086bdc08 IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.000126827 1
0xd00ef15d3406ecc702a153d84d895f398d7304ecccf21140b30036c7139982aa0x7ebe2f7892587052021-10-19 18:07:282 hrs 25 mins ago0x95aaae25c5c1e1e5ad5872a1bb3bd2976977a97b IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001018831
0x3e664341f5928a17ae15d38ebef1dac916608dab2f728dd60eb3b3895c23a48a0x7ebe2f7892584122021-10-19 17:52:492 hrs 39 mins ago0x95aaae25c5c1e1e5ad5872a1bb3bd2976977a97b IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001032951
0x2fd7d987c028f090062918495f9b77a474041f5992375ef5c32994bc3b0090290x7ebe2f7892583892021-10-19 17:51:402 hrs 40 mins ago0x95aaae25c5c1e1e5ad5872a1bb3bd2976977a97b IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001017751
0xbf93a5e889cb6b2dced09c24298156a0996728d1d5e85ede69358792708c8c480x7ebe2f7892583422021-10-19 17:49:192 hrs 43 mins ago0x95aaae25c5c1e1e5ad5872a1bb3bd2976977a97b IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001020391
0x96728971743e76d7c556d9cbe7f80213f77f54f8dd4062f3c731ca6d50a6b43b0x7ebe2f7892583222021-10-19 17:48:192 hrs 44 mins ago0x95aaae25c5c1e1e5ad5872a1bb3bd2976977a97b IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.000106621
0xb87cb17963efa024a4f716bb138e1c317bb62ddfc2ded90febdfcf7e4c99d0b8Accept92583222021-10-19 17:48:192 hrs 44 mins ago0x6aeac8890cae700bf3d30cfccdb6adace9dc378c IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.000112131
0x8d3621eb05049cde6bb27390dc9e3a7d6fb6ff44c8e61d8b090812fb3a88495e0x7ebe2f7892580772021-10-19 17:36:042 hrs 56 mins ago0x95aaae25c5c1e1e5ad5872a1bb3bd2976977a97b IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001132971
0xc2a2e65da3d56ed8cdf6e46305cb880ded8e50124368e52f2ce141b5af186566Mapping Token92580482021-10-19 17:34:372 hrs 57 mins ago0x39b0980820b60400fdd81d57597a4dd35bc05121 IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.000112508 1
0x9aea10228b112a9be16d82f10ebb86814ae571238120ddfad702aad7f930cc770x7ebe2f7892580472021-10-19 17:34:342 hrs 57 mins ago0x95aaae25c5c1e1e5ad5872a1bb3bd2976977a97b IN  0x6195efb83856377e964280ff1a4569178e7784050 HT0.0001134491
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xfbd877babb7818b7fcf03516389ebf0476fb8e03dfede811d87a4776904d9d4392614492021-10-19 20:24:407 mins ago 0x6195efb83856377e964280ff1a4569178e778405 0x524eccf14715bbe8283c63dae1c37319513419050 HT
0xfbd877babb7818b7fcf03516389ebf0476fb8e03dfede811d87a4776904d9d4392614492021-10-19 20:24:407 mins ago 0x6195efb83856377e964280ff1a4569178e7784050x23f2dbf9d1ab854b015a1e79d432ef8e15b2e7030 HT
0xfbd877babb7818b7fcf03516389ebf0476fb8e03dfede811d87a4776904d9d4392614492021-10-19 20:24:407 mins ago 0x6195efb83856377e964280ff1a4569178e7784050x111267a4352c3b3ea6fdd73d96ebaa23e8f4db040 HT
0x3132b7ceeabf8ed70f83d799a13e9a20172ad01ed9a664dbc95e1af79a40943692611642021-10-19 20:10:2522 mins ago 0x6195efb83856377e964280ff1a4569178e778405 0x524eccf14715bbe8283c63dae1c37319513419050 HT
0x3132b7ceeabf8ed70f83d799a13e9a20172ad01ed9a664dbc95e1af79a40943692611642021-10-19 20:10:2522 mins ago 0x6195efb83856377e964280ff1a4569178e7784050x23f2dbf9d1ab854b015a1e79d432ef8e15b2e7030 HT
0x3132b7ceeabf8ed70f83d799a13e9a20172ad01ed9a664dbc95e1af79a40943692611642021-10-19 20:10:2522 mins ago 0x6195efb83856377e964280ff1a4569178e7784050x111267a4352c3b3ea6fdd73d96ebaa23e8f4db040 HT
0x532e507726cce0c6a7a82ea1153ba89cc03ceb06172307584779349312d9f57f92611362021-10-19 20:09:0123 mins ago 0x6195efb83856377e964280ff1a4569178e778405 0x1bfe684a60f2510e5e61e6feaa17a168bc2ef6420 HT
0x532e507726cce0c6a7a82ea1153ba89cc03ceb06172307584779349312d9f57f92611362021-10-19 20:09:0123 mins ago 0x6195efb83856377e964280ff1a4569178e778405 0x100ffdf20a0a105c83174f28b74dba13625b54dd0 HT
0x532e507726cce0c6a7a82ea1153ba89cc03ceb06172307584779349312d9f57f92611362021-10-19 20:09:0123 mins ago 0x6195efb83856377e964280ff1a4569178e778405 0x524eccf14715bbe8283c63dae1c37319513419050 HT
0x532e507726cce0c6a7a82ea1153ba89cc03ceb06172307584779349312d9f57f92611362021-10-19 20:09:0123 mins ago 0x6195efb83856377e964280ff1a4569178e778405 0x524eccf14715bbe8283c63dae1c37319513419050 HT
0x532e507726cce0c6a7a82ea1153ba89cc03ceb06172307584779349312d9f57f92611362021-10-19 20:09:0123 mins ago 0x6195efb83856377e964280ff1a4569178e7784050x111267a4352c3b3ea6fdd73d96ebaa23e8f4db040 HT
0x9c6f7d51dc3b3fae034550f2f4101fb74cd2b236aa7e0da36640cea4acfa84ba92607572021-10-19 19:50:0442 mins ago 0x6195efb83856377e964280ff1a4569178e778405 0x524eccf14715bbe8283c63dae1c37319513419050 HT
0x9c6f7d51dc3b3fae034550f2f4101fb74cd2b236aa7e0da36640cea4acfa84ba92607572021-10-19 19:50:0442 mins ago 0x6195efb83856377e964280ff1a4569178e7784050x23f2dbf9d1ab854b015a1e79d432ef8e15b2e7030 HT
0x9c6f7d51dc3b3fae034550f2f4101fb74cd2b236aa7e0da36640cea4acfa84ba92607572021-10-19 19:50:0442 mins ago 0x6195efb83856377e964280ff1a4569178e7784050x111267a4352c3b3ea6fdd73d96ebaa23e8f4db040 HT
0x45e3f2f4dc4d3d58d1d368b42a5c527baa7458bad87450c294a13c9d0633c2cc92607402021-10-19 19:49:1343 mins ago 0x6195efb83856377e964280ff1a4569178e7784050xb3e644ce2a816e4ed86a576cce04ff8645da6ed20 HT
0x45e3f2f4dc4d3d58d1d368b42a5c527baa7458bad87450c294a13c9d0633c2cc92607402021-10-19 19:49:1343 mins ago 0x6195efb83856377e964280ff1a4569178e778405 0x524eccf14715bbe8283c63dae1c37319513419050 HT
0x45e3f2f4dc4d3d58d1d368b42a5c527baa7458bad87450c294a13c9d0633c2cc92607402021-10-19 19:49:1343 mins ago 0x6195efb83856377e964280ff1a4569178e778405 0x524eccf14715bbe8283c63dae1c37319513419050 HT
0x45e3f2f4dc4d3d58d1d368b42a5c527baa7458bad87450c294a13c9d0633c2cc92607402021-10-19 19:49:1343 mins ago 0x6195efb83856377e964280ff1a4569178e7784050x6952a2d4a3f428ce8c4542c85fb6071c3dd71a4b0 HT
0x45e3f2f4dc4d3d58d1d368b42a5c527baa7458bad87450c294a13c9d0633c2cc92607402021-10-19 19:49:1343 mins ago 0x6195efb83856377e964280ff1a4569178e7784050x23f2dbf9d1ab854b015a1e79d432ef8e15b2e7030 HT
0x45e3f2f4dc4d3d58d1d368b42a5c527baa7458bad87450c294a13c9d0633c2cc92607402021-10-19 19:49:1343 mins ago 0x6195efb83856377e964280ff1a4569178e7784050x111267a4352c3b3ea6fdd73d96ebaa23e8f4db040 HT
0x599f63587fa9ff32c70e0da92b3f8d8f66d8db87ea57048f7c9f2a46459e4a5992607392021-10-19 19:49:1043 mins ago 0x6195efb83856377e964280ff1a4569178e778405 0x524eccf14715bbe8283c63dae1c37319513419050 HT
0x599f63587fa9ff32c70e0da92b3f8d8f66d8db87ea57048f7c9f2a46459e4a5992607392021-10-19 19:49:1043 mins ago 0x6195efb83856377e964280ff1a4569178e7784050x23f2dbf9d1ab854b015a1e79d432ef8e15b2e7030 HT
0x599f63587fa9ff32c70e0da92b3f8d8f66d8db87ea57048f7c9f2a46459e4a5992607392021-10-19 19:49:1043 mins ago 0x6195efb83856377e964280ff1a4569178e7784050x111267a4352c3b3ea6fdd73d96ebaa23e8f4db040 HT
0xce711ef7a283360778b381dab0a5b3b96683ebdd5194ba66a9c6fe93a8da11f992607352021-10-19 19:48:5843 mins ago 0x6195efb83856377e964280ff1a4569178e7784050xb3e644ce2a816e4ed86a576cce04ff8645da6ed20 HT
0xce711ef7a283360778b381dab0a5b3b96683ebdd5194ba66a9c6fe93a8da11f992607352021-10-19 19:48:5843 mins ago 0x6195efb83856377e964280ff1a4569178e778405 0x524eccf14715bbe8283c63dae1c37319513419050 HT
[ Download CSV Export 
Loading

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

Contract Name:
Proxy

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 4 : Proxy.sol
pragma solidity ^0.7.0;

// SPDX-License-Identifier: MIT OR Apache-2.0



import "./Ownable.sol";
import "./Upgradeable.sol";
import "./UpgradeableMaster.sol";

/// @title Proxy Contract
/// @dev NOTICE: Proxy must implement UpgradeableMaster interface to prevent calling some function of it not by master of proxy
/// @author Matter Labs
contract Proxy is Upgradeable, UpgradeableMaster, Ownable {
    /// @dev Storage position of "target" (actual implementation address: keccak256('eip1967.proxy.implementation') - 1)
    bytes32 private constant targetPosition = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

    /// @notice Contract constructor
    /// @dev Calls Ownable contract constructor and initialize target
    /// @param target Initial implementation address
    /// @param targetInitializationParameters Target initialization parameters
    constructor(address target, bytes memory targetInitializationParameters) Ownable(msg.sender) {
        setTarget(target);
        (bool initializationSuccess, ) =
            getTarget().delegatecall(abi.encodeWithSignature("initialize(bytes)", targetInitializationParameters));
        require(initializationSuccess, "uin11"); // uin11 - target initialization failed
    }

    /// @notice Intercepts initialization calls
    function initialize(bytes calldata) external pure {
        revert("ini11"); // ini11 - interception of initialization call
    }

    /// @notice Intercepts upgrade calls
    function upgrade(bytes calldata) external pure {
        revert("upg11"); // upg11 - interception of upgrade call
    }

    /// @notice Returns target of contract
    /// @return target Actual implementation address
    function getTarget() public view returns (address target) {
        bytes32 position = targetPosition;
        assembly {
            target := sload(position)
        }
    }

    /// @notice Sets new target of contract
    /// @param _newTarget New actual implementation address
    function setTarget(address _newTarget) internal {
        bytes32 position = targetPosition;
        assembly {
            sstore(position, _newTarget)
        }
    }

    /// @notice Upgrades target
    /// @param newTarget New target
    /// @param newTargetUpgradeParameters New target upgrade parameters
    function upgradeTarget(address newTarget, bytes calldata newTargetUpgradeParameters) external override {
        requireMaster(msg.sender);

        setTarget(newTarget);
        (bool upgradeSuccess, ) =
            getTarget().delegatecall(abi.encodeWithSignature("upgrade(bytes)", newTargetUpgradeParameters));
        require(upgradeSuccess, "ufu11"); // ufu11 - target upgrade failed
    }

    /// @notice Performs a delegatecall to the contract implementation
    /// @dev Fallback function allowing to perform a delegatecall to the given implementation
    /// This function will return whatever the implementation call returns
    function _fallback() internal {
        address _target = getTarget();
        assembly {
            // The pointer to the free memory slot
            let ptr := mload(0x40)
            // Copy function signature and arguments from calldata at zero position into memory at pointer position
            calldatacopy(ptr, 0x0, calldatasize())
            // Delegatecall method of the implementation contract, returns 0 on error
            let result := delegatecall(gas(), _target, ptr, calldatasize(), 0x0, 0)
            // Get the size of the last return data
            let size := returndatasize()
            // Copy the size length of bytes from return data at zero position to pointer position
            returndatacopy(ptr, 0x0, size)
            // Depending on result value
            switch result
                case 0 {
                    // End execution and revert state changes
                    revert(ptr, size)
                }
                default {
                    // Return data with length of size at pointers position
                    return(ptr, size)
                }
        }
    }

    /// @notice Will run when no functions matches call data
    fallback() external payable {
        _fallback();
    }

    /// @notice Same as fallback but called when calldata is empty
    receive() external payable {
        _fallback();
    }

    /// UpgradeableMaster functions

    /// @notice Notice period before activation preparation status of upgrade mode
    function getNoticePeriod() external override returns (uint256) {
        (bool success, bytes memory result) = getTarget().delegatecall(abi.encodeWithSignature("getNoticePeriod()"));
        require(success, "unp11"); // unp11 - upgradeNoticePeriod delegatecall failed
        return abi.decode(result, (uint256));
    }

    /// @notice Notifies proxy contract that notice period started
    function upgradeNoticePeriodStarted() external override {
        requireMaster(msg.sender);
        (bool success, ) = getTarget().delegatecall(abi.encodeWithSignature("upgradeNoticePeriodStarted()"));
        require(success, "nps11"); // nps11 - upgradeNoticePeriodStarted delegatecall failed
    }

    /// @notice Notifies proxy contract that upgrade preparation status is activated
    function upgradePreparationStarted() external override {
        requireMaster(msg.sender);
        (bool success, ) = getTarget().delegatecall(abi.encodeWithSignature("upgradePreparationStarted()"));
        require(success, "ups11"); // ups11 - upgradePreparationStarted delegatecall failed
    }

    /// @notice Notifies proxy contract that upgrade canceled
    function upgradeCanceled() external override {
        requireMaster(msg.sender);
        (bool success, ) = getTarget().delegatecall(abi.encodeWithSignature("upgradeCanceled()"));
        require(success, "puc11"); // puc11 - upgradeCanceled delegatecall failed
    }

    /// @notice Notifies proxy contract that upgrade finishes
    function upgradeFinishes() external override {
        requireMaster(msg.sender);
        (bool success, ) = getTarget().delegatecall(abi.encodeWithSignature("upgradeFinishes()"));
        require(success, "puf11"); // puf11 - upgradeFinishes delegatecall failed
    }

    /// @notice Checks that contract is ready for upgrade
    /// @return bool flag indicating that contract is ready for upgrade
    function isReadyForUpgrade() external override returns (bool) {
        (bool success, bytes memory result) = getTarget().delegatecall(abi.encodeWithSignature("isReadyForUpgrade()"));
        require(success, "rfu11"); // rfu11 - readyForUpgrade delegatecall failed
        return abi.decode(result, (bool));
    }
}

File 2 of 4 : Ownable.sol
pragma solidity ^0.7.0;

// SPDX-License-Identifier: MIT OR Apache-2.0



/// @title Ownable Contract
/// @author Matter Labs
contract Ownable {
    /// @dev Storage position of the masters address (keccak256('eip1967.proxy.admin') - 1)
    bytes32 private constant masterPosition = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;

    /// @notice Contract constructor
    /// @dev Sets msg sender address as masters address
    /// @param masterAddress Master address
    constructor(address masterAddress) {
        setMaster(masterAddress);
    }

    /// @notice Check if specified address is master
    /// @param _address Address to check
    function requireMaster(address _address) internal view {
        require(_address == getMaster(), "1c"); // oro11 - only by master
    }

    /// @notice Returns contract masters address
    /// @return master Master's address
    function getMaster() public view returns (address master) {
        bytes32 position = masterPosition;
        assembly {
            master := sload(position)
        }
    }

    /// @dev Sets new masters address
    /// @param _newMaster New master's address
    function setMaster(address _newMaster) internal {
        bytes32 position = masterPosition;
        assembly {
            sstore(position, _newMaster)
        }
    }

    /// @notice Transfer mastership of the contract to new master
    /// @param _newMaster New masters address
    function transferMastership(address _newMaster) external {
        requireMaster(msg.sender);
        require(_newMaster != address(0), "1d"); // otp11 - new masters address can't be zero address
        setMaster(_newMaster);
    }
}

File 3 of 4 : Upgradeable.sol
pragma solidity ^0.7.0;

// SPDX-License-Identifier: MIT OR Apache-2.0



/// @title Interface of the upgradeable contract
/// @author Matter Labs
interface Upgradeable {
    /// @notice Upgrades target of upgradeable contract
    /// @param newTarget New target
    /// @param newTargetInitializationParameters New target initialization parameters
    function upgradeTarget(address newTarget, bytes calldata newTargetInitializationParameters) external;
}

File 4 of 4 : UpgradeableMaster.sol
pragma solidity ^0.7.0;

// SPDX-License-Identifier: MIT OR Apache-2.0



/// @title Interface of the upgradeable master contract (defines notice period duration and allows finish upgrade during preparation of it)
/// @author Matter Labs
interface UpgradeableMaster {
    /// @notice Notice period before activation preparation status of upgrade mode
    function getNoticePeriod() external returns (uint256);

    /// @notice Notifies contract that notice period started
    function upgradeNoticePeriodStarted() external;

    /// @notice Notifies contract that upgrade preparation status is activated
    function upgradePreparationStarted() external;

    /// @notice Notifies contract that upgrade canceled
    function upgradeCanceled() external;

    /// @notice Notifies contract that upgrade finishes
    function upgradeFinishes() external;

    /// @notice Checks that contract is ready for upgrade
    /// @return bool flag indicating that contract is ready for upgrade
    function isReadyForUpgrade() external returns (bool);
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"targetInitializationParameters","type":"bytes"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"getMaster","outputs":[{"internalType":"address","name":"master","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNoticePeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getTarget","outputs":[{"internalType":"address","name":"target","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"isReadyForUpgrade","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newMaster","type":"address"}],"name":"transferMastership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"name":"upgrade","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"upgradeCanceled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"upgradeFinishes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"upgradeNoticePeriodStarted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"upgradePreparationStarted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTarget","type":"address"},{"internalType":"bytes","name":"newTargetUpgradeParameters","type":"bytes"}],"name":"upgradeTarget","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b506040516200109938038062001099833981810160405260408110156200003757600080fd5b8151602083018051604051929492938301929190846401000000008211156200005f57600080fd5b9083019060208201858111156200007557600080fd5b82516401000000008111828201881017156200009057600080fd5b82525081516020918201929091019080838360005b83811015620000bf578181015183820152602001620000a5565b50505050905090810190601f168015620000ed5780820380516001836020036101000a031916815260200191505b50604052505050336200010681620002a460201b60201c565b506200011282620002c8565b60006200011e620002db565b6001600160a01b0316826040516024018080602001828103825283818151815260200191508051906020019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180516001600160e01b031663439fab9160e01b178152905182519295509350839250908083835b60208310620001f55780518252601f199092019160209182019101620001d4565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811462000257576040519150601f19603f3d011682016040523d82523d6000602084013e6200025c565b606091505b50509050806200029b576040805162461bcd60e51b815260206004820152600560248201526475696e313160d81b604482015290519081900360640190fd5b505050620002ef565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6000805160206200107983398151915255565b600080516020620010798339815191525490565b610d7a80620002ff6000396000f3fe6080604052600436106100ab5760003560e01c806378b91e701161006457806378b91e70146102b6578063871b8ff1146102cb5780638773334c146102e0578063b269b9ae14610309578063c3f596871461031e578063f00e6a2a14610351576100ba565b806325394645146100c25780632a3174f41461013f5780633b154b7314610166578063439fab911461017b5780635a99719e146101f85780636fc4914014610229576100ba565b366100ba576100b8610366565b005b6100b8610366565b3480156100ce57600080fd5b506100b8600480360360208110156100e557600080fd5b81019060208101813564010000000081111561010057600080fd5b82018360208201111561011257600080fd5b8035906020019184600183028401116401000000008311171561013457600080fd5b509092509050610397565b34801561014b57600080fd5b506101546103cc565b60408051918252519081900360200190f35b34801561017257600080fd5b506100b86104fe565b34801561018757600080fd5b506100b86004803603602081101561019e57600080fd5b8101906020810181356401000000008111156101b957600080fd5b8201836020820111156101cb57600080fd5b803590602001918460018302840111640100000000831117156101ed57600080fd5b50909250905061061a565b34801561020457600080fd5b5061020d61064f565b604080516001600160a01b039092168252519081900360200190f35b34801561023557600080fd5b506100b86004803603604081101561024c57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561027757600080fd5b82018360208201111561028957600080fd5b803590602001918460018302840111640100000000831117156102ab57600080fd5b509092509050610674565b3480156102c257600080fd5b506100b86107d4565b3480156102d757600080fd5b506100b86108ed565b3480156102ec57600080fd5b506102f5610a06565b604080519115158252519081900360200190f35b34801561031557600080fd5b506100b8610b1a565b34801561032a57600080fd5b506100b86004803603602081101561034157600080fd5b50356001600160a01b0316610c33565b34801561035d57600080fd5b5061020d610c85565b6000610370610c85565b905060405136600082376000803683855af43d806000843e818015610393578184f35b8184fd5b6040805162461bcd60e51b8152602060048201526005602482015264757067313160d81b604482015290519081900360640190fd5b60008060006103d9610c85565b60408051600481526024810182526020810180516001600160e01b0316630a8c5d3d60e21b178152915181516001600160a01b039490941693919290918291908083835b6020831061043c5780518252601f19909201916020918201910161041d565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461049c576040519150601f19603f3d011682016040523d82523d6000602084013e6104a1565b606091505b5091509150816104e0576040805162461bcd60e51b8152602060048201526005602482015264756e70313160d81b604482015290519081900360640190fd5b8080602001905160208110156104f557600080fd5b50519250505090565b61050733610caa565b6000610511610c85565b60408051600481526024810182526020810180516001600160e01b0316633b154b7360e01b178152915181516001600160a01b039490941693919290918291908083835b602083106105745780518252601f199092019160209182019101610555565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146105d4576040519150601f19603f3d011682016040523d82523d6000602084013e6105d9565b606091505b5050905080610617576040805162461bcd60e51b81526020600482015260056024820152646e7073313160d81b604482015290519081900360640190fd5b50565b6040805162461bcd60e51b8152602060048201526005602482015264696e69313160d81b604482015290519081900360640190fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b61067d33610caa565b61068683610cfc565b6000610690610c85565b6001600160a01b031683836040516024018080602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b0316632539464560e01b17815292518151919750955085945091925081905083835b6020831061072b5780518252601f19909201916020918201910161070c565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461078b576040519150601f19603f3d011682016040523d82523d6000602084013e610790565b606091505b50509050806107ce576040805162461bcd60e51b8152602060048201526005602482015264756675313160d81b604482015290519081900360640190fd5b50505050565b6107dd33610caa565b60006107e7610c85565b60408051600481526024810182526020810180516001600160e01b031663078b91e760e41b178152915181516001600160a01b039490941693919290918291908083835b6020831061084a5780518252601f19909201916020918201910161082b565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146108aa576040519150601f19603f3d011682016040523d82523d6000602084013e6108af565b606091505b5050905080610617576040805162461bcd60e51b8152602060048201526005602482015264757073313160d81b604482015290519081900360640190fd5b6108f633610caa565b6000610900610c85565b60408051600481526024810182526020810180516001600160e01b031663871b8ff160e01b178152915181516001600160a01b039490941693919290918291908083835b602083106109635780518252601f199092019160209182019101610944565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146109c3576040519150601f19603f3d011682016040523d82523d6000602084013e6109c8565b606091505b5050905080610617576040805162461bcd60e51b8152602060048201526005602482015264707563313160d81b604482015290519081900360640190fd5b6000806000610a13610c85565b60408051600481526024810182526020810180516001600160e01b03166321dcccd360e21b178152915181516001600160a01b039490941693919290918291908083835b60208310610a765780518252601f199092019160209182019101610a57565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610ad6576040519150601f19603f3d011682016040523d82523d6000602084013e610adb565b606091505b5091509150816104e0576040805162461bcd60e51b8152602060048201526005602482015264726675313160d81b604482015290519081900360640190fd5b610b2333610caa565b6000610b2d610c85565b60408051600481526024810182526020810180516001600160e01b0316635934dcd760e11b178152915181516001600160a01b039490941693919290918291908083835b60208310610b905780518252601f199092019160209182019101610b71565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610bf0576040519150601f19603f3d011682016040523d82523d6000602084013e610bf5565b606091505b5050905080610617576040805162461bcd60e51b8152602060048201526005602482015264707566313160d81b604482015290519081900360640190fd5b610c3c33610caa565b6001600160a01b038116610c7c576040805162461bcd60e51b81526020600482015260026024820152610c5960f21b604482015290519081900360640190fd5b61061781610d20565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b610cb261064f565b6001600160a01b0316816001600160a01b031614610617576040805162461bcd60e51b8152602060048201526002602482015261316360f01b604482015290519081900360640190fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035556fea264697066735822122082bfe951767a04e426dacce75618d58bcf3c6e6e9e996816a519a2d5d653615d64736f6c63430007060033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc000000000000000000000000efaf8911467f8eb6063ddf9d27f87dee81b7dd9a000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000005fb0a187c2f6ad3d3a083f69ae166edefd94f93e

Block Transaction Gas Used Reward
Age Block Fee Address Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading