ETH Price: $2,608.50 (-2.29%)
Gas: 1 Gwei

Contract

0x5b1cE829384EeBFa30286F12d1E7A695ca45F5D2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0xb066a2566cf6a4ab9e7fade1059d1717798c4d4a2c7eee41ee90387ea9c945a7 Redeem Winning T...(pending)2024-08-06 9:49:243 days ago1722937764IN
Livepeer: Proxy Ticket Broker
0 ETH(Pending)(Pending)
0x82aaa3c1c02fae727619bc6a89579bf1204f904412447d432310d02477f9fa5c Redeem Winning T...(pending)2024-08-04 20:29:515 days ago1722803391IN
Livepeer: Proxy Ticket Broker
0 ETH(Pending)(Pending)
Redeem Winning T...142045422022-02-14 13:27:40907 days ago1644845260IN
Livepeer: Proxy Ticket Broker
0 ETH0.0166651874.15316778
Redeem Winning T...142043162022-02-14 12:36:47907 days ago1644842207IN
Livepeer: Proxy Ticket Broker
0 ETH0.014556456.20080613
Redeem Winning T...142012992022-02-14 1:36:29908 days ago1644802589IN
Livepeer: Proxy Ticket Broker
0 ETH0.0119125346.00837159
Redeem Winning T...142012582022-02-14 1:26:28908 days ago1644801988IN
Livepeer: Proxy Ticket Broker
0 ETH0.0100856738.93739079
Redeem Winning T...141999732022-02-13 20:28:23908 days ago1644784103IN
Livepeer: Proxy Ticket Broker
0 ETH0.022259466.96652062
Redeem Winning T...141965072022-02-13 7:39:49908 days ago1644737989IN
Livepeer: Proxy Ticket Broker
0 ETH0.0068584828.34753358
Redeem Winning T...141947792022-02-13 1:23:50909 days ago1644715430IN
Livepeer: Proxy Ticket Broker
0 ETH0.0082261834.00163705
Redeem Winning T...141931172022-02-12 19:11:53909 days ago1644693113IN
Livepeer: Proxy Ticket Broker
0 ETH0.0228369668.69995408
Redeem Winning T...141912932022-02-12 12:38:31909 days ago1644669511IN
Livepeer: Proxy Ticket Broker
0 ETH0.0157918150.11208064
Fund Deposit And...141883962022-02-12 1:44:29910 days ago1644630269IN
Livepeer: Proxy Ticket Broker
3 ETH0.0039367254.9231425
Redeem Winning T...141867022022-02-11 19:39:09910 days ago1644608349IN
Livepeer: Proxy Ticket Broker
0 ETH0.03444632142.31962057
Redeem Winning T...141858422022-02-11 16:32:08910 days ago1644597128IN
Livepeer: Proxy Ticket Broker
0 ETH0.0309664393.15789953
Redeem Winning T...141844872022-02-11 11:30:33910 days ago1644579033IN
Livepeer: Proxy Ticket Broker
0 ETH0.0142958143.010054
Redeem Winning T...141837662022-02-11 8:51:35910 days ago1644569495IN
Livepeer: Proxy Ticket Broker
0 ETH0.0157007754.17105974
Redeem Winning T...141815322022-02-11 0:24:34911 days ago1644539074IN
Livepeer: Proxy Ticket Broker
0 ETH0.0184085971.06934284
Redeem Winning T...141799962022-02-10 18:43:43911 days ago1644518623IN
Livepeer: Proxy Ticket Broker
0 ETH0.0358581999.99217237
Redeem Winning T...141686352022-02-09 0:28:17913 days ago1644366497IN
Livepeer: Proxy Ticket Broker
0 ETH0.04685393134.0740884
Redeem Winning T...141616042022-02-07 22:12:24914 days ago1644271944IN
Livepeer: Proxy Ticket Broker
0 ETH0.0215504989.0417158
Redeem Winning T...141614222022-02-07 21:34:08914 days ago1644269648IN
Livepeer: Proxy Ticket Broker
0 ETH0.0227808394.15317124
Redeem Winning T...141521912022-02-06 11:20:23915 days ago1644146423IN
Livepeer: Proxy Ticket Broker
0 ETH0.0197394356.50283672
Redeem Winning T...141480202022-02-05 20:03:26916 days ago1644091406IN
Livepeer: Proxy Ticket Broker
0 ETH0.03716052116.59448362
Redeem Winning T...141478972022-02-05 19:34:30916 days ago1644089670IN
Livepeer: Proxy Ticket Broker
0 ETH0.03587314118.53876563
Redeem Winning T...141463372022-02-05 13:44:42916 days ago1644068682IN
Livepeer: Proxy Ticket Broker
0 ETH0.0181781270.17415006
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
141883962022-02-12 1:44:29910 days ago1644630269
Livepeer: Proxy Ticket Broker
3 ETH
141303932022-02-03 2:35:52918 days ago1643855752
Livepeer: Proxy Ticket Broker
3.99 ETH
141278482022-02-02 17:02:16919 days ago1643821336
Livepeer: Proxy Ticket Broker
0.5 ETH
141277062022-02-02 16:31:30919 days ago1643819490
Livepeer: Proxy Ticket Broker
0.3 ETH
141239042022-02-02 2:20:44920 days ago1643768444
Livepeer: Proxy Ticket Broker
1 ETH
140645372022-01-23 22:15:45929 days ago1642976145
Livepeer: Proxy Ticket Broker
5 ETH
140202572022-01-17 2:10:15936 days ago1642385415
Livepeer: Proxy Ticket Broker
5 ETH
139391782022-01-04 13:14:52948 days ago1641302092
Livepeer: Proxy Ticket Broker
6 ETH
138522402021-12-22 2:14:13962 days ago1640139253
Livepeer: Proxy Ticket Broker
5 ETH
137802622021-12-10 23:06:27973 days ago1639177587
Livepeer: Proxy Ticket Broker
4 ETH
136814362021-11-25 4:33:10988 days ago1637814790
Livepeer: Proxy Ticket Broker
5 ETH
136049942021-11-13 2:19:551001 days ago1636769995
Livepeer: Proxy Ticket Broker
5 ETH
135459872021-11-03 20:13:081010 days ago1635970388
Livepeer: Proxy Ticket Broker
2.9 ETH
134708782021-10-23 1:11:061022 days ago1634951466
Livepeer: Proxy Ticket Broker
4 ETH
133977772021-10-11 14:17:031033 days ago1633961823
Livepeer: Proxy Ticket Broker
4.99 ETH
133680592021-10-06 22:21:541038 days ago1633558914
Livepeer: Proxy Ticket Broker
4.99 ETH
133048352021-09-27 1:04:281048 days ago1632704668
Livepeer: Proxy Ticket Broker
4.99 ETH
132990402021-09-26 3:28:211048 days ago1632626901
Livepeer: Proxy Ticket Broker
0.011 ETH
132210342021-09-14 2:03:001061 days ago1631584980
Livepeer: Proxy Ticket Broker
5 ETH
131356722021-08-31 21:10:471074 days ago1630444247
Livepeer: Proxy Ticket Broker
4.99 ETH
129183222021-07-29 3:15:341107 days ago1627528534
Livepeer: Proxy Ticket Broker
5 ETH
129101452021-07-27 20:17:361109 days ago1627417056
Livepeer: Proxy Ticket Broker
0.72 ETH
128419822021-07-17 3:38:161119 days ago1626493096
Livepeer: Proxy Ticket Broker
4 ETH
127711772021-07-06 2:18:291131 days ago1625537909
Livepeer: Proxy Ticket Broker
5 ETH
126975812021-06-24 15:16:311142 days ago1624547791
Livepeer: Proxy Ticket Broker
0.02 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ManagerProxy

