
Research
/Security News
Malicious npm Packages Target WhatsApp Developers with Remote Kill Switch
Two npm packages masquerading as WhatsApp developer libraries include a kill switch that deletes all files if the phone number isn’t whitelisted.
@livepeer/sdk
Advanced tools
An SDK for interacting with Livepeer's smart contracts.
yarn add @livepeer/sdk
Here's a code snippet showing instantiation and basic usage of the Livepeer SDK.
import LivepeerSDK from '@livepeer/sdk'
// Or if you prefer require
// const { LivepeerSDK } = require('@livepeer/sdk')
//
// First, call the SDK factory function
// pass it any configuration options
LivepeerSDK({ ... }).then(async (sdk) => {
// Once initialized, you can access the methods under the `rpc` namespace
const { rpc } = sdk
// For example, you can get the total supply of Livepeer Tokens like so
const tokens = await rpc.getTokenTotalSupply()
console.log(tokens)
// => string representation of some absurdly high number, maybe "9999999999999999999999" or something like that :)
})
To use with a testnet please instantiate with the following params:
const provider = "https://rinkeby.infura.io" #or your testnet of choice
const controllerAddress = "0x37dC71366Ec655093b9930bc816E16e6b587F968"
LivepeerSDK({ provider, controllerAddress }).then(async sdk => {
mycode...
})
The following section details the rpc API's function signatures and typedefs.
Livepeer SDK main module exports
Livepeer SDK factory function. Creates an instance of the Livepeer SDK -- an object with useful methods for interacting with Livepeer protocol smart contracts
opts
LivepeerSDKOptions SDK configuration options// Here we're naming the default export "LivepeerSDK"
import LivepeerSDK from "@livepeer/sdk";
// Call the factory function and await its Promise
LivepeerSDK().then((sdk) => {
// Your Livepeer SDK instance is now ready to use
});
Returns Promise<LivepeerSDK>
"rpc" namespace of a Livepeer SDK instance
import LivepeerSDK from "@livepeer/sdk";
LivepeerSDK().then(({ rpc }) => {
// Here, we're destructuring the sdk to expose only its rpc namespace
// Now, you you are able call rpc.<method-name>()
// All rpc method yield Promises. Their usage is further explained below.
});
Gets the ENS name for an address. This is known as a reverse lookup. Unfortunately, users must explicitly set their own resolver. So most of the time, this method just returns an empty string More info here: (https://docs.ens.domains/en/latest/userguide.html#reverse-name-resolution)
address
string
address to look up an ENS name forawait rpc.getENSName("0xd34db33f...");
// => string
Gets the address for an ENS name
name
string
ENS name to look up an address forawait rpc.getENSAddress("vitalik.eth");
// => string
Gets a block by number, hash, or keyword ('earliest' | 'latest')
await rpc.getBlock('latest')
// => {
"number": string,
"hash": string,
"parentHash": string,
"nonce": string,
"sha3Uncles": string,
"logsBloom": string,
"transactionsRoot": string,
"stateRoot": string,
"receiptsRoot": string,
"miner": string,
"mixHash": string,
"difficulty": string,
"totalDifficulty": string,
"extraData": string,
"size": string,
"gasLimit": string,
"gasUsed": string,
"timestamp": number,
"transactions": Array<Transaction>,
"transactionsRoot": string,
"uncles": Array<Uncle>,
}
Gets the ETH balance for an account
addr
string
ETH account addressawait rpc.getEthBalance("0xf00...");
// => string
Gets the unbonding period for transcoders
await rpc.getUnbondingPeriod();
// => string
Gets the number of active transcoders
await rpc.getNumActiveTranscoders();
// => string
Gets the maximum earnings for claims rounds
await rpc.getMaxEarningsClaimsRounds();
// => string
Gets the total amount of bonded tokens
await rpc.getTotalBonded();
// => string
Gets the total supply of token (LTPU) available in the protocol
await rpc.getTokenTotalSupply();
// => string
Gets a user's token balance (LPTU)
addr
string
user's ETH addressawait rpc.getTokenBalance("0xf00...");
// => string
Gets general information about tokens
addr
string
user's ETH addressawait rpc.getTokenInfo();
// => TokenInfo { totalSupply: string, balance: string }
Transfers tokens (LPTU) from one account to another
to
string
the account ETH address to send tokens toamount
string
the amount of token to send (LPTU)tx
TxConfig an object specifying the from
value of the
transaction (optional, default config.defaultTx
)await rpc.transferToken("0xf00...", "10");
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
The amount of LPT the faucet distributes when tapped
await rpc.getFaucetAmount();
// => string
How often an address can tap the faucet (in hours)
await rpc.getFaucetWait();
// => string
Next timestamp at which the given address will be allowed to tap the faucet
addr
string
user's ETH addressawait rpc.getFaucetNext();
// => string
Info about the state of the LPT faucet
addr
string
user's ETH addressawait rpc.getFaucetInfo("0xf00...");
// => FaucetInfo {
// amount: string,
// wait: string,
// next: string,
// }
Returns Promise<FaucetInfo>
Gets the per round inflation rate
await rpc.getInflation();
// => string
Gets the change in inflation rate per round until the target bonding rate is achieved
await rpc.getInflationChange();
// => string
The delegator status of the given address
addr
string
user's ETH addressawait rpc.getDelegatorStatus("0xf00...");
// => 'Pending' | 'Bonded' | 'Unbonded'
General info about a delegator
addr
string
user's ETH addressawait rpc.getDelegator("0xf00...");
// => Delegator {
// allowance: string,
// address: string,
// bondedAmount: string,
// delegateAddress: string,
// delegateAmount: string,
// fees: string,
// lastClaimRound: string,
// pendingFees: string,
// pendingStake: string,
// startRound: string,
// status: 'Pending' | 'Bonded' | 'Unbonding' | 'Unbonded',
// withdrawRound: string,
// nextUnbondingLockId: string,
// }
Rebonds LPT from an address
unbondingLockId
numbertx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.rebond(0);
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
Rebonds LPT from an address with hint
unbondingLockId
numbernewPosPrev
stringnewPosNext
stringtx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.rebondWithHint(0, "0x", "0x");
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
Rebonds LPT from an address
to
stringunbondingLockId
numbertx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.rebondFromUnbonded("0x", 1);
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
Rebonds LPT from an address with hint
to
stringunbondingLockId
numbernewPosPrev
stringnewPosNext
stringtx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.rebondFromUnbondedWithHint("0x", 1, "0x", "0x");
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
Get a delegator's pending stake
await rpc.getPendingStake("0xf00...");
// => string
Get a delegator's pending fees
await rpc.getPendingFees("0xf00...");
// => string
Whether or not the transcoder is active
addr
string
user's ETH addressawait rpc.getTranscoderIsActive("0xf00...");
// => boolean
Gets the status of a transcoder
addr
string
user's ETH addressawait rpc.getTranscoderStatus("0xf00...");
// => 'NotRegistered' | 'Registered'
Gets a transcoder's total stake
addr
string
user's ETH addressawait rpc.getTranscoderTotalStake("0xf00...");
// => string
Gets a transcoder's pool max size
await rpc.getTranscoderPoolMaxSize();
// => string
Gets info about a transcoder
addr
string
user's ETH addressawait rpc.getTranscoder("0xf00...");
// => Transcoder {
// active: boolean,
// address: string,
// rewardCut: string,
// feeShare: string,
// lastRewardRound: string,
// pendingRewardCut string,
// pendingFeeShare: string,
// pendingPricePerSegment: string,
// pricePerSegment: string,
// status: 'NotRegistered' | 'Registered',
// totalStake: string,
// }
Returns Promise<Transcoder>
Gets transcoders
await rpc.getTranscoders();
// => Array<Transcoder>
Returns Array<Transcoder>
Whether the protocol is paused
await rpc.getProtocolPaused();
// => boolean
Gets the protocol
await rpc.getProtocol()
// => Protocol {
paused
totalTokenSupply
totalBondedToken
targetBondingRate
transcoderPoolMaxSize
maxEarningsClaimsRounds
}
Gets the length of a round (in blocks)
await rpc.getRoundLength();
// => string
Gets the estimated number of rounds per year
await rpc.getRoundsPerYear();
// => string
Gets the number of the current round
await rpc.getCurrentRound();
// => string
Whether or not the current round is initalized
await rpc.getCurrentRoundIsInitialized();
// => boolean
The block at which the current round started
await rpc.getCurrentRoundStartBlock();
// => string
The previously intitialized round
await rpc.getLastInitializedRound();
// => string
Gets general information about the rounds in the protocol
await rpc.getCurrentRoundInfo();
// => RoundInfo {
// id: string,
// initialized: boolean,
// startBlock: string,
// lastInitializedRound: string,
// length: string,
// }
Gets LPT from the faucet
tx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.tapFaucet("1337");
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
Initializes the round
tx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.initializeRound();
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
Creates a poll
proposal
string
The IPFS multihash for the proposaltx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.createPoll("Qm...");
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
Get PollCreator transfer allowance
addr
string
user's ETH addresstx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.getPollCreatorAllowance("0x...");
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
Get BondingManager transfer allowance
addr
string
user's ETH addresstx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.getBondingManagerAllowance("0x...");
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
Creates a poll
pollAddress
string
poll contract addresschoiceId
int vote (0 = yes, 1 = no)tx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.initializeRound();
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
Claims token and eth earnings from the sender's lastClaimRound + 1
through a
given endRound
endRound
string
the round to claim earnings untiltx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.claimEarnings();
// => string
Returns string
Bonds to a transcoder with hint
amount
stringto
stringoldDelegateNewPosPrev
stringoldDelegateNewPosNext
stringcurrDelegateNewPosPrev
stringcurrDelegateNewPosNext
stringtx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.bondWithHint("100", "0x", "0x", "0x", "0x", "0x");
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
Gets the estimated amount of gas to be used by a smart contract method.
contractName
string
: name of contract containing method you wish to find gas price for.
methodName: name of method on contract. methodArgs: array of argument to be
passed to the contract in specified order. tx: (optioanl){ from: address -
0x..., gas: number, value: (optional) number or string containing number }methodName
stringmethodArgs
Arraytx
(optional, default config.defaultTx
)await rpc.estimateGas("BondingManager", "bond", [10, "0x00....."]);
// => 33454
Returns Promise<number> containing estimated gas price
Unbonds LPT from an address
amount
stringtx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.unbond(amount);
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
Unbonds LPT from an address with hint
amount
stringnewPosPrev
stringnewPosNext
stringtx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.unbondWithHint("100", "0x", "0x");
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
Sets transcoder parameters
rewardCut
string
the block reward cut you wish to setfeeShare
string
the fee share you wish to setpricePerSegment
string
the price per segment you wish to settx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.setupTranscoder("10", "10", "5");
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
Get target bonding rate
await rpc.getTargetBondingRate();
// => string
Withdraws earned token (Transfers a sender's delegator bondedAmount
to their
tokenBalance
)
unbondLockId
string?
the unbond lock idtx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.withdrawStake();
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
Returns TxReceipt
Withdraws earned token (Transfers a sender's delegator bondedAmount
to their
tokenBalance
)
unbondlock
{id:
string,
amount:
string,
withdrawRound:
string}tx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.withdrawStakeWithUnbondLock(unbondlock);
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
Returns TxReceipt
Withdraws earned fees (Transfers a sender's delegator fees
to their
ethBalance
)
tx
TxConfig an object specifying the from
and gas
values of the transaction (optional, default config.defaultTx
)await rpc.withdrawFees();
// => TxReceipt {
// transactionHash: string,
// transactionIndex": BN,
// blockHash: string,
// blockNumber: BN,
// cumulativeGasUsed: BN,
// gasUsed: BN,
// contractAddress: string,
// logs: Array<Log {
// logIndex: BN,
// blockNumber: BN,
// blockHash: string,
// transactionHash: string,
// transactionIndex: string,
// address: string,
// data: string,
// topics: Array<string>
// }>
// }
Returns TxReceipt
Get all the unbonding locks for a delegator
addr
string
delegator's ETH addressawait rpc.getDelegatorUnbondingLocks("0xf00...");
// => UnbondingLock [{
// id: string,
// delegator: string,
// amount: string,
// withdrawRound: string
// }]
Returns Promise<Array<UnbondingLock>>
Get an unbonding lock for a delegator
await rpc.getDelegatorUnbondingLock("0xf00...", 1);
// => UnbondingLock {
// id: string,
// delegator: string,
// amount: string,
// withdrawRound: string
// }
Returns Promise<UnbondingLock>
ABI property descriptor
Type: Object
constants
boolean
is the method constant?inputs
Array<{name:
string,
type:
string}>
the method paramsoutputs
Array<{name:
string,
type:
string}>
method return valuespayable
boolean
is the method payable?stateMutability
string
type of state mutabilitytype
string
type of contract propertyMostly "truffle
-style" ABI artifacts but no bytecode/network properties
required
Type: Object
name
string
name of the contractabi
Array<ABIPropDescriptor>
lists info about contract propertiesSDK configuration options
Type: Object
controllerAddress
string?
The address of the delpoyed Controller contractprovider
string?
The ETH http provider for rpc methodsgas
number?
the amount of gas to include with transactions by defaultartifacts
Object<string,
ContractArtifact> an object containing contract name ->
ContractArtifact mappingsprivateKeys
Object<string,
string>
an object containing public -> private key mappings. Should be specified if
using the SDK for transactions without MetaMask (via CLI, etc)account
(string
|
number)
the account that will be used for transacting and data-fetching. Can be one of
the publicKeys specified in the privateKeys
option or an index of an account
available via MetaMaskAn object containing contract info and utility methods for interacting with the Livepeer protocol's smart contracts
Type: Object
config
Object<string,
any> this prop is mostly for debugging purposes and could change a lot in
the future. Currently, it contains the following props: abis
, accounts
,
contracts
, defaultTx
, eth
constants
Object<string,
any> Exposes some constant values. Currently, it contains the following
props: ADDRESS_PAD
, DELEGATOR_STATUS
, EMPTY_ADDRESS
,
TRANSCODER_STATUS
, VIDEO_PROFILES
, VIDEO_PROFILE_ID_SIZE
create
Function
same as the createLivepeerSDK
functionevents
Object<string,
Object>
Object mapping an event name -> contract event descriptor objectrpc
Object<string,
Function>
contains all of the rpc methods available for interacting with the Livepeer
protocolutils
Object<string,
Function>
contains utility methods. Mostly here just because. Could possibly be removed
or moved into its own module in the futureAn object containing the total token supply and a user's account balance.
Type: Object
totalSupply
string
total supply of token available in the protocol (LPTU)balance
string
user's token balance (LPTU)A Protocol struct
Type: Object
paused
boolean
the protocol paused or nottotalTokenSupply
string
total token supply for protocoltotalBondedToken
string
total bonded token for protocoltargetBondingRate
string
target bonding rate for protocoltranscoderPoolMaxSize
string
transcoder pool max sizeTransaction receipt
Type: Object
transactionHash
string
the transaction hashtransactionIndex
BN the transaction indexblockHash
string
the transaction block hashblockNumber
BN the transaction block numbercumulativeGasUsed
BN the cumulative gas used in the transactiongasUsed
BN the gas used in the transactioncontractAddress
string
the contract address of the transaction methodlogs
Array<Log>
an object containing logs that were fired during the transactionAn object representing a contract log
Type: Object
logIndex
BN the log indexblockNumber
BN the log block numberblockHash
string
the log block hashtransactionHash
string
the log's transaction hashtransactionIndex
BN the log's transaction indexaddress
string
the log's addressdata
string
the log's datatopics
Array<string>
the log's topicsInformation about the status of the LPT faucet
Type: Object
amount
string
the amount distributed by the faucetwait
string
the faucet request cooldown timenext
string
the next time a valid faucet request may be madeA Broadcaster struct
Type: Object
address
string
the ETH address of the broadcasterdeposit
string
the amount of LPT the broadcaster has depositedwithdrawBlock
string
the next block at which a broadcaster may withdraw their depositA Delegator struct
Type: Object
allowance
string
the delegator's LivepeerToken approved amount for transferaddress
string
the delegator's ETH addressbondedAmount
string
The amount of LPTU a delegator has bondeddelegateAddress
string
the ETH address of the delegator's delegatedelegatedAmount
string
the amount of LPTU the delegator has delegatedfees
string
the amount of LPTU a delegator has collectedlastClaimRound
string
the last round that the delegator claimed reward and fee pool sharespendingFees
string
the amount of ETH the delegator has earned up to the current roundpendingStake
string
the amount of token the delegator has earned up to the current roundstartRound
string
the round the delegator becomes bonded and delegated to its delegatestatus
string
the delegator's statuswithdrawableAmount
string
the amount of LPTU a delegator can withdrawwithdrawRound
string
the round the delegator can withdraw its stakenextUnbondingLockId
string
the next unbonding lock ID for the delegatorA Transcoder struct
Type: Object
active
boolean
whether or not the transcoder is activeaddress
string
the transcoder's ETH addressrewardCut
string
% of block reward cut paid to transcoder by a delegatorfeeShare
string
% of fees paid to delegators by transcoderlastRewardRound
string
last round that the transcoder called rewardpendingRewardCut
string
pending block reward cut for next round if the transcoder is activependingFeeShare
string
pending fee share for next round if the transcoder is activependingPricePerSegment
string
pending price per segment for next round if the transcoder is activepricePerSegment
string
price per segment for a stream (LPTU)status
string
the transcoder's statustotalStake
string
total tokens delegated toward a transcoder (including their own)An UnbondingLock struct
Type: Object
id
string
the unbonding lock IDdelegator
string
the delegator's ETH addressamount
string
the amount of tokens being unbondedwithdrawRound
string
the round at which unbonding period is over and tokens can be withdrawnAn object containing information about the current round
Type: Object
id
string
the number of the current roundinitialized
boolean
whether or not the current round is initializedstartBlock
string
the start block of the current roundlastInitializedRound
string
the last round that was initialized prior to the currentlength
string
the length of roundsAn object containing information about an Ethereum block
Type: Object
number
string
block numberhash
string
block hashparentHash
string
parent has of the blocknonce
string
block noncesha3Uncles
string
block sha3 uncleslogsBloom
string
logss bloom for the blocktransactionsRoot
string
block transaction root hashstateRoot
string
block state root hashreceiptsRoot
string
block receipts root hashminer
string
block miner hashmixHash
string
block mixHashdifficulty
string
difficulty inttotalDifficulty
string
total difficulty intextraData
string
hash of extra datasize
string
block sizegasLimit
string
block gas limitgasUsed
string
gas used in blocktimestamp
number
block timestamptransactions
string
block transactions hashuncles
string
block uncles hashtransactions
Array<Transaction>
transactions in the blocktransactionsRoot
string
root transaction hashuncles
Array<Uncle>
block unclesTransaction config object
Type: Object
FAQs
An SDK for interacting with Livepeer's smart contracts.
The npm package @livepeer/sdk receives a total of 41 weekly downloads. As such, @livepeer/sdk popularity was classified as not popular.
We found that @livepeer/sdk demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
Two npm packages masquerading as WhatsApp developer libraries include a kill switch that deletes all files if the phone number isn’t whitelisted.
Research
/Security News
Socket uncovered 11 malicious Go packages using obfuscated loaders to fetch and execute second-stage payloads via C2 domains.
Security News
TC39 advances 11 JavaScript proposals, with two moving to Stage 4, bringing better math, binary APIs, and more features one step closer to the ECMAScript spec.