Contract 0xdd6f56DcC28D3F5f27084381fE8Df634985cc39f 1

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x6bdca8df2e67fed6edbe6b7a2fb94b73fea64f3f18c6a4c61fca2f08577d6ce1Initialize Round129477382022-05-25 18:55:2619 hrs 30 mins ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000147144777 ETH
0x256c76a9aadbf5d9a81477cf7dc905b3aa4a0092cffe1af105564ef152ffe3ceInitialize Round128814812022-05-24 20:25:291 day 18 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000169839881 ETH
0x87a038eb3350520395ad0f633b4429c8b872e8765e380978ed0662f85928ac5eInitialize Round128123702022-05-23 21:48:572 days 16 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000118554474 ETH
0x240fc1668bd4cad091f7aed197b61b6c228e2233cf63defe06efb64404b8eeb2Initialize Round127383142022-05-22 23:30:533 days 14 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000118457646 ETH
0x47752be3fed3eee4cede31ddf9d0706354da0073f3b2b9be7c629e5dbe654561Initialize Round126694612022-05-22 1:01:104 days 13 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000146792563 ETH
0xad1327d437214cb4804c03c01eaf512a46447e02068f4e3a16b6f3208293c7acInitialize Round126007772022-05-21 2:35:055 days 11 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000161009405 ETH
0xbd4cf8090963af48efba9b63f8a6fbb15ad685311b17bae65f6b692c9741e43fInitialize Round125289582022-05-20 4:08:506 days 10 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000115541065 ETH
0xf4573318f7f23549b4be5faf122e3e64cdb2f92902721b3b5648fae39bae9b00Initialize Round124516782022-05-19 5:28:207 days 8 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000134510187 ETH
0xcb48023064b5cb93acf83b82b92189b0d95d8fd266495a6a252d91573cc93f64Initialize Round123759302022-05-18 7:11:198 days 7 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000145421113 ETH
0x00e672a6715e472f0a9d10f12fab3c12cca45784279c814e4e9ab749792aa7caInitialize Round122994222022-05-17 9:13:499 days 5 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000131998149 ETH
0x7d8c192e1b0800246e88a87cfdfcaf9030ffb95b6334b8e0c803358237e93b80Initialize Round122144882022-05-16 11:15:0410 days 3 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000097573786 ETH
0x83a07dd3ffd7271c510a4fc47878dbd77502be566c673e9de457a5c89394049aInitialize Round121366492022-05-15 13:17:4811 days 1 hr ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000122563872 ETH
0xb9a5b73a848585bc808fb00f85b250461bbe5595572dd43fec9e79918e315e91Initialize Round120647742022-05-14 15:35:0511 days 22 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000228240935 ETH
0x8f9fc1abbfc1caf93e2ac82b292bd468575fbd9feb83bd8e48638499cbdca02eInitialize Round119934132022-05-13 17:15:4012 days 21 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.00048613014 ETH
0xd00ccbcc6fa6debdcaf343b5c5197cbfb17fa7e0fb3d5d335f38cbd8c2a9c0acInitialize Round119318012022-05-12 19:23:4313 days 19 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.001193004008 ETH
0xe92dc08d80432a32234e0bc1a883066db9aca4c65257316d41114941de6970beInitialize Round118332592022-05-11 21:01:4014 days 17 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000626970648 ETH
0xc45915118c269ad61f8e1e1030e51dcf62f45e773c7d1ffacd4ed3acf9364e2fInitialize Round117388762022-05-10 23:13:2015 days 15 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000221052924 ETH
0xdf0b2d8295fc90f80e73b3bedff98fc5ab8befcaae699bf4072f1231043648f3Initialize Round116526052022-05-10 0:56:3816 days 13 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000391341935 ETH
0xde2775f2ab15c705c0029c06166f96c13954473fe39d404753bf15f49790e3beInitialize Round115509212022-05-09 2:38:3117 days 11 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000116513376 ETH
0x280a65ef58f77397dab87f89c4efe5977b05a8f2f4b470ec70a43dd09b9b0c24Initialize Round114689012022-05-08 4:52:0118 days 9 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000163508356 ETH
0xb78ec6af572793e22bb1f573814994aabfef3cb71eb3dc467b7c4f203a9e39ceInitialize Round113910542022-05-07 6:57:4119 days 7 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000187568341 ETH
0x344861a553e2421c0ba1d35ae1ba44a4519c7f4bbe0d273c8edc5846090b23b9Initialize Round113123462022-05-06 8:45:4320 days 5 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000263401001 ETH
0x3e98e3bd1cb7d6153e5a8515362144ca29ba5fdc6d21495071bcab6b2aaa7c86Initialize Round112427722022-05-05 10:45:0221 days 3 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000249938988 ETH
0xcd999b7549dbcc1a9f19f9e1d457200023e853d7fdf8e4449b0312de49142eb2Initialize Round111765032022-05-04 12:49:5922 days 1 hr ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000236615953 ETH
0xd816e5722cf3b1961d41ebd78e9e81b000b590714a6c0452f65861b90f25ef49Initialize Round111091132022-05-03 14:56:5222 days 23 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH0.000305395073 ETH
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xf6a0d512febe5f3e7b84d5e1d62aef3f76e9458b64c4071875ad77282fa74e97129974392022-05-26 13:57:3028 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 0x92d804ed49d92438aea6fe552bd9163aacb7e8410 ETH
0xf6a0d512febe5f3e7b84d5e1d62aef3f76e9458b64c4071875ad77282fa74e97129974392022-05-26 13:57:3028 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0xf6a0d512febe5f3e7b84d5e1d62aef3f76e9458b64c4071875ad77282fa74e97129974392022-05-26 13:57:3028 mins ago 0x35bcf3c30594191d53231e4ff333e8a770453e40 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH
0xf6a0d512febe5f3e7b84d5e1d62aef3f76e9458b64c4071875ad77282fa74e97129974392022-05-26 13:57:3028 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 0x92d804ed49d92438aea6fe552bd9163aacb7e8410 ETH
0xf6a0d512febe5f3e7b84d5e1d62aef3f76e9458b64c4071875ad77282fa74e97129974392022-05-26 13:57:3028 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0xf6a0d512febe5f3e7b84d5e1d62aef3f76e9458b64c4071875ad77282fa74e97129974392022-05-26 13:57:3028 mins ago 0x35bcf3c30594191d53231e4ff333e8a770453e40 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH
0x7dc356f57cef50ec95344acb87ec8d3edce60a19220171eb4d6464753528e6eb129944382022-05-26 13:16:271 hr 9 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 0x92d804ed49d92438aea6fe552bd9163aacb7e8410 ETH
0x7dc356f57cef50ec95344acb87ec8d3edce60a19220171eb4d6464753528e6eb129944382022-05-26 13:16:271 hr 9 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x7dc356f57cef50ec95344acb87ec8d3edce60a19220171eb4d6464753528e6eb129944382022-05-26 13:16:271 hr 9 mins ago 0x35bcf3c30594191d53231e4ff333e8a770453e40 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH
0x7dc356f57cef50ec95344acb87ec8d3edce60a19220171eb4d6464753528e6eb129944382022-05-26 13:16:271 hr 9 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 0x92d804ed49d92438aea6fe552bd9163aacb7e8410 ETH
0x7dc356f57cef50ec95344acb87ec8d3edce60a19220171eb4d6464753528e6eb129944382022-05-26 13:16:271 hr 9 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x7dc356f57cef50ec95344acb87ec8d3edce60a19220171eb4d6464753528e6eb129944382022-05-26 13:16:271 hr 9 mins ago 0xa8bb618b1520e284046f3dfc448851a1ff26e41b 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH
0x7dc356f57cef50ec95344acb87ec8d3edce60a19220171eb4d6464753528e6eb129944382022-05-26 13:16:271 hr 9 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 0x92d804ed49d92438aea6fe552bd9163aacb7e8410 ETH
0x7dc356f57cef50ec95344acb87ec8d3edce60a19220171eb4d6464753528e6eb129944382022-05-26 13:16:271 hr 9 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x7dc356f57cef50ec95344acb87ec8d3edce60a19220171eb4d6464753528e6eb129944382022-05-26 13:16:271 hr 9 mins ago 0xa8bb618b1520e284046f3dfc448851a1ff26e41b 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH
0x7dc356f57cef50ec95344acb87ec8d3edce60a19220171eb4d6464753528e6eb129944382022-05-26 13:16:271 hr 9 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 0x92d804ed49d92438aea6fe552bd9163aacb7e8410 ETH
0x7dc356f57cef50ec95344acb87ec8d3edce60a19220171eb4d6464753528e6eb129944382022-05-26 13:16:271 hr 9 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 0xd8e8328501e9645d16cf49539efc04f734606ee40 ETH
0x7dc356f57cef50ec95344acb87ec8d3edce60a19220171eb4d6464753528e6eb129944382022-05-26 13:16:271 hr 9 mins ago 0xa8bb618b1520e284046f3dfc448851a1ff26e41b 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH
0x89590f28223a57e78ef9bde9b66a1b79a114cdcd79581eccf64d3b06dfa046a0129904472022-05-26 12:00:432 hrs 25 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 0x92d804ed49d92438aea6fe552bd9163aacb7e8410 ETH
0x89590f28223a57e78ef9bde9b66a1b79a114cdcd79581eccf64d3b06dfa046a0129904472022-05-26 12:00:432 hrs 25 mins ago 0x35bcf3c30594191d53231e4ff333e8a770453e40 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f0 ETH
0x89590f28223a57e78ef9bde9b66a1b79a114cdcd79581eccf64d3b06dfa046a0129904472022-05-26 12:00:432 hrs 25 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 0x92d804ed49d92438aea6fe552bd9163aacb7e8410 ETH
0x89590f28223a57e78ef9bde9b66a1b79a114cdcd79581eccf64d3b06dfa046a0129904472022-05-26 12:00:432 hrs 25 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 0x92d804ed49d92438aea6fe552bd9163aacb7e8410 ETH
0x89590f28223a57e78ef9bde9b66a1b79a114cdcd79581eccf64d3b06dfa046a0129904472022-05-26 12:00:432 hrs 25 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 0x92d804ed49d92438aea6fe552bd9163aacb7e8410 ETH
0x89590f28223a57e78ef9bde9b66a1b79a114cdcd79581eccf64d3b06dfa046a0129904472022-05-26 12:00:432 hrs 25 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 0x92d804ed49d92438aea6fe552bd9163aacb7e8410 ETH
0x89590f28223a57e78ef9bde9b66a1b79a114cdcd79581eccf64d3b06dfa046a0129904472022-05-26 12:00:432 hrs 25 mins ago 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 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.