Compiler Version
v0.5.11+commit.c082d0b4

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-01-13
*/

// File: contracts/IManager.sol

pragma solidity ^0.5.11;


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

    function setController(address _controller) external;
}

// File: contracts/zeppelin/Ownable.sol

pragma solidity ^0.5.11;


/**
 * @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() public {
        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: contracts/zeppelin/Pausable.sol

pragma solidity ^0.5.11;



/**
 * @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 = false;


    /**
    * @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();
    }
}

// File: contracts/IController.sol

pragma solidity ^0.5.11;



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

    function setContractInfo(bytes32 _id, address _contractAddress, bytes20 _gitCommitHash) external;
    function updateController(bytes32 _id, address _controller) external;
    function getContract(bytes32 _id) public view returns (address);
}

// File: contracts/Manager.sol

pragma solidity ^0.5.11;




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

    // Check if sender is controller
    modifier onlyController() {
        require(msg.sender == address(controller), "caller must be Controller");
        _;
    }

    // Check if sender is controller owner
    modifier onlyControllerOwner() {
        require(msg.sender == controller.owner(), "caller must be Controller owner");
        _;
    }

    // Check if controller is not paused
    modifier whenSystemNotPaused() {
        require(!controller.paused(), "system is paused");
        _;
    }

    // Check if controller is paused
    modifier whenSystemPaused() {
        require(controller.paused(), "system is not paused");
        _;
    }

    constructor(address _controller) public {
        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);
    }
}

// File: contracts/ManagerProxyTarget.sol

pragma solidity ^0.5.11;



/**
 * @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
 */
