Operator Staking Pool
The OperatorStakingPool
tracks node operator LST balances for the purpose of differentiating from community LST balances. Node operators are required to stake their LSTs into this contract.
View Functions
lst
Returns the address of the liquid staking token supported by this pool
function lst() external view returns (address)
Return Values
lst
address
address of LST
depositLimit
Returns the max amount of deposits per operator
function depositLimit() external view returns (uint256)
Return Values
depositLimit
uint256
max amount of deposits per operator
getOperators
Returns a list of all operators
function getOperators() external view returns (address[])
Return Values
operators
address[]
list of operators
getOperatorPrincipal
Returns an operator's principal staked balance
function getOperatorPrincipal(address _operator) public view returns (uint256)
Parameters
_operator
address
address of operator
Return Values
operatorPrincipal
uint256
operator principal staked amount
getOperatorStaked
Returns an operator's total staked balance
function getOperatorStaked(address _operator) public view returns (uint256)
Parameters
_operator
address
address of operator
Return Values
operatorStaked
uint256
operator staked amount
getTotalPrincipal
Returns the total principal staked amount
function getTotalPrincipal() external view returns (uint256)
Return Values
totalPrincipal
uint256
total principal staked amount
getTotalStaked
Returns the total staked amount
function getTotalStaked() external view returns (uint256)
Return Values
totalStaked
uint256
total staked amount
isOperator
Returns whether an account is an operator
function isOperator(address _account) public view returns (bool)
Return Values
isOperator
bool
true if account is operator, false otherwise
Write Functions
onTokenTransfer
ERC677 implementation to receive deposits
function onTokenTransfer(address _sender, uint256 _value, bytes) external
Parameters
_sender
address
address of sender
_value
uint256
amount of tokens to deposit
bytes
withdraw
Withdraws tokens
function withdraw(uint256 _amount) external
Parameters
_amount
uint256
amount to withdraw
addOperators
Adds new operators
function addOperators(address[] _operators) external
Parameters
_operators
address[]
list of operators to add
removeOperators
Removes existing operators
function removeOperators(address[] _operators) external
Parameters
_operators
address[]
list of operators to remove
setDepositLimit
Sets the max amount of deposits per operator
function setDepositLimit(uint256 _depositLimit) external
Parameters
_depositLimit
uint256
max amount of deposits per operator
Last updated