Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 91 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Cancel Lpt Sell ... | 8726647 | 2306 days ago | IN | 0 ETH | 0.00001961 | ||||
| Cancel Lpt Sell ... | 8726643 | 2306 days ago | IN | 0 ETH | 0.00003173 | ||||
| Create Lpt Sell ... | 8652413 | 2317 days ago | IN | 0 ETH | 0.0005253 | ||||
| Cancel Lpt Sell ... | 8544015 | 2334 days ago | IN | 0 ETH | 0.00038845 | ||||
| Create Lpt Sell ... | 8498796 | 2341 days ago | IN | 0 ETH | 0.00044672 | ||||
| Cancel Lpt Sell ... | 8290223 | 2374 days ago | IN | 0 ETH | 0.00004316 | ||||
| Create Lpt Sell ... | 8278977 | 2375 days ago | IN | 0 ETH | 0.00019717 | ||||
| Cancel Lpt Sell ... | 8188474 | 2390 days ago | IN | 0 ETH | 0.00003923 | ||||
| Create Lpt Sell ... | 8175425 | 2392 days ago | IN | 0 ETH | 0.00032863 | ||||
| Cancel Lpt Sell ... | 8175401 | 2392 days ago | IN | 0 ETH | 0.00009809 | ||||
| Create Lpt Sell ... | 8174565 | 2392 days ago | IN | 0 ETH | 0.00013145 | ||||
| Cancel Lpt Sell ... | 8119910 | 2400 days ago | IN | 0 ETH | 0.00003923 | ||||
| Cancel Lpt Sell ... | 8119910 | 2400 days ago | IN | 0 ETH | 0.00003923 | ||||
| Create Lpt Sell ... | 8087294 | 2405 days ago | IN | 0 ETH | 0.00012802 | ||||
| Create Lpt Sell ... | 8087266 | 2405 days ago | IN | 0 ETH | 0.00014459 | ||||
| Cancel Lpt Sell ... | 8022741 | 2415 days ago | IN | 0 ETH | 0.00003923 | ||||
| Create Lpt Sell ... | 8009150 | 2417 days ago | IN | 0 ETH | 0.00013138 | ||||
| Cancel Lpt Sell ... | 8007231 | 2418 days ago | IN | 0 ETH | 0.00003923 | ||||
| Create Lpt Sell ... | 7989306 | 2421 days ago | IN | 0 ETH | 0.00032863 | ||||
| Cancel Lpt Sell ... | 7977521 | 2422 days ago | IN | 0 ETH | 0.00007847 | ||||
| Create Lpt Sell ... | 7976016 | 2423 days ago | IN | 0 ETH | 0.00262906 | ||||
| Cancel Lpt Sell ... | 7976007 | 2423 days ago | IN | 0 ETH | 0.00078476 | ||||
| Create Lpt Sell ... | 7975047 | 2423 days ago | IN | 0 ETH | 0.00131453 | ||||
| Cancel Lpt Sell ... | 7949710 | 2427 days ago | IN | 0 ETH | 0.00004316 | ||||
| Fulfill Sell Ord... | 7944281 | 2428 days ago | IN | 0 ETH | 0.00029667 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
LptOrderBook
Compiler Version
v0.5.7+commit.6da8b019
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*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
- No Contract Security Audit Submitted- Submit Audit Here
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"}]Contract Creation Code
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
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.