Skip to content

link staking contracts

CommunityVault: Community LINK Staking Vault

CommunityVault is a vault contract used for depositing LINK into the Chainlink staking contract as a community staker.

Returns the address of the staking token

function token() external view returns (address)
Name Type Description
token address address of token

Returns the address of the vault controller

function vaultController() external view returns (address)
Name Type Description
vaultController address address of vault controller

Returns the address of the Chainlink staking contract

function stakeController() external view returns (address)
Name Type Description
stakeController address address of staking contract

Returns the address of the Chainlink staking rewards contract

function rewardsController() external view returns (address)
Name Type Description
rewardsController address address of rewards contract

Returns the address of the delegate registry

function delegateRegistry() external view returns (address)
Name Type Description
delegateRegistry address address of delegate registry

Returns the total balance of this contract in the Chainlink staking contract

function getTotalDeposits() public view returns (uint256)
Name Type Description
totalDeposits uint256 Total deposit balance

Returns the principal balance of this contract in the Chainlink staking contract

function getPrincipalDeposits() public view returns (uint256)
Name Type Description
principalDeposits uint256 Principal deposit balance

Returns the claimable rewards balance of this contract in the Chainlink staking rewards contract

function getRewards() public view returns (uint256)
Name Type Description
rewards uint256 Claimable rewards

Returns whether the claim period is active for this contract in the Chainlink staking contract

function claimPeriodActive() external view returns (bool)
Name Type Description
active bool true if active, false otherwise

Returns all enabled delegations this vault has given out

function getDelegations() external view returns (IDelegateRegistry.Delegation[] memory)
Name Type Description
delegations IDelegateRegistry.Delegation[] list of delegations

Deposits tokens from the vaultController into the Chainlink staking contract

function deposit(uint256 _amount) external
Name Type Description
_amount uint256 Amount to deposit

Withdraws tokens from the Chainlink staking contract and sends them to the vault controller

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

Unbonds tokens in the Chainlink staking contract

function unbond() external

Delegates to an address for this vault

function delegate(address _to, bytes32 _rights, bool _enable) external
Name Type Description
_to address address to delegate to
_rights bytes32 rights to grant
_enable bool whether to enable or revoke delegation

Withdraws any non-LINK token rewards sitting in this vault

function withdrawTokenRewards(address[] calldata _tokens) external
Name Type Description
_tokens address[] list of tokens to withdraw

Sets the delegate registry

function setDelegateRegistry(address _delegateRegistry) external
Name Type Description
_delegateRegistry address address of delegate registry

Claims rewards from the Chainlink staking contract

function claimRewards(uint256 _minRewards, address _rewardsReceiver) external
Name Type Description
_minRewards uint256 Min amount of rewards to claim
_rewardsReceiver address Address to receive claimed rewards