contract ManagerProxyTarget is Manager {
    // Used to look up target contract address in controller's registry
    bytes32 public targetContractId;
}

// File: contracts/ManagerProxy.sol

pragma solidity ^0.5.11;



/**
 * @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) public Manager(_controller) {
        targetContractId = _targetContractId;
    }

    /**
     * @notice 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() external payable {
        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)
            }
        }
    }
}

Contract Security Audit

Contract ABI

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

608060405234801561001057600080fd5b506040516103423803806103428339818101604052604081101561003357600080fd5b508051602090910151600080546001600160a01b0319166001600160a01b039093169290921782556001556102d490819061006e90396000f3fe6080604052600436106100345760003560e01c806351720b411461012857806392eefe9b1461014f578063f77c479114610184575b6000805460015460408051631c2d8fb360e31b81526004810192909252516001600160a01b039092169163e16c7d9891602480820192602092909190829003018186803b15801561008457600080fd5b505afa158015610098573d6000803e3d6000fd5b505050506040513d60208110156100ae57600080fd5b505190506001600160a01b0381166100f75760405162461bcd60e51b815260040180806020018281038252602281526020018061027e6022913960400191505060405180910390fd5b60408051368101825236600082376000803683865af482513d810184523d6000823e818015610124573d82f35b3d82fd5b34801561013457600080fd5b5061013d6101b5565b60408051918252519081900360200190f35b34801561015b57600080fd5b506101826004803603602081101561017257600080fd5b50356001600160a01b03166101bb565b005b34801561019057600080fd5b5061019961026e565b604080516001600160a01b039092168252519081900360200190f35b60015481565b6000546001600160a01b0316331461021a576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000546001600160a01b03168156fe74617267657420636f6e7472616374206d7573742062652072656769737465726564a265627a7a723158207d6755ba58f18df7224df8cea30bd7ec958d77f46b6a85677a1177ecf3e5f07864736f6c634300050b0032000000000000000000000000f96d54e490317c557a967abfa5d6e33006be69b3f16f832ef171c8058cbd4a32de7d27c32a1a1ad90bb091b4b7f376f1d95ee254

Deployed Bytecode

0x6080604052600436106100345760003560e01c806351720b411461012857806392eefe9b1461014f578063f77c479114610184575b6000805460015460408051631c2d8fb360e31b81526004810192909252516001600160a01b039092169163e16c7d9891602480820192602092909190829003018186803b15801561008457600080fd5b505afa158015610098573d6000803e3d6000fd5b505050506040513d60208110156100ae57600080fd5b505190506001600160a01b0381166100f75760405162461bcd60e51b815260040180806020018281038252602281526020018061027e6022913960400191505060405180910390fd5b60408051368101825236600082376000803683865af482513d810184523d6000823e818015610124573d82f35b3d82fd5b34801561013457600080fd5b5061013d6101b5565b60408051918252519081900360200190f35b34801561015b57600080fd5b506101826004803603602081101561017257600080fd5b50356001600160a01b03166101bb565b005b34801561019057600080fd5b5061019961026e565b604080516001600160a01b039092168252519081900360200190f35b60015481565b6000546001600160a01b0316331461021a576040805162461bcd60e51b815260206004820152601960248201527f63616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000546001600160a01b03168156fe74617267657420636f6e7472616374206d7573742062652072656769737465726564a265627a7a723158207d6755ba58f18df7224df8cea30bd7ec958d77f46b6a85677a1177ecf3e5f07864736f6c634300050b0032

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000f96d54e490317c557a967abfa5d6e33006be69b3f16f832ef171c8058cbd4a32de7d27c32a1a1ad90bb091b4b7f376f1d95ee254

-----Decoded View---------------
Arg [0] : _controller (address): 0xF96D54E490317c557A967ABfA5d6e33006BE69b3
Arg [1] : _targetContractId (bytes32): 0xf16f832ef171c8058cbd4a32de7d27c32a1a1ad90bb091b4b7f376f1d95ee254

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000f96d54e490317c557a967abfa5d6e33006be69b3
Arg [1] : f16f832ef171c8058cbd4a32de7d27c32a1a1ad90bb091b4b7f376f1d95ee254


Deployed Bytecode Sourcemap

6303:3057:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;7412:14;7429:10;;;7452:16;7429:40;;;-1:-1:-1;;;7429:40:0;;;;;;;;;;-1:-1:-1;;;;;7429:10:0;;;;:22;;:40;;;;;;;;;;;;;;;:10;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;7429:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7429:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7429:40:0;;-1:-1:-1;;;;;;7502:20:0;;7480:104;;;;-1:-1:-1;;;7480:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7730:4;7827:21;7821:28;8008:12;7986:20;7982:39;7959:21;7952:70;8158:12;8153:3;8131:20;8118:53;8353:1;8350;8336:12;8314:20;8306:6;8301:3;8288:67;8452:21;8446:28;8637:14;8613:22;8609:43;8586:21;8579:74;8804:14;8799:3;8775:22;8760:59;8842:3;8859:261;;;;9309:14;9285:22;9278:46;8859:261;9090:14;9066:22;9059:46;4852:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4852:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;4012:168;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4012:168:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4012:168:0;-1:-1:-1;;;;;4012:168:0;;:::i;:::-;;3047:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3047:29:0;;;:::i;:::-;;;;-1:-1:-1;;;;;3047:29:0;;;;;;;;;;;;;;4852:31;;;;:::o;4012:168::-;3190:10;;-1:-1:-1;;;;;3190:10:0;3168;:33;3160:71;;;;;-1:-1:-1;;;3160:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4091:10;:37;;-1:-1:-1;;;;;4091:37:0;;-1:-1:-1;;;;;;4091:37:0;;;;;;;;4146:26;;;;;;;;;;;;;;;;4012:168;:::o;3047:29::-;;;-1:-1:-1;;;;;3047:29:0;;:::o

Swarm Source

bzzr://7d6755ba58f18df7224df8cea30bd7ec958d77f46b6a85677a1177ecf3e5f078

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.