Contract 0xC92d3A360b8f9e083bA64DE15d95Cf8180897431

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x476aeb9a53b3f82915f14d34a454c62bcce6597ea1e7709eb5f46c99011ebaf7Set Service URI128579112022-05-24 12:41:372 days 1 hr ago0xd93e0a15511935889aec76f79d54dff0e27af82e IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000103945091 ETH
0x8c9adf950e16c6ec362d3bb340b1b20f5a3a9e6937f472d05aed59dd8536b925Set Service URI128562242022-05-24 12:10:492 days 2 hrs ago0xd93e0a15511935889aec76f79d54dff0e27af82e IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000103945091 ETH
0x1edabce679f8e65d9c21ffb1725721d84b525529ad51e30a40a255bd6fa5229fSet Service URI128453512022-05-24 9:06:042 days 5 hrs ago0xd93e0a15511935889aec76f79d54dff0e27af82e IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.00010212875 ETH
0x2c2380ee8ba2c6d865bf5117f794b6ce28e11916db3fb0e3b34dc65634ba29eaSet Service URI126514252022-05-21 16:36:314 days 22 hrs ago0x0d5a6601942bf92e7b259bfc6b56009e6a1c0ad2 IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000102890083 ETH
0x90185fb5668840fb358e59852b26548766d8f8e8a2ec4f276248d5e815473070Set Service URI124971942022-05-19 16:14:266 days 22 hrs ago0x5263e0ce3a97b634d8828ce4337ad0f70b30b077 IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000178201556 ETH
0x10f54cefb209c5f703f05b031bc93f1914abf0ae8f9aca84b7941b82c3979844Set Service URI124249422022-05-18 19:43:197 days 18 hrs ago0xd00354656922168815fcd1e51cbddb9e359e3c7f IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000165851839 ETH
0x184e631efb2bd6cbf8dee5c05fc6fea9eda7316e34d48b81a4ce40300c155e0fSet Service URI124171412022-05-18 17:18:497 days 21 hrs ago0xd93e0a15511935889aec76f79d54dff0e27af82e IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000169141223 ETH
0x9ea25112ddd5cc5e093d8d7e382df451d3f12c81c1d96b5c9c17a37b29a8073dSet Service URI124170912022-05-18 17:18:497 days 21 hrs ago0xd93e0a15511935889aec76f79d54dff0e27af82e IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000183538013 ETH
0x80d40b3067edfafb71d45233a36c3d1b387ae6f4bb2cc2b84de0be7bc5ab9f5bSet Service URI124131152022-05-18 16:12:277 days 22 hrs ago0xd00354656922168815fcd1e51cbddb9e359e3c7f IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000169441351 ETH
0x578853993af831a428400c4abf4b106fa0171a61cf9c8ec19511541a3f96263fSet Service URI124057592022-05-18 14:21:388 days 19 mins ago0x6a15b9d078c2bf4814066a69392aa224fecae1c4 IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000183419631 ETH
0x834cf48e166ced7b896eba31eda4bf123e76bfe9c80cca04b252ec9aba336fddSet Service URI122633412022-05-16 23:25:369 days 15 hrs ago0x58887c5fe7d021ec63b72ac4021980027e6fafe1 IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000146422172 ETH
0xc510c834eca2519e119c74be4413870046b83e0e4bd11037eff284ed22651233Set Service URI122633192022-05-16 23:25:019 days 15 hrs ago0x58887c5fe7d021ec63b72ac4021980027e6fafe1 IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000146026297 ETH
0x4011957e84d5d39825b92a816d370a26cf58177c996ddb1f127577139e865c5eSet Service URI115883532022-05-09 10:31:5317 days 4 hrs ago0xdc28f2842810d1a013ad51de174d02eaba192dc7 IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000124733344 ETH
0xc7c2bed2eee08130fae2e1dae248e104bc3480d6d0fdae8e7a60635dd5b44ef4Set Service URI112458042022-05-05 11:36:1221 days 3 hrs ago0x1a196b031ea1a74a53ecbe6148772648e02f9d51 IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000254824337 ETH
0x8611b413fd779d78a200a299029f0a05157fd23f4830c578258a137495a90814Set Service URI112444472022-05-05 11:11:2321 days 3 hrs ago0xbac7744ada4ab1957cbaafef698b3c068beb4fe0 IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000254375268 ETH
0x8308a065cd304e5c1b86b4d7ebaa2840935c13a10fe9523de95024be3014ea53Set Service URI112168602022-05-05 2:11:2121 days 12 hrs ago0xcb69ffc06d3c218472c50ee25f5a1d3ca9650c44 IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000267279079 ETH
0xec5fbfc56dcbd4f6f927319d5df41857aa709d9444c4f285ea6005ecc9a5a6e4Set Service URI112128202022-05-05 0:18:5821 days 14 hrs ago0xcb69ffc06d3c218472c50ee25f5a1d3ca9650c44 IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.00034361854 ETH
0x92f10b511af50ff04bad773201ccef421959e5c924052b7dfdd4330b1a3a7b83Set Service URI112080662022-05-04 22:12:4421 days 16 hrs ago0xcb69ffc06d3c218472c50ee25f5a1d3ca9650c44 IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000289539686 ETH
0xa052417f932b66495f9bb5919b4eca58adbec3302e2e0a228ae0cd15a29d611fSet Service URI110419382022-05-02 15:47:4823 days 22 hrs ago0xcb69ffc06d3c218472c50ee25f5a1d3ca9650c44 IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000361126703 ETH
0xd39a47dd4fd1312300cfe842f5d55d5f255a67b1ed2359a06b7521db2d4fdca1Set Service URI110294452022-05-02 12:38:0424 days 2 hrs ago0x4bd850175a4e43afee34ae7b7dcd079a572dd69b IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000343942514 ETH
0x6a78ec924fb966f151afd63c4c9cde4edc0f6423461df5f6aab8fbdaa037afcbSet Service URI109797922022-05-01 17:11:0224 days 21 hrs ago0x4a43b1d7e6227c8b0512e413f406555647ff7bdb IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000760756827 ETH
0x11609a87c2af60de43e32f4732d2241f13928b51d072e5ce8e0aff2693a40b68Set Service URI109728172022-05-01 14:12:3625 days 28 mins ago0xcb69ffc06d3c218472c50ee25f5a1d3ca9650c44 IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000807596132 ETH
0x068118d4a8d790243bfefc189e5b66f193080e2c376cc3ff16553183bfd3099dSet Service URI108895072022-04-30 8:43:1526 days 5 hrs ago0x6c06d3246fbb77c4ad75480e03d2a0a8eaf68121 IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000240277878 ETH
0xdb2baa20bbc58d03ce86c8943665009e219a80a4a6877b89180502cdea71b15fSet Service URI108542752022-04-29 20:57:0726 days 17 hrs ago0x58887c5fe7d021ec63b72ac4021980027e6fafe1 IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000312878229 ETH
0x2b6d8d3e0d1627bb96cd229e22fe25bc1e589dbade693cf82bd966ea2be1b977Set Service URI108490172022-04-29 19:22:5526 days 19 hrs ago0xcb69ffc06d3c218472c50ee25f5a1d3ca9650c44 IN  0xc92d3a360b8f9e083ba64de15d95cf81808974310 ETH0.000252568646 ETH
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x476aeb9a53b3f82915f14d34a454c62bcce6597ea1e7709eb5f46c99011ebaf7128579112022-05-24 12:41:372 days 1 hr ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0x38093cdca43aecd7bb474983519a246e93a3b0a70 ETH
0x476aeb9a53b3f82915f14d34a454c62bcce6597ea1e7709eb5f46c99011ebaf7128579112022-05-24 12:41:372 days 1 hr ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x8c9adf950e16c6ec362d3bb340b1b20f5a3a9e6937f472d05aed59dd8536b925128562242022-05-24 12:10:492 days 2 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0x38093cdca43aecd7bb474983519a246e93a3b0a70 ETH
0x8c9adf950e16c6ec362d3bb340b1b20f5a3a9e6937f472d05aed59dd8536b925128562242022-05-24 12:10:492 days 2 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x1edabce679f8e65d9c21ffb1725721d84b525529ad51e30a40a255bd6fa5229f128453512022-05-24 9:06:042 days 5 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x2c2380ee8ba2c6d865bf5117f794b6ce28e11916db3fb0e3b34dc65634ba29ea126514252022-05-21 16:36:314 days 22 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x90185fb5668840fb358e59852b26548766d8f8e8a2ec4f276248d5e815473070124971942022-05-19 16:14:266 days 22 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x10f54cefb209c5f703f05b031bc93f1914abf0ae8f9aca84b7941b82c3979844124249422022-05-18 19:43:197 days 18 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x184e631efb2bd6cbf8dee5c05fc6fea9eda7316e34d48b81a4ce40300c155e0f124171412022-05-18 17:18:497 days 21 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x9ea25112ddd5cc5e093d8d7e382df451d3f12c81c1d96b5c9c17a37b29a8073d124170912022-05-18 17:18:497 days 21 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x80d40b3067edfafb71d45233a36c3d1b387ae6f4bb2cc2b84de0be7bc5ab9f5b124131152022-05-18 16:12:277 days 22 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x578853993af831a428400c4abf4b106fa0171a61cf9c8ec19511541a3f96263f124057592022-05-18 14:21:388 days 19 mins ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x834cf48e166ced7b896eba31eda4bf123e76bfe9c80cca04b252ec9aba336fdd122633412022-05-16 23:25:369 days 15 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0xc510c834eca2519e119c74be4413870046b83e0e4bd11037eff284ed22651233122633192022-05-16 23:25:019 days 15 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x4011957e84d5d39825b92a816d370a26cf58177c996ddb1f127577139e865c5e115883532022-05-09 10:31:5317 days 4 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0xc7c2bed2eee08130fae2e1dae248e104bc3480d6d0fdae8e7a60635dd5b44ef4112458042022-05-05 11:36:1221 days 3 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x8611b413fd779d78a200a299029f0a05157fd23f4830c578258a137495a90814112444472022-05-05 11:11:2321 days 3 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x8308a065cd304e5c1b86b4d7ebaa2840935c13a10fe9523de95024be3014ea53112168602022-05-05 2:11:2121 days 12 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0xec5fbfc56dcbd4f6f927319d5df41857aa709d9444c4f285ea6005ecc9a5a6e4112128202022-05-05 0:18:5821 days 14 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x92f10b511af50ff04bad773201ccef421959e5c924052b7dfdd4330b1a3a7b83112080662022-05-04 22:12:4421 days 16 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0xa052417f932b66495f9bb5919b4eca58adbec3302e2e0a228ae0cd15a29d611f110419382022-05-02 15:47:4823 days 22 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0xd39a47dd4fd1312300cfe842f5d55d5f255a67b1ed2359a06b7521db2d4fdca1110294452022-05-02 12:38:0424 days 2 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x6a78ec924fb966f151afd63c4c9cde4edc0f6423461df5f6aab8fbdaa037afcb109797922022-05-01 17:11:0224 days 21 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x11609a87c2af60de43e32f4732d2241f13928b51d072e5ce8e0aff2693a40b68109728172022-05-01 14:12:3625 days 28 mins ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x068118d4a8d790243bfefc189e5b66f193080e2c376cc3ff16553183bfd3099d108895072022-04-30 8:43:1526 days 5 hrs ago 0xc92d3a360b8f9e083ba64de15d95cf8180897431 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
[ Download CSV Export 
Loading

Similar Match Source Code
Note: This contract matches the deployed ByteCode of the Source Code for Contract 0x35Bcf3c30594191d53231E4FF333E8A770453e40

Contract Name:
ManagerProxy

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
File 1 of 7 : IController.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.9;

import "./zeppelin/Pausable.sol";

abstract contract IController is Pausable {
    event SetContractInfo(bytes32 id, address contractAddress, bytes20 gitCommitHash);

    function setContractInfo(
        bytes32 _id,
        address _contractAddress,
        bytes20 _gitCommitHash
    ) external virtual;

    function updateController(bytes32 _id, address _controller) external virtual;

    function getContract(bytes32 _id) public view virtual returns (address);
}

File 2 of 7 : IManager.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.9;

interface IManager {
    event SetController(address controller);
    event ParameterUpdate(string param);

    function setController(address _controller) external;
}

File 3 of 7 : Manager.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.9;

import "./IManager.sol";
import "./IController.sol";

contract Manager is IManager {
    // Controller that contract is registered with
    IController public controller;

    // Check if sender is controller
    modifier onlyController() {
        _onlyController();
        _;
    }

    // Check if sender is controller owner
    modifier onlyControllerOwner() {
        _onlyControllerOwner();
        _;
    }

    // Check if controller is not paused
    modifier whenSystemNotPaused() {
        _whenSystemNotPaused();
        _;
    }

    // Check if controller is paused
    modifier whenSystemPaused() {
        _whenSystemPaused();
        _;
    }

    constructor(address _controller) {
        controller = IController(_controller);
    }

    /**
     * @notice Set controller. Only callable by current controller
     * @param _controller Controller contract address
     */
    function setController(address _controller) external onlyController {
        controller = IController(_controller);

        emit SetController(_controller);
    }

    function _onlyController() private view {
        require(msg.sender == address(controller), "caller must be Controller");
    }

    function _onlyControllerOwner() private view {
        require(msg.sender == controller.owner(), "caller must be Controller owner");
    }

    function _whenSystemNotPaused() private view {
        require(!controller.paused(), "system is paused");
    }

    function _whenSystemPaused() private view {
        require(controller.paused(), "system is not paused");
    }
}

File 4 of 7 : ManagerProxy.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.9;

import "./ManagerProxyTarget.sol";

/**
 * @title ManagerProxy
 * @notice A proxy contract that uses delegatecall to execute function calls on a target contract using its own storage context.
 The target contract is a Manager contract that is registered with the Controller.
 * @dev Both this proxy contract and its target contract MUST inherit from ManagerProxyTarget in order to guarantee
 that both contracts have the same storage layout. Differing storage layouts in a proxy contract and target contract can
 potentially break the delegate proxy upgradeability mechanism. Since this proxy contract inherits from ManagerProxyTarget which inherits
 from Manager, it implements the setController() function. The target contract will also implement setController() since it also inherits
 from ManagerProxyTarget. Thus, any transaction sent to the proxy that calls setController() will execute against the proxy instead
 of the target. As a result, developers should keep in mind that the proxy will always execute the same logic for setController() regardless
 of the setController() implementation on the target contract. Generally, developers should not add any additional functions to this proxy contract
 because any function implemented on the proxy will always be executed against the proxy and the call **will not** be forwarded to the target contract
 */
contract ManagerProxy is ManagerProxyTarget {
    /**
     * @notice ManagerProxy constructor. Invokes constructor of base Manager contract with provided Controller address.
     * Also, sets the contract ID of the target contract that function calls will be executed on.
     * @param _controller Address of Controller that this contract will be registered with
     * @param _targetContractId contract ID of the target contract
     */
    constructor(address _controller, bytes32 _targetContractId) Manager(_controller) {
        targetContractId = _targetContractId;
    }

    /**
     * @notice Fallback function that delegates calls to target contract when there is no msg.data
     */
    receive() external payable {
        _fallback();
    }

    /**
     * @notice Fallback function that delegates calls to target contract when there is msg.data
     */
    fallback() external payable {
        _fallback();
    }

    /**
     * @dev Uses delegatecall to execute function calls on this proxy contract's target contract using its own storage context.
     This fallback function will look up the address of the target contract using the Controller and the target contract ID.
     It will then use the calldata for a function call as the data payload for a delegatecall on the target contract. The return value
     of the executed function call will also be returned
     */
    function _fallback() private {
        address target = controller.getContract(targetContractId);
        require(target != address(0), "target contract must be registered");

        assembly {
            // Solidity keeps a free memory pointer at position 0x40 in memory
            let freeMemoryPtrPosition := 0x40
            // Load the free memory pointer
            let calldataMemoryOffset := mload(freeMemoryPtrPosition)
            // Update free memory pointer to after memory space we reserve for calldata
            mstore(freeMemoryPtrPosition, add(calldataMemoryOffset, calldatasize()))
            // Copy calldata (method signature and params of the call) to memory
            calldatacopy(calldataMemoryOffset, 0x0, calldatasize())

            // Call method on target contract using calldata which is loaded into memory
            let ret := delegatecall(gas(), target, calldataMemoryOffset, calldatasize(), 0, 0)

            // Load the free memory pointer
            let returndataMemoryOffset := mload(freeMemoryPtrPosition)
            // Update free memory pointer to after memory space we reserve for returndata
            mstore(freeMemoryPtrPosition, add(returndataMemoryOffset, returndatasize()))
            // Copy returndata (result of the method invoked by the delegatecall) to memory
            returndatacopy(returndataMemoryOffset, 0x0, returndatasize())

            switch ret
            case 0 {
                // Method call failed - revert
                // Return any error message stored in mem[returndataMemoryOffset..(returndataMemoryOffset + returndatasize)]
                revert(returndataMemoryOffset, returndatasize())
            }
            default {
                // Return result of method call stored in mem[returndataMemoryOffset..(returndataMemoryOffset + returndatasize)]
                return(returndataMemoryOffset, returndatasize())
            }
        }
    }
}

File 5 of 7 : ManagerProxyTarget.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.9;

import "./Manager.sol";

/**
 * @title ManagerProxyTarget
 * @notice The base contract that target contracts used by a proxy contract should inherit from
 * @dev Both the target contract and the proxy contract (implemented as ManagerProxy) MUST inherit from ManagerProxyTarget in order to guarantee
 that both contracts have the same storage layout. Differing storage layouts in a proxy contract and target contract can
 potentially break the delegate proxy upgradeability mechanism
 */
abstract contract ManagerProxyTarget is Manager {
    // Used to look up target contract address in controller's registry
    bytes32 public targetContractId;
}

File 6 of 7 : Ownable.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.9;

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the sender
     * account.
     */
    constructor() {
        owner = msg.sender;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}

File 7 of 7 : Pausable.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.9;

import "./Ownable.sol";

/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
    event Pause();
    event Unpause();

    bool public paused;

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     */
    modifier whenNotPaused() {
        require(!paused);
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     */
    modifier whenPaused() {
        require(paused);
        _;
    }

    /**
     * @dev called by the owner to pause, triggers stopped state
     */
    function pause() public onlyOwner whenNotPaused {
        paused = true;
        emit Pause();
    }

    /**
     * @dev called by the owner to unpause, returns to normal state
     */
    function unpause() public onlyOwner whenPaused {
        paused = false;
        emit Unpause();
    }
}

Settings
{
  "evmVersion": "london",
  "libraries": {},
  "metadata": {
    "bytecodeHash": "ipfs",
    "useLiteralContent": true
  },
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "remappings": [],
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"_controller","type":"address"},{"internalType":"bytes32","name":"_targetContractId","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"param","type":"string"}],"name":"ParameterUpdate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"controller","type":"address"}],"name":"SetController","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"controller","outputs":[{"internalType":"contract IController","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_controller","type":"address"}],"name":"setController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"targetContractId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561001057600080fd5b506040516103d93803806103d983398101604081905261002f91610058565b600080546001600160a01b0319166001600160a01b039390931692909217909155600155610092565b6000806040838503121561006b57600080fd5b82516001600160a01b038116811461008257600080fd5b6020939093015192949293505050565b610338806100a16000396000f3fe6080604052600436106100385760003560e01c806351720b411461004f57806392eefe9b14610078578063f77c47911461009857610047565b36610047576100456100d0565b005b6100456100d0565b34801561005b57600080fd5b5061006560015481565b6040519081526020015b60405180910390f35b34801561008457600080fd5b506100456100933660046102c1565b6101f1565b3480156100a457600080fd5b506000546100b8906001600160a01b031681565b6040516001600160a01b03909116815260200161006f565b60008054600154604051631c2d8fb360e31b81526001600160a01b039092169163e16c7d98916101069160040190815260200190565b60206040518083038186803b15801561011e57600080fd5b505afa158015610132573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015691906102e5565b90506001600160a01b0381166101be5760405162461bcd60e51b815260206004820152602260248201527f74617267657420636f6e7472616374206d757374206265207265676973746572604482015261195960f21b60648201526084015b60405180910390fd5b60408051368101825236600082376000803683865af4905081513d810183523d6000823e8180156101ed573d82f35b3d82fd5b6101f961024d565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709060200160405180910390a150565b6000546001600160a01b031633146102a75760405162461bcd60e51b815260206004820152601960248201527f63616c6c6572206d75737420626520436f6e74726f6c6c65720000000000000060448201526064016101b5565b565b6001600160a01b03811681146102be57600080fd5b50565b6000602082840312156102d357600080fd5b81356102de816102a9565b9392505050565b6000602082840312156102f757600080fd5b81516102de816102a956fea2646970667358221220274e52a3b60c7dff1cad0833c349004759648080531c69a484b94b22224cfa1164736f6c63430008090033000000000000000000000000d8e8328501e9645d16cf49539efc04f734606ee4fc6f6f33d2bb065ac61cbdd4dbe4b7adf6f3e7e6c6a3d1fe297cbf9a187092e4

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.