VotingMESH
This contract is responsible for the ecosystem behavior related to staking MESH. Voting rights (vMESH) are issued according to the staking quantity and period, and 40% of the daily MESH mining quantity is distributed to staking participants. (MESH distribution for staking participants may be changed through governance voting)
Code
Github Link: (Will be updated after official launch)
Address
Polygon Mainnet : 0x176b29289f66236c65c7ac5db2400abb5955df13
Events, Read-Only Functions, and State-Changing Functions
Events
LockMESH
event LockMESH(address user, uint lockPeriod, uint MESHAmount, uint totalLockedMESH, uint unlockTime);Event log of MESH staking
Parameters
user: user addresslockPeriod:4 months : 10,368,000
8 months : 20,736,000
12 months : 31,104,000
x8 : 1,555,200,000
MESHAmount: Number of MESH locked btotalLockedMESH: Total Number of staked MESHunlockTime: Available unstaking time (timestamp)
UnlockMESH
event UnlockMESH(address user, uint vMESHAmount, uint MESHAmount);Event log of MESH unstaking
Parameters
user: user addressvMESHAmount: Number of vMESHMESHAmount: Number of MESH
UnlockMESHUnlimited
event UnlockMESHUnlimited(address user, uint vMESHBefore, uint vMESHAfter, uint MESHAmount, uint unlockTime);Event log that occurs when unstaking vMESH x8
Parameters
user: user addressvMESHBefore: The amount of vMESH heldvMESHAfter: Amount of vMESH held after unstakingMESHAmount: Amount of MESH stakedunlockTime: Available unstaking time (timestamp)
RefixBoosting
event RefixBoosting(address user, uint lockPeriod, uint boostingAmount);Event log of staking period is changed
Parameter
user: user addreslockPeriod: periodboostingAmount: Number of vMESH after period changed
ChangeMiningRate
event ChangeMiningRate(uint _mining);Event log of daily MESH distribution rate changed
GiveReward
event GiveReward(address user, uint amount, uint lastIndex, uint rewardSum);Event log of when mined MESH is claimed and distributed
Compound
event Compound(address user, uint reward, uint compoundAmount, uint transferAmount, uint mintAmount);Event log of when mined MESH restaking.
The compound amount can be entered in integer units
The amount minus the compund amount from the mined amount is returned to the wallet.
Read-Only Functions
balanceOf
Number of vMESH tokens held by each address
getCurrentBalance
Number of vMESH tokens held by each address recent snapshot
getUserUnlockTime
Possible time of unstake
lockedMESH
Number of MESH tokens stakes
mining
MESH distribution rate
It is a value between 0 and 10000, in units of 0.0001%
snapShotBalance
Number of vMESH tokens held by each address and snapshot
snapShotCount
Number of snapshot index each address
getPriorBalance
function getPriorBalance(address user, uint blockNumber) public view returns (uint) Historical user vMESH holdings per block
Parameter
user: user addressblockNumber: prior blockNumber
snapShotBalance
function snapShotBalance(address user, uint index) public view returns (uint) Historical vMESH holdings each address
Parameter
user: user addressindex: index
State-Changing Functions
lockMESH
function lockMESH(uint amount, uint lockPeriodRequested) publicMethod for MESH staking
The amount can be entered in integer units
unlockMESH
function unlockMESH() publicMethod for MESH unstaking
Unstaking is only possible during the unstaking period.
unlockMESHUnlimited
function unlockMESHUnlimited() publicMethod for unstake MESH x8
Changed to x4 staking from execution
refixBoosting
function refixBoosting(uint lockPeriodRequested)Method for MESH staking period change
claimReward
function claimReward() publicMethod that a user calls to claim the claimable MESH
compoundReward
function compoundReward() publicMethod for mined MESH staking
Can be called when the reward is 1 MESH or more
It is possible to stake in integer units, and the rest is to the wallet address.
Last updated