ETH Price: $2,254.97 (-4.35%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Cancel Lpt Sell ...87266472019-10-12 12:08:422306 days ago1570882122IN
0xd43FF561...4b791df32
0 ETH0.000019610.500001
Cancel Lpt Sell ...87266432019-10-12 12:07:352306 days ago1570882055IN
0xd43FF561...4b791df32
0 ETH0.000031730.500001
Create Lpt Sell ...86524132019-09-30 21:13:252317 days ago1569878005IN
0xd43FF561...4b791df32
0 ETH0.00052534.00001
Cancel Lpt Sell ...85440152019-09-13 22:48:372334 days ago1568414917IN
0xd43FF561...4b791df32
0 ETH0.000388459.90001
Create Lpt Sell ...84987962019-09-06 21:23:292341 days ago1567805009IN
0xd43FF561...4b791df32
0 ETH0.000446723.400001
Cancel Lpt Sell ...82902232019-08-05 10:52:212374 days ago1565002341IN
0xd43FF561...4b791df32
0 ETH0.000043161.1000001
Create Lpt Sell ...82789772019-08-03 17:14:332375 days ago1564852473IN
0xd43FF561...4b791df32
0 ETH0.000197171.5
Cancel Lpt Sell ...81884742019-07-20 15:46:412390 days ago1563637601IN
0xd43FF561...4b791df32
0 ETH0.000039231.0000001
Create Lpt Sell ...81754252019-07-18 15:13:432392 days ago1563462823IN
0xd43FF561...4b791df32
0 ETH0.000328632.50000001
Cancel Lpt Sell ...81754012019-07-18 15:08:062392 days ago1563462486IN
0xd43FF561...4b791df32
0 ETH0.000098092.5
Create Lpt Sell ...81745652019-07-18 12:03:592392 days ago1563451439IN
0xd43FF561...4b791df32
0 ETH0.000131451
Cancel Lpt Sell ...81199102019-07-09 23:06:342400 days ago1562713594IN
0xd43FF561...4b791df32
0 ETH0.000039231.00001
Cancel Lpt Sell ...81199102019-07-09 23:06:342400 days ago1562713594IN
0xd43FF561...4b791df32
0 ETH0.000039231.00001
Create Lpt Sell ...80872942019-07-04 21:42:052405 days ago1562276525IN
0xd43FF561...4b791df32
0 ETH0.000128021.100001
Create Lpt Sell ...80872662019-07-04 21:33:562405 days ago1562276036IN
0xd43FF561...4b791df32
0 ETH0.000144591.100001
Cancel Lpt Sell ...80227412019-06-24 19:56:122415 days ago1561406172IN
0xd43FF561...4b791df32
0 ETH0.000039231
Create Lpt Sell ...80091502019-06-22 17:03:562417 days ago1561223036IN
0xd43FF561...4b791df32
0 ETH0.000131381
Cancel Lpt Sell ...80072312019-06-22 10:06:592418 days ago1561198019IN
0xd43FF561...4b791df32
0 ETH0.000039231
Create Lpt Sell ...79893062019-06-19 14:35:402421 days ago1560954940IN
0xd43FF561...4b791df32
0 ETH0.000328632.5
Cancel Lpt Sell ...79775212019-06-17 18:27:442422 days ago1560796064IN
0xd43FF561...4b791df32
0 ETH0.000078472
Create Lpt Sell ...79760162019-06-17 12:54:422423 days ago1560776082IN
0xd43FF561...4b791df32
0 ETH0.0026290620
Cancel Lpt Sell ...79760072019-06-17 12:52:212423 days ago1560775941IN
0xd43FF561...4b791df32
0 ETH0.0007847620
Create Lpt Sell ...79750472019-06-17 9:10:492423 days ago1560762649IN
0xd43FF561...4b791df32
0 ETH0.0013145310
Cancel Lpt Sell ...79497102019-06-13 10:02:472427 days ago1560420167IN
0xd43FF561...4b791df32
0 ETH0.000043161.1
Fulfill Sell Ord...79442812019-06-12 13:46:082428 days ago1560347168IN
0xd43FF561...4b791df32
0 ETH0.000296675
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LptOrderBook

Compiler Version
v0.5.7+commit.6da8b019

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2019-05-15
*/

pragma solidity ^0.5.2;

/**
 * @title ERC20 interface
 * @dev see https://eips.ethereum.org/EIPS/eip-20
 */
interface IERC20 {
    function transfer(address to, uint256 value) external returns (bool);

    function approve(address spender, uint256 value) external returns (bool);

    function transferFrom(address from, address to, uint256 value) external returns (bool);

    function totalSupply() external view returns (uint256);

    function balanceOf(address who) external view returns (uint256);

    function allowance(address owner, address spender) external view returns (uint256);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

// File: openzeppelin-solidity/contracts/math/SafeMath.sol

pragma solidity ^0.5.2;

/**
 * @title SafeMath
 * @dev Unsigned math operations with safety checks that revert on error
 */
library SafeMath {
    /**
     * @dev Multiplies two unsigned integers, reverts on overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b);

        return c;
    }

    /**
     * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Adds two unsigned integers, reverts on overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);

        return c;
    }

    /**
     * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),
     * reverts when dividing by zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0);
        return a % b;
    }
}

// File: contracts/livepeerInterface/IController.sol

pragma solidity ^0.5.7;

contract IController  {
    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/livepeerInterface/IBondingManager.sol

pragma solidity ^0.5.1;

contract IBondingManager {

    function unbondingPeriod() public view returns (uint64);

}

// File: contracts/livepeerInterface/IRoundsManager.sol

pragma solidity ^0.5.1;

contract IRoundsManager {

    function roundLength() public view returns (uint256);

}

// File: contracts/LptOrderBook.sol

pragma solidity ^0.5.7;






contract LptOrderBook {

    using SafeMath for uint256;

    address private constant ZERO_ADDRESS = address(0);

    string internal constant ERROR_SELL_ORDER_COMMITTED_TO = "LPT_ORDER_SELL_ORDER_COMMITTED_TO";
    string internal constant ERROR_SELL_ORDER_NOT_COMMITTED_TO = "LPT_ORDER_SELL_ORDER_NOT_COMMITTED_TO";
    string internal constant ERROR_INITIALISED_ORDER = "LPT_ORDER_INITIALISED_ORDER";
    string internal constant ERROR_UNINITIALISED_ORDER = "LPT_ORDER_UNINITIALISED_ORDER";
    string internal constant ERROR_COMMITMENT_WITHIN_UNBONDING_PERIOD = "LPT_ORDER_COMMITMENT_WITHIN_UNBONDING_PERIOD";
    string internal constant ERROR_NOT_BUYER = "LPT_ORDER_NOT_BUYER";
    string internal constant ERROR_STILL_WITHIN_LOCK_PERIOD = "LPT_ORDER_STILL_WITHIN_LOCK_PERIOD";

    struct LptSellOrder {
        uint256 lptSellValue;
        uint256 daiPaymentValue;
        uint256 daiCollateralValue;
        uint256 deliveredByBlock;
        address buyerAddress;
    }

    IController livepeerController;
    IERC20 daiToken;
    mapping(address => LptSellOrder) public lptSellOrders; // One sell order per address for simplicity

    constructor(address _livepeerController, address _daiToken) public {
        livepeerController = IController(_livepeerController);
        daiToken = IERC20(_daiToken);
    }

    /*
    * @notice Create an LPT sell order, requires approval for this contract to spend _daiCollateralValue amount of DAI.
    * @param _lptSellValue Value of LPT to sell
    * @param _daiPaymentValue Value required in exchange for LPT
    * @param _daiCollateralValue Value of collateral
    * @param _deliveredByBlock Order filled or cancelled by this block or the collateral can be claimed
    */
    function createLptSellOrder(uint256 _lptSellValue, uint256 _daiPaymentValue, uint256 _daiCollateralValue, uint256 _deliveredByBlock) public {
        LptSellOrder storage lptSellOrder = lptSellOrders[msg.sender];

        require(lptSellOrder.daiCollateralValue == 0, ERROR_INITIALISED_ORDER);

        daiToken.transferFrom(msg.sender, address(this), _daiCollateralValue);

        lptSellOrders[msg.sender] = LptSellOrder(_lptSellValue, _daiPaymentValue, _daiCollateralValue, _deliveredByBlock, ZERO_ADDRESS);
    }

    /*
    * @notice Cancel an LPT sell order, must be executed by the sell order creator.
    */
    function cancelLptSellOrder() public {
        LptSellOrder storage lptSellOrder = lptSellOrders[msg.sender];

        require(lptSellOrder.buyerAddress == ZERO_ADDRESS, ERROR_SELL_ORDER_COMMITTED_TO);

        daiToken.transfer(msg.sender, lptSellOrder.daiCollateralValue);
        delete lptSellOrders[msg.sender];
    }

    /*
    * @notice Commit to buy LPT, requires approval for this contract to spend the payment amount in DAI.
    * @param _sellOrderCreator Address of sell order creator
    */
    function commitToBuyLpt(address _sellOrderCreator) public {
        LptSellOrder storage lptSellOrder = lptSellOrders[_sellOrderCreator];

        require(lptSellOrder.lptSellValue > 0, ERROR_UNINITIALISED_ORDER);
        require(lptSellOrder.buyerAddress == ZERO_ADDRESS, ERROR_SELL_ORDER_COMMITTED_TO);
        require(lptSellOrder.deliveredByBlock.sub(_getUnbondingPeriodLength()) > block.number, ERROR_COMMITMENT_WITHIN_UNBONDING_PERIOD);

        daiToken.transferFrom(msg.sender, address(this), lptSellOrder.daiPaymentValue);

        lptSellOrder.buyerAddress = msg.sender;
    }

    /*
    * @notice Claim collateral and payment after a sell order has been committed to but it hasn't been delivered by
    *         the block number specified.
    * @param _sellOrderCreator Address of sell order creator
    */
    function claimCollateralAndPayment(address _sellOrderCreator) public {
        LptSellOrder storage lptSellOrder = lptSellOrders[_sellOrderCreator];

        require(lptSellOrder.buyerAddress == msg.sender, ERROR_NOT_BUYER);
        require(lptSellOrder.deliveredByBlock < block.number, ERROR_STILL_WITHIN_LOCK_PERIOD);

        uint256 totalValue = lptSellOrder.daiPaymentValue.add(lptSellOrder.daiCollateralValue);
        daiToken.transfer(msg.sender, totalValue);
    }

    /*
    * @notice Fulfill sell order, requires approval for this contract spend the orders LPT value from the seller.
    *         Returns the collateral and payment to the LPT seller.
    */
    function fulfillSellOrder() public {
        LptSellOrder storage lptSellOrder = lptSellOrders[msg.sender];

        require(lptSellOrder.buyerAddress != ZERO_ADDRESS, ERROR_SELL_ORDER_NOT_COMMITTED_TO);

        IERC20 livepeerToken = IERC20(_getLivepeerContractAddress("LivepeerToken"));livepeerToken.transferFrom(msg.sender, lptSellOrder.buyerAddress, lptSellOrder.lptSellValue);

        uint256 totalValue = lptSellOrder.daiPaymentValue.add(lptSellOrder.daiCollateralValue);
        daiToken.transfer(msg.sender, totalValue);

        delete lptSellOrders[msg.sender];
    }

    function _getLivepeerContractAddress(string memory _livepeerContract) internal view returns (address) {
        bytes32 contractId = keccak256(abi.encodePacked(_livepeerContract));
        return livepeerController.getContract(contractId);
    }

    function _getUnbondingPeriodLength() internal view returns (uint256) {
        IBondingManager bondingManager = IBondingManager(_getLivepeerContractAddress("BondingManager"));
        uint64 unbondingPeriodRounds = bondingManager.unbondingPeriod();

        IRoundsManager roundsManager = IRoundsManager(_getLivepeerContractAddress("RoundsManager"));
        uint256 roundLength = roundsManager.roundLength();

        return roundLength.mul(unbondingPeriodRounds);
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"_sellOrderCreator","type":"address"}],"name":"commitToBuyLpt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"fulfillSellOrder","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lptSellOrders","outputs":[{"name":"lptSellValue","type":"uint256"},{"name":"daiPaymentValue","type":"uint256"},{"name":"daiCollateralValue","type":"uint256"},{"name":"deliveredByBlock","type":"uint256"},{"name":"buyerAddress","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sellOrderCreator","type":"address"}],"name":"claimCollateralAndPayment","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_lptSellValue","type":"uint256"},{"name":"_daiPaymentValue","type":"uint256"},{"name":"_daiCollateralValue","type":"uint256"},{"name":"_deliveredByBlock","type":"uint256"}],"name":"createLptSellOrder","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"cancelLptSellOrder","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_livepeerController","type":"address"},{"name":"_daiToken","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]

608060405234801561001057600080fd5b50604051604080610f008339810180604052604081101561003057600080fd5b508051602090910151600080546001600160a01b039384166001600160a01b03199182161790915560018054939092169216919091179055610e89806100776000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631d30393d146100675780633e318d911461008f578063418160d01461009757806398c9f86e146100f1578063a84bacd414610117578063aded99f414610146575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b031661014e565b005b61008d6103d3565b6100bd600480360360208110156100ad57600080fd5b50356001600160a01b0316610619565b6040805195865260208601949094528484019290925260608401526001600160a01b03166080830152519081900360a00190f35b61008d6004803603602081101561010757600080fd5b50356001600160a01b0316610651565b61008d6004803603608081101561012d57600080fd5b5080359060208101359060408101359060600135610812565b61008d6109b1565b6001600160a01b03811660009081526002602090815260409182902080548351808501909452601d84527f4c50545f4f524445525f554e494e495449414c495345445f4f5244455200000092840192909252919061022d57604051600160e51b62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156101f25781810151838201526020016101da565b50505050905090810190601f16801561021f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506004810154604080516060810190915260218082526001600160a01b039092161591610e116020830139906102a757604051600160e51b62461bcd0281526020600482018181528351602484015283519092839260449091019190850190808383600083156101f25781810151838201526020016101da565b50436102c56102b4610b05565b60038401549063ffffffff610c8016565b116040518060600160405280602c8152602001610e32602c91399061032e57604051600160e51b62461bcd0281526020600482018181528351602484015283519092839260449091019190850190808383600083156101f25781810151838201526020016101da565b50600180549082015460408051600160e01b6323b872dd0281523360048201523060248201526044810192909252516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561039157600080fd5b505af11580156103a5573d6000803e3d6000fd5b505050506040513d60208110156103bb57600080fd5b505060040180546001600160a01b0319163317905550565b336000908152600260209081526040918290206004810154835160608101909452602580855291936001600160a01b03909116151592909190610dca908301399061046257604051600160e51b62461bcd0281526020600482018181528351602484015283519092839260449091019190850190808383600083156101f25781810151838201526020016101da565b5060006104a36040518060400160405280600d81526020017f4c69766570656572546f6b656e00000000000000000000000000000000000000815250610c9a565b600480840154845460408051600160e01b6323b872dd02815233948101949094526001600160a01b0392831660248501526044840191909152519293508316916323b872dd916064808201926020929091908290030181600087803b15801561050b57600080fd5b505af115801561051f573d6000803e3d6000fd5b505050506040513d602081101561053557600080fd5b505060028201546001830154600091610554919063ffffffff610d8916565b60015460408051600160e01b63a9059cbb0281523360048201526024810184905290519293506001600160a01b039091169163a9059cbb916044808201926020929091908290030181600087803b1580156105ae57600080fd5b505af11580156105c2573d6000803e3d6000fd5b505050506040513d60208110156105d857600080fd5b5050336000908152600260208190526040822082815560018101839055908101829055600381019190915560040180546001600160a01b0319169055505050565b60026020819052600091825260409091208054600182015492820154600383015460049093015491939290916001600160a01b031685565b6001600160a01b0380821660009081526002602090815260409182902060048101548351808501909452601384527f4c50545f4f524445525f4e4f545f42555945520000000000000000000000000092840192909252921633146106f957604051600160e51b62461bcd0281526020600482018181528351602484015283519092839260449091019190850190808383600083156101f25781810151838201526020016101da565b5043816003015410604051806060016040528060228152602001610def602291399061076957604051600160e51b62461bcd0281526020600482018181528351602484015283519092839260449091019190850190808383600083156101f25781810151838201526020016101da565b50600061078782600201548360010154610d8990919063ffffffff16565b60015460408051600160e01b63a9059cbb0281523360048201526024810184905290519293506001600160a01b039091169163a9059cbb916044808201926020929091908290030181600087803b1580156107e157600080fd5b505af11580156107f5573d6000803e3d6000fd5b505050506040513d602081101561080b57600080fd5b5050505050565b33600090815260026020818152604092839020918201548351808501909452601b84527f4c50545f4f524445525f494e495449414c495345445f4f52444552000000000091840191909152909190156108af57604051600160e51b62461bcd0281526020600482018181528351602484015283519092839260449091019190850190808383600083156101f25781810151838201526020016101da565b5060015460408051600160e01b6323b872dd0281523360048201523060248201526044810186905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561090d57600080fd5b505af1158015610921573d6000803e3d6000fd5b505050506040513d602081101561093757600080fd5b50506040805160a081018252958652602080870195865286820194855260608701938452600060808801818152338252600292839052929020965187559451600187015592519385019390935551600384015551600490920180546001600160a01b0319166001600160a01b039093169290921790915550565b336000908152600260209081526040918290206004810154835160608101909452602180855291936001600160a01b039091161592909190610e119083013990610a3f57604051600160e51b62461bcd0281526020600482018181528351602484015283519092839260449091019190850190808383600083156101f25781810151838201526020016101da565b50600154600282015460408051600160e01b63a9059cbb0281523360048201526024810192909252516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610a9c57600080fd5b505af1158015610ab0573d6000803e3d6000fd5b505050506040513d6020811015610ac657600080fd5b5050336000908152600260208190526040822082815560018101839055908101829055600381019190915560040180546001600160a01b031916905550565b600080610b466040518060400160405280600e81526020017f426f6e64696e674d616e61676572000000000000000000000000000000000000815250610c9a565b90506000816001600160a01b0316636cf6d6756040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8357600080fd5b505afa158015610b97573d6000803e3d6000fd5b505050506040513d6020811015610bad57600080fd5b505160408051808201909152600d81527f526f756e64734d616e61676572000000000000000000000000000000000000006020820152909150600090610bf290610c9a565b90506000816001600160a01b0316638b649b946040518163ffffffff1660e01b815260040160206040518083038186803b158015610c2f57600080fd5b505afa158015610c43573d6000803e3d6000fd5b505050506040513d6020811015610c5957600080fd5b50519050610c778167ffffffffffffffff851663ffffffff610da216565b94505050505090565b600082821115610c8f57600080fd5b508082035b92915050565b600080826040516020018082805190602001908083835b60208310610cd05780518252601f199092019160209182019101610cb1565b51815160209384036101000a60001901801990921691161790526040805192909401828103601f19018352808552825192820192909220600054600160e31b631c2d8fb30284526004840182905294519097506001600160a01b03909416955063e16c7d9894506024808301949193509091829003018186803b158015610d5657600080fd5b505afa158015610d6a573d6000803e3d6000fd5b505050506040513d6020811015610d8057600080fd5b50519392505050565b600082820183811015610d9b57600080fd5b9392505050565b600082610db157506000610c94565b82820282848281610dbe57fe5b0414610d9b57600080fdfe4c50545f4f524445525f53454c4c5f4f524445525f4e4f545f434f4d4d49545445445f544f4c50545f4f524445525f5354494c4c5f57495448494e5f4c4f434b5f504552494f444c50545f4f524445525f53454c4c5f4f524445525f434f4d4d49545445445f544f4c50545f4f524445525f434f4d4d49544d454e545f57495448494e5f554e424f4e44494e475f504552494f44a165627a7a723058200eb5a4991cfae82ac488bf26852a2f7408ef5fb3cf145a506feadd3c0fa40e8a0029000000000000000000000000f96d54e490317c557a967abfa5d6e33006be69b300000000000000000000000089d24a6b4ccb1b6faa2625fe562bdd9a23260359

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100625760003560e01c80631d30393d146100675780633e318d911461008f578063418160d01461009757806398c9f86e146100f1578063a84bacd414610117578063aded99f414610146575b600080fd5b61008d6004803603602081101561007d57600080fd5b50356001600160a01b031661014e565b005b61008d6103d3565b6100bd600480360360208110156100ad57600080fd5b50356001600160a01b0316610619565b6040805195865260208601949094528484019290925260608401526001600160a01b03166080830152519081900360a00190f35b61008d6004803603602081101561010757600080fd5b50356001600160a01b0316610651565b61008d6004803603608081101561012d57600080fd5b5080359060208101359060408101359060600135610812565b61008d6109b1565b6001600160a01b03811660009081526002602090815260409182902080548351808501909452601d84527f4c50545f4f524445525f554e494e495449414c495345445f4f5244455200000092840192909252919061022d57604051600160e51b62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156101f25781810151838201526020016101da565b50505050905090810190601f16801561021f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506004810154604080516060810190915260218082526001600160a01b039092161591610e116020830139906102a757604051600160e51b62461bcd0281526020600482018181528351602484015283519092839260449091019190850190808383600083156101f25781810151838201526020016101da565b50436102c56102b4610b05565b60038401549063ffffffff610c8016565b116040518060600160405280602c8152602001610e32602c91399061032e57604051600160e51b62461bcd0281526020600482018181528351602484015283519092839260449091019190850190808383600083156101f25781810151838201526020016101da565b50600180549082015460408051600160e01b6323b872dd0281523360048201523060248201526044810192909252516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561039157600080fd5b505af11580156103a5573d6000803e3d6000fd5b505050506040513d60208110156103bb57600080fd5b505060040180546001600160a01b0319163317905550565b336000908152600260209081526040918290206004810154835160608101909452602580855291936001600160a01b03909116151592909190610dca908301399061046257604051600160e51b62461bcd0281526020600482018181528351602484015283519092839260449091019190850190808383600083156101f25781810151838201526020016101da565b5060006104a36040518060400160405280600d81526020017f4c69766570656572546f6b656e00000000000000000000000000000000000000815250610c9a565b600480840154845460408051600160e01b6323b872dd02815233948101949094526001600160a01b0392831660248501526044840191909152519293508316916323b872dd916064808201926020929091908290030181600087803b15801561050b57600080fd5b505af115801561051f573d6000803e3d6000fd5b505050506040513d602081101561053557600080fd5b505060028201546001830154600091610554919063ffffffff610d8916565b60015460408051600160e01b63a9059cbb0281523360048201526024810184905290519293506001600160a01b039091169163a9059cbb916044808201926020929091908290030181600087803b1580156105ae57600080fd5b505af11580156105c2573d6000803e3d6000fd5b505050506040513d60208110156105d857600080fd5b5050336000908152600260208190526040822082815560018101839055908101829055600381019190915560040180546001600160a01b0319169055505050565b60026020819052600091825260409091208054600182015492820154600383015460049093015491939290916001600160a01b031685565b6001600160a01b0380821660009081526002602090815260409182902060048101548351808501909452601384527f4c50545f4f524445525f4e4f545f42555945520000000000000000000000000092840192909252921633146106f957604051600160e51b62461bcd0281526020600482018181528351602484015283519092839260449091019190850190808383600083156101f25781810151838201526020016101da565b5043816003015410604051806060016040528060228152602001610def602291399061076957604051600160e51b62461bcd0281526020600482018181528351602484015283519092839260449091019190850190808383600083156101f25781810151838201526020016101da565b50600061078782600201548360010154610d8990919063ffffffff16565b60015460408051600160e01b63a9059cbb0281523360048201526024810184905290519293506001600160a01b039091169163a9059cbb916044808201926020929091908290030181600087803b1580156107e157600080fd5b505af11580156107f5573d6000803e3d6000fd5b505050506040513d602081101561080b57600080fd5b5050505050565b33600090815260026020818152604092839020918201548351808501909452601b84527f4c50545f4f524445525f494e495449414c495345445f4f52444552000000000091840191909152909190156108af57604051600160e51b62461bcd0281526020600482018181528351602484015283519092839260449091019190850190808383600083156101f25781810151838201526020016101da565b5060015460408051600160e01b6323b872dd0281523360048201523060248201526044810186905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561090d57600080fd5b505af1158015610921573d6000803e3d6000fd5b505050506040513d602081101561093757600080fd5b50506040805160a081018252958652602080870195865286820194855260608701938452600060808801818152338252600292839052929020965187559451600187015592519385019390935551600384015551600490920180546001600160a01b0319166001600160a01b039093169290921790915550565b336000908152600260209081526040918290206004810154835160608101909452602180855291936001600160a01b039091161592909190610e119083013990610a3f57604051600160e51b62461bcd0281526020600482018181528351602484015283519092839260449091019190850190808383600083156101f25781810151838201526020016101da565b50600154600282015460408051600160e01b63a9059cbb0281523360048201526024810192909252516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610a9c57600080fd5b505af1158015610ab0573d6000803e3d6000fd5b505050506040513d6020811015610ac657600080fd5b5050336000908152600260208190526040822082815560018101839055908101829055600381019190915560040180546001600160a01b031916905550565b600080610b466040518060400160405280600e81526020017f426f6e64696e674d616e61676572000000000000000000000000000000000000815250610c9a565b90506000816001600160a01b0316636cf6d6756040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8357600080fd5b505afa158015610b97573d6000803e3d6000fd5b505050506040513d6020811015610bad57600080fd5b505160408051808201909152600d81527f526f756e64734d616e61676572000000000000000000000000000000000000006020820152909150600090610bf290610c9a565b90506000816001600160a01b0316638b649b946040518163ffffffff1660e01b815260040160206040518083038186803b158015610c2f57600080fd5b505afa158015610c43573d6000803e3d6000fd5b505050506040513d6020811015610c5957600080fd5b50519050610c778167ffffffffffffffff851663ffffffff610da216565b94505050505090565b600082821115610c8f57600080fd5b508082035b92915050565b600080826040516020018082805190602001908083835b60208310610cd05780518252601f199092019160209182019101610cb1565b51815160209384036101000a60001901801990921691161790526040805192909401828103601f19018352808552825192820192909220600054600160e31b631c2d8fb30284526004840182905294519097506001600160a01b03909416955063e16c7d9894506024808301949193509091829003018186803b158015610d5657600080fd5b505afa158015610d6a573d6000803e3d6000fd5b505050506040513d6020811015610d8057600080fd5b50519392505050565b600082820183811015610d9b57600080fd5b9392505050565b600082610db157506000610c94565b82820282848281610dbe57fe5b0414610d9b57600080fdfe4c50545f4f524445525f53454c4c5f4f524445525f4e4f545f434f4d4d49545445445f544f4c50545f4f524445525f5354494c4c5f57495448494e5f4c4f434b5f504552494f444c50545f4f524445525f53454c4c5f4f524445525f434f4d4d49545445445f544f4c50545f4f524445525f434f4d4d49544d454e545f57495448494e5f554e424f4e44494e475f504552494f44a165627a7a723058200eb5a4991cfae82ac488bf26852a2f7408ef5fb3cf145a506feadd3c0fa40e8a0029

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

000000000000000000000000f96d54e490317c557a967abfa5d6e33006be69b300000000000000000000000089d24a6b4ccb1b6faa2625fe562bdd9a23260359

-----Decoded View---------------
Arg [0] : _livepeerController (address): 0xF96D54E490317c557A967ABfA5d6e33006BE69b3
Arg [1] : _daiToken (address): 0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359

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


Deployed Bytecode Sourcemap

3669:5793:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3669:5793:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6595:596;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6595:596:0;-1:-1:-1;;;;;6595:596:0;;:::i;:::-;;8126:590;;;:::i;4736:53::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4736:53:0;-1:-1:-1;;;;;4736:53:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4736:53:0;;;;;;;;;;;;;;7437:481;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7437:481:0;-1:-1:-1;;;;;7437:481:0;;:::i;5440:525::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;5440:525:0;;;;;;;;;;;;;;;;;:::i;6074:329::-;;;:::i;6595:596::-;-1:-1:-1;;;;;6700:32:0;;6664:33;6700:32;;;:13;:32;;;;;;;;;6753:25;;6784;;;;;;;;;;;;;;;;;;;6700:32;6784:25;6745:65;;;;-1:-1:-1;;;;;6745:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6745:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6829:25:0;;;;6872:29;;;;;;;;;;;;;-1:-1:-1;;;;;6829:25:0;;;:41;;6872:29;;;;;6821:81;;;;;-1:-1:-1;;;;;6821:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6821:81:0;;6986:12;6921:62;6955:27;:25;:27::i;:::-;6921:29;;;;;:62;:33;:62;:::i;:::-;:77;7000:40;;;;;;;;;;;;;;;;;6913:128;;;;;-1:-1:-1;;;;;6913:128:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6913:128:0;-1:-1:-1;7054:8:0;;;7103:28;;;;7054:78;;;-1:-1:-1;;;;;7054:78:0;;7076:10;7054:78;;;;7096:4;7054:78;;;;;;;;;;;;-1:-1:-1;;;;;7054:8:0;;;;:21;;:78;;;;;;;;;;;;;;;:8;;:78;;;5:2:-1;;;;30:1;27;20:12;5:2;7054:78:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7054:78:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;7145:25:0;;:38;;-1:-1:-1;;;;;;7145:38:0;7173:10;7145:38;;;-1:-1:-1;6595:596:0:o;8126:590::-;8222:10;8172:33;8208:25;;;:13;:25;;;;;;;;;8254;;;;8297:33;;;;;;;;;;;;8208:25;;-1:-1:-1;;;;;8254:25:0;;;:41;;;8297:33;;;;;;;;8246:85;;;;;-1:-1:-1;;;;;8246:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;8246:85:0;;8344:20;8374:44;;;;;;;;;;;;;;;;;;:27;:44::i;:::-;8459:25;;;;;8486;;8420:92;;;-1:-1:-1;;;;;8420:92:0;;8447:10;8420:92;;;;;;;-1:-1:-1;;;;;8459:25:0;;;8420:92;;;;;;;;;;;;8344:75;;-1:-1:-1;8420:26:0;;;;;:92;;;;;;;;;;;;;;;8459:25;8420:26;:92;;;5:2:-1;;;;30:1;27;20:12;5:2;8420:92:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8420:92:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;8579:31:0;;;;8546:28;;;;8525:18;;8546:65;;:28;:65;:32;:65;:::i;:::-;8622:8;;:41;;;-1:-1:-1;;;;;8622:41:0;;8640:10;8622:41;;;;;;;;;;;;8525:86;;-1:-1:-1;;;;;;8622:8:0;;;;:17;;:41;;;;;;;;;;;;;;;:8;;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;8622:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8622:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;8697:10:0;8683:25;;;;:13;8622:41;8683:25;;;;;;8676:32;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8676:32:0;;;-1:-1:-1;;;8126:590:0:o;4736:53::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4736:53:0;;:::o;7437:481::-;-1:-1:-1;;;;;7553:32:0;;;7517:33;7553:32;;;:13;:32;;;;;;;;;7606:25;;;;7647:15;;;;;;;;;;;;;;;;;;;7553:32;7606:25;7635:10;7606:39;7598:65;;;;-1:-1:-1;;;;;7598:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7598:65:0;;7714:12;7682;:29;;;:44;7728:30;;;;;;;;;;;;;;;;;7674:85;;;;;-1:-1:-1;;;;;7674:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;7674:85:0;;7772:18;7793:65;7826:12;:31;;;7793:12;:28;;;:32;;:65;;;;:::i;:::-;7869:8;;:41;;;-1:-1:-1;;;;;7869:41:0;;7887:10;7869:41;;;;;;;;;;;;7772:86;;-1:-1:-1;;;;;;7869:8:0;;;;:17;;:41;;;;;;;;;;;;;;;:8;;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;7869:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7869:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;7437:481:0:o;5440:525::-;5641:10;5591:33;5627:25;;;:13;:25;;;;;;;;;5673:31;;;;5711:23;;;;;;;;;;;;;;;;;;;5627:25;;5711:23;5673:36;5665:70;;;;-1:-1:-1;;;;;5665:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5665:70:0;-1:-1:-1;5748:8:0;;:69;;;-1:-1:-1;;;;;5748:69:0;;5770:10;5748:69;;;;5790:4;5748:69;;;;;;;;;;;;-1:-1:-1;;;;;5748:8:0;;;;:21;;:69;;;;;;;;;;;;;;;:8;;:69;;;5:2:-1;;;;30:1;27;20:12;5:2;5748:69:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5748:69:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;5858:99:0;;;;;;;;;;;5748:69;5858:99;;;;;;;;;;;;;;;;;;-1:-1:-1;5858:99:0;;;;;;5844:10;5830:25;;:13;:25;;;;;;;:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5830:127:0;-1:-1:-1;;;;;5830:127:0;;;;;;;;;;-1:-1:-1;5440:525:0:o;6074:329::-;6172:10;6122:33;6158:25;;;:13;:25;;;;;;;;;6204;;;;6247:29;;;;;;;;;;;;6158:25;;-1:-1:-1;;;;;6204:25:0;;;:41;;6247:29;;;;;;;;6196:81;;;;;-1:-1:-1;;;;;6196:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;6196:81:0;-1:-1:-1;6290:8:0;;6320:31;;;;6290:62;;;-1:-1:-1;;;;;6290:62:0;;6308:10;6290:62;;;;;;;;;;;;-1:-1:-1;;;;;6290:8:0;;;;:17;;:62;;;;;;;;;;;;;;;:8;;:62;;;5:2:-1;;;;30:1;27;20:12;5:2;6290:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6290:62:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;6384:10:0;6370:25;;;;:13;6290:62;6370:25;;;;;;6363:32;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6363:32:0;;;-1:-1:-1;6074:329:0:o;8980:479::-;9040:7;9060:30;9109:45;;;;;;;;;;;;;;;;;;:27;:45::i;:::-;9060:95;;9166:28;9197:14;-1:-1:-1;;;;;9197:30:0;;:32;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9197:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9197:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9197:32:0;9288:44;;;;;;;;;;;;;9197:32;9288:44;;;9197:32;;-1:-1:-1;9242:28:0;;9288:44;;:27;:44::i;:::-;9242:91;;9344:19;9366:13;-1:-1:-1;;;;;9366:25:0;;:27;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9366:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9366:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9366:27:0;;-1:-1:-1;9413:38:0;9366:27;9413:38;;;;:15;:38;:::i;:::-;9406:45;;;;;;8980:479;:::o;2095:150::-;2153:7;2186:1;2181;:6;;2173:15;;;;;;-1:-1:-1;2211:5:0;;;2095:150;;;;;:::o;8724:248::-;8817:7;8837:18;8885:17;8868:35;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;8868:35:0;;;;;;;26:21:-1;;;-1:-1;;22:32;6:49;;8868:35:0;;;8858:46;;;;;;;;;-1:-1:-1;8922:18:0;-1:-1:-1;;;;;8922:42:0;;;;;;;;;;8858:46;;-1:-1:-1;;;;;;8922:18:0;;;;-1:-1:-1;8922:30:0;;-1:-1:-1;8922:42:0;;;;;263:2:-1;;-1:-1;8922:42:0;;;;;;;:18;:42;;;5:2:-1;;;;30:1;27;20:12;5:2;8922:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8922:42:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8922:42:0;;8724:248;-1:-1:-1;;;8724:248:0:o;2333:150::-;2391:7;2423:5;;;2447:6;;;;2439:15;;;;;;2474:1;2333:150;-1:-1:-1;;;2333:150:0:o;1086:433::-;1144:7;1388:6;1384:47;;-1:-1:-1;1418:1:0;1411:8;;1384:47;1455:5;;;1459:1;1455;:5;:1;1479:5;;;;;:10;1471:19;;;;

Swarm Source

bzzr://0eb5a4991cfae82ac488bf26852a2f7408ef5fb3cf145a506feadd3c0fa40e8a

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.