Contract 0xdd6f56dcc28d3f5f27084381fe8df634985cc39f 1

 

Contract Overview

Livepeer: Proxy Rounds Manager
Balance:
0 ETH

ETH Value:
$0.00
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x78bd8e9ee8c0108a888ba4a031eb06015630e229fc2c590caf602c6d5621e9fbInitialize Round196664092022-08-08 0:56:4715 hrs 32 mins ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000052688357 ETH
0x35c65035d004eb027ad39aac3190b1f02c262da651f3a4c24db79469f1215750Initialize Round195896902022-08-07 3:40:441 day 12 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.00003438719 ETH
0x54a92deada09ac4faa1fab68146ca248e3184867f38fc6949bd8f5b488cb5453Initialize Round195136592022-08-06 6:06:022 days 10 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000062576817 ETH
0xd5bd5d5a683bb56c875eb8ea3ad4f35cb5625716e289b200713f9e3b2c57b4feInitialize Round194355392022-08-05 8:40:593 days 7 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000054969051 ETH
0x9dfe44a9f8df58d73df0d5ac05d6def89df798f1cb01c6809744763f85ff87edInitialize Round193661772022-08-04 11:06:314 days 5 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.00005781478 ETH
0x23029ffebc61de723c8e78a06a127fe96e4a57726cb385cb2a0f6e401e9a0f1aInitialize Round192857742022-08-03 13:32:395 days 2 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000048591593 ETH
0x7a4dc4b519a3433e94df8b08790d2c9c24e507dbe5e620755174c427171aececInitialize Round192089002022-08-02 15:51:336 days 37 mins ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000060164871 ETH
0xede8c8645df7942a2945620562f9a8906cebc8d7850485813a3d873806548fcdInitialize Round191387962022-08-01 18:19:396 days 22 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000067768409 ETH
0xe46b19cf452cf4be6bfd9e0db8a14cb0730ba576baa1434819916027cb4eb9dbInitialize Round190664392022-07-31 20:48:457 days 19 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000053253329 ETH
0x6f20e712ba668281f712fc784a2ca04b34a52b1664f9a95ff7ad33ac3fc3371eInitialize Round189843652022-07-30 23:18:018 days 17 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000044009451 ETH
0xc264f543a9c5cdce4b89e706166fc3afdd63b92a4a76c1d8ee0f52c40d2c55bbInitialize Round189119712022-07-30 1:47:129 days 14 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000073600956 ETH
0xa4c5b73b811db15dd0c0d32edb89f331aa26c04547c69b9e67c9c1f802e2d440Initialize Round188383802022-07-29 4:17:1010 days 12 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000098551558 ETH
0x9b91c7f41c20ae3baec6b87caf0f1ca6785e46271573119f422f942d67978ae1Initialize Round187543542022-07-28 6:43:5111 days 9 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000091783308 ETH
0x9bd15ee21f520e00b29441a04cbc771a67dd496dd59dfe2ca84ba45157055c9cInitialize Round186817272022-07-27 9:21:0612 days 7 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000070841773 ETH
0x0535615e46bf4d5bfce617934185ef956040257b0325b9b47ef2e24d2478184cInitialize Round186101952022-07-26 11:50:1513 days 4 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.00010100177 ETH
0x7a4b23e2927f541b9e3b8898241d1c204a55d3c48b1dbe301e7d0116b09a5597Initialize Round185347862022-07-25 14:18:2314 days 2 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000053986891 ETH
0x7ced109275b52ca9005ba6723bd7a32ba9cfffc96220f892d2ad56187aaed2d9Initialize Round184591082022-07-24 16:36:5114 days 23 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000054632987 ETH
0xa273fcf86b1a126a5d31c4ffefe3eb5f4877660475e3ed981de81b8e0e7ca12cInitialize Round183891352022-07-23 19:03:5315 days 21 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000078694481 ETH
0xad2ab3f1a4776c750b761bb4d04c581645b9845cf37113799965ccf9be9697caInitialize Round183244992022-07-22 21:25:1416 days 19 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000078655816 ETH
0xfbea2bc2577c8bfaf5c7384c9af7227ef7062b53ee2bd2f1d8cd95e04f4f3b1fInitialize Round182462702022-07-22 0:08:0517 days 16 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000114168917 ETH
0xaec3afa09540215b195e818d1860901c91a2e0f71e6e33c3ca9224e3f0ddcab1Initialize Round181609642022-07-21 2:50:1718 days 13 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000140136193 ETH
0xa601bb92eca42e575f22e83f6bdc24d1fa199b202208f1fc89bd9c42917cf68fInitialize Round180749282022-07-20 5:20:1419 days 11 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000120709968 ETH
0xa329e94b3d565a10731c29be4443f6c6641111fc3c46f1044bd6c001305955cbInitialize Round179973582022-07-19 7:57:3120 days 8 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000113187838 ETH
0xb37b99394a1ec2a85102c58b703ac2ef804b429ddf73f6a10e325b72fee7c22fInitialize Round179049532022-07-18 10:34:3721 days 5 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.0000989681 ETH
0xc910f8679defb392cdef954338aa2d4d7ec733be5ed629cec499df662c03e63bInitialize Round178324802022-07-17 13:09:1822 days 3 hrs ago0x2d72a1c2cee244e7d996ffe0f2cf491f7475804a IN  Livepeer: Proxy Rounds Manager0 ETH0.000073996949 ETH
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xa94b67c8d2e75b3514f3737f5fd7a17b79db0ce8e30aba3bb9bbd29668471cdc197346262022-08-08 16:21:397 mins ago Livepeer: Proxy Rounds Manager Livepeer: Target Rounds Manager0 ETH
0xa94b67c8d2e75b3514f3737f5fd7a17b79db0ce8e30aba3bb9bbd29668471cdc197346262022-08-08 16:21:397 mins ago Livepeer: Proxy Rounds Manager Livepeer: Controller0 ETH
0xa94b67c8d2e75b3514f3737f5fd7a17b79db0ce8e30aba3bb9bbd29668471cdc197346262022-08-08 16:21:397 mins ago Livepeer: Proxy Bonding Manager Livepeer: Proxy Rounds Manager0 ETH
0xa94b67c8d2e75b3514f3737f5fd7a17b79db0ce8e30aba3bb9bbd29668471cdc197346262022-08-08 16:21:397 mins ago Livepeer: Proxy Rounds Manager Livepeer: Target Rounds Manager0 ETH
0xa94b67c8d2e75b3514f3737f5fd7a17b79db0ce8e30aba3bb9bbd29668471cdc197346262022-08-08 16:21:397 mins ago Livepeer: Proxy Rounds Manager Livepeer: Controller0 ETH
0xa94b67c8d2e75b3514f3737f5fd7a17b79db0ce8e30aba3bb9bbd29668471cdc197346262022-08-08 16:21:397 mins ago Livepeer: Proxy Bonding Manager Livepeer: Proxy Rounds Manager0 ETH
0x29cd4f00615e64e244f5d87658c84c74b9cb12038efb20f1390b68cfbdfa6f5f197343142022-08-08 16:17:5511 mins ago Livepeer: Proxy Rounds Manager Livepeer: Target Rounds Manager0 ETH
0x29cd4f00615e64e244f5d87658c84c74b9cb12038efb20f1390b68cfbdfa6f5f197343142022-08-08 16:17:5511 mins ago Livepeer: Proxy Rounds Manager Livepeer: Controller0 ETH
0x29cd4f00615e64e244f5d87658c84c74b9cb12038efb20f1390b68cfbdfa6f5f197343142022-08-08 16:17:5511 mins ago Livepeer: Proxy Bonding Manager Livepeer: Proxy Rounds Manager0 ETH
0x29cd4f00615e64e244f5d87658c84c74b9cb12038efb20f1390b68cfbdfa6f5f197343142022-08-08 16:17:5511 mins ago Livepeer: Proxy Rounds Manager Livepeer: Target Rounds Manager0 ETH
0x29cd4f00615e64e244f5d87658c84c74b9cb12038efb20f1390b68cfbdfa6f5f197343142022-08-08 16:17:5511 mins ago Livepeer: Proxy Rounds Manager Livepeer: Controller0 ETH
0x29cd4f00615e64e244f5d87658c84c74b9cb12038efb20f1390b68cfbdfa6f5f197343142022-08-08 16:17:5511 mins ago Livepeer: Proxy Bonding Manager Livepeer: Proxy Rounds Manager0 ETH
0x2f3e422b6020a0dac77a31bc8cc0848326821405ae196f477cfa0280c7f58180197318312022-08-08 15:48:2940 mins ago Livepeer: Proxy Rounds Manager Livepeer: Target Rounds Manager0 ETH
0x2f3e422b6020a0dac77a31bc8cc0848326821405ae196f477cfa0280c7f58180197318312022-08-08 15:48:2940 mins ago Livepeer: Proxy Rounds Manager Livepeer: Controller0 ETH
0x2f3e422b6020a0dac77a31bc8cc0848326821405ae196f477cfa0280c7f58180197318312022-08-08 15:48:2940 mins ago Livepeer: Proxy Bonding Manager Livepeer: Proxy Rounds Manager0 ETH
0x2f3e422b6020a0dac77a31bc8cc0848326821405ae196f477cfa0280c7f58180197318312022-08-08 15:48:2940 mins ago Livepeer: Proxy Rounds Manager Livepeer: Target Rounds Manager0 ETH
0x2f3e422b6020a0dac77a31bc8cc0848326821405ae196f477cfa0280c7f58180197318312022-08-08 15:48:2940 mins ago Livepeer: Proxy Rounds Manager Livepeer: Controller0 ETH
0x2f3e422b6020a0dac77a31bc8cc0848326821405ae196f477cfa0280c7f58180197318312022-08-08 15:48:2940 mins ago Livepeer: Proxy Ticket Broker Livepeer: Proxy Rounds Manager0 ETH
0x2f3e422b6020a0dac77a31bc8cc0848326821405ae196f477cfa0280c7f58180197318312022-08-08 15:48:2940 mins ago Livepeer: Proxy Rounds Manager Livepeer: Target Rounds Manager0 ETH
0x2f3e422b6020a0dac77a31bc8cc0848326821405ae196f477cfa0280c7f58180197318312022-08-08 15:48:2940 mins ago Livepeer: Proxy Rounds Manager Livepeer: Controller0 ETH
0x2f3e422b6020a0dac77a31bc8cc0848326821405ae196f477cfa0280c7f58180197318312022-08-08 15:48:2940 mins ago Livepeer: Proxy Ticket Broker Livepeer: Proxy Rounds Manager0 ETH
0x2f3e422b6020a0dac77a31bc8cc0848326821405ae196f477cfa0280c7f58180197318312022-08-08 15:48:2940 mins ago Livepeer: Proxy Rounds Manager Livepeer: Target Rounds Manager0 ETH
0x2f3e422b6020a0dac77a31bc8cc0848326821405ae196f477cfa0280c7f58180197318312022-08-08 15:48:2940 mins ago Livepeer: Proxy Rounds Manager Livepeer: Controller0 ETH
0x2f3e422b6020a0dac77a31bc8cc0848326821405ae196f477cfa0280c7f58180197318312022-08-08 15:48:2940 mins ago Livepeer: Proxy Ticket Broker Livepeer: Proxy Rounds Manager0 ETH
0xf6e50b490d0e679c21369c6cfe592d29fa2154866cc1315fbe0d38ff451f4cba197293292022-08-08 15:20:181 hr 8 mins ago Livepeer: Proxy Bonding Manager Livepeer: Proxy Rounds Manager0 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
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.