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

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

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.

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

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.

Last updated