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 9mo ago
Copy link
Outline
Events
Read Only Functions
State-Changing Functions