Skip to content

lst rewards splitter contracts

LSTRewardsSplitterController: Manage Rewards Splitters

The LSTRewardsSplitterController manages multiple LSTRewardsSplitter contracts.

Returns the splitter corresponding to an account

function splitters(address _account) external view returns (address)
Name Type Description
account address address of account
Name Type Description
splitter address address of splitter corresponding to account

Returns the min amount of new rewards required to split

function lst() external view returns (address)
Name Type Description
lst address address of LST

Returns the address of the liquid staking token handled by this contract

function rewardThreshold() external view returns (uint256)
Name Type Description
rewardThreshold uint256 reward threshold

Returns a list of all accounts that have splitters

function getAccounts() external view returns (address[])
Name Type Description
accounts address[] list of accounts

Returns whether a call should be made to performUpkeep to split new rewards

function checkUpkeep(bytes) external view returns (bool, bytes)
Name Type Description
upkeepNeeded bool true if performUpkeep should be called, false otherwise
performData bytes abi encoded list of splitters to call

ERC677 implementation to receive an LST deposit

function onTokenTransfer(address _sender, uint256 _value, bytes) external
Name Type Description
_sender address address of sender
_value uint256 value of transfer

Withdraws tokens

function withdraw(uint256 _amount) external
Name Type Description
_amount uint256 amount to withdraw

Splits new rewards between receivers

function performUpkeep(bytes _performData) external
Name Type Description
_performData bytes abi encoded list of splitters to call

Deploys a new splitter

function addSplitter(address _account, struct LSTRewardsSplitter.Fee[] _fees) external
Name Type Description
_account address address of account to deploy splitter for
_fees struct LSTRewardsSplitter.Fee[] list of splitter fees

Removes an account’s splitter

function removeSplitter(address _account) external
Name Type Description
_account address address of account

Sets the min amount of new rewards required to split

function setRewardThreshold(uint256 _rewardThreshold) external
Name Type Description
_rewardThreshold uint256 min amount of new rewards required to split