Smart Contracts Overview
The VLR staking contract and all unique E-VLR staking contracts have over 90% of common code in common. The only differences in function headers enable a distribution of a rewards basket in exchanged for staked VLR, as opposed to a single token used for both inputs and outputs of all E-VLR staking contracts.

Code

VLR Staking
E-VLR Staking

Address

VlrStaker is will be deployed on the Binance Smart Chain network.
The list of E-VLR contract deployment addresses is found in Business Incubation.

Events

VLR Staking
E-VLR Staking

RewardsDistributed

event RewardsDistributed(uint256[] indexed totalDistributed, address[] indexed addressesOfDistributedTokens, uint256 indexed timeOfDistribution );
At the time of rewards distribution, we log the basket of tokens distributed and the respective quantity of tokens distributed.

RewardsDistributed

event RewardsDistributed(uint256 indexed totalDistributed, uint256 indexed timeOfDistribution );
At the time of rewards distribution, we log the quantity of rewards distributed to stakers.

Read Only Functions

getCharityAddress

function getCharityAddress() external view returns (address _charityBagAddress);
This function returns the address of the wallet collecting charity fees.

State-Changing Functions

VLR Staking
E-VLR Staking

stake

function stake(uint256 _stakedVlrAmount)
external
returns (
uint256 mtcFeePaid,
uint256 charityFeePaid,
uint256 burnFeePaid,
uint256 stakingFeePaid,
uint256 svlrMinted
);
Contributes _stakedVlrAmount to the contract, creating svlrMinted equal to that amount less mtcFeePaid, charityFeePaid, burnFeePaid, and stakingFeePaid.

unstake

function unstake(uint256 _unstakedAmount)
external
returns (
uint256 mtcFeePaid,
uint256 charityFeePaid,
uint256 burnFeePaid,
uint256 stakingFeePaid,
uint256 vlrReturned,
uint256 vlrRewardsReturned
);
Removes _unstakedAmount and returns vlrReturned equal to that amount less mtcFeePaid, charityFeePaid, burnFeePaid, and stakingFeePaid plus staking rewards equal to vlrRewardsReturned.

stake

function stake(uint256 _stakedVlrAmount)
external
returns (
uint256 charityFeePaid,
uint256 burnFeePaid,
uint256 stakingFeePaid,
uint256 svlrMinted
);
Contributes _stakedVlrAmount to the contract, creating svlrMinted equal to that amount less charityFeePaid, burnFeePaid, and stakingFeePaid.

unstake

function unstake(uint256 _unstakedAmount)
external
returns (
uint256 charityFeePaid,
uint256 burnFeePaid,
uint256 stakingFeePaid,
uint256 vlrReturned,
uint256 vlrRewardsReturned
);
Removes _unstakedAmount and returns vlrReturned equal to that amount less charityFeePaid, burnFeePaid, and stakingFeePaid plus staking rewards equal to vlrRewardsReturned.
Last modified 6mo ago