Meshswap
  • Introduction
  • What is MESH?
    • MESH Allocation
    • MESH Tokenomics
    • MESH Redistribution Policy
  • Get started
    • Create a Wallet
    • Add Polygon Network & Tokens
    • How to move your assets to wallet
      • Transferring MATIC
        • [Binance, Kucoin, Gate.io] How to move MATIC from CEX to Wallet 1
        • [Coinbase, OKX, Upbit, Bithumb, Coinone] How to move MATIC to Wallet 2
        • [Polygon Bridge] How to move MATIC to Wallet 3
      • How to get WETH, MATIC, USDC, USDT, DAI
      • How to get oETH, oMATIC, oUSDC, oUSDT, oDAI
      • XRP: The Quickest and easiest way to transfer your asset
      • How to get oXRP in your KuCoin wallet and deposit in Meshswap
      • How to transfer BUSD from Binance to the Polygon network
      • Transferring TON
        • Create Wallets supporting TON network
        • How to transfer TON from wallet to Meshswap
        • How to transfer TON from Huobi to the Polygon network
  • More
    • Risk & Security
    • Privacy Policy
    • Contract & Audit
    • Contact & Team
    • Events
      • Early-bird MESH Airdrop Events(End)
      • Meshswap x Kucoin Partnership Giveaway Event(End)
  • PRODUCTS
    • Swaps
    • Lend
      • How to deposit your assets on Lending pools
      • The Detailed Policy of Lending Pool Deposit
    • Yield Farm
      • How to deposit your assets on Yield Farming pools
    • Leveraged Yield Farm
      • How to deposit your assets on Leveraged Yield Farming pools
      • Detailed Policy of Leverage Farm
    • Long/Short Margin Trading
      • Open and Close Long/Short Positions
        • Open Long Positions
        • Open Short Positions
        • Close Long Positions
        • Close Short Positions
      • Long/Short Margin Trading Details Policy
    • Interest rate
    • Stake
      • How to stake MESH
      • Staking Policy
    • Pool Voting
      • How to participate in Pool Voting with vMESH
    • Ecopot
    • Drops
    • Pool Airdrop
    • Governance
      • Governance Voting Policy
  • DEVELOPERS
    • Contract
      • MESH
      • MESHswapRouter
      • MESHSwapView
      • Factory
      • Exchange
      • PoolVoting
      • VotingMESH
      • Treasury
      • Distribution
      • Governor
      • SinglePool
      • SinglePool Factory
      • PlusPool
      • PlusPool Factory
      • EcoPotVoting
      • EcoPot
    • Airdrop
      • Set Airdrop Operator
      • Start Airdop
    • EcoPot
      • Set EcoPot
      • Start EcoPot
  • Meshswap Protocol
  • Orbit Bridge
Powered by GitBook
On this page
  • Code
  • Address
  • Events, Read-Only Functions, and State-Changing Functions
  1. DEVELOPERS
  2. Contract

VotingMESH

PreviousPoolVotingNextTreasury

Last updated 2 years ago

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 :

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 address

    • lockPeriod :

      • 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 b

    • totalLockedMESH : Total Number of staked MESH

    • unlockTime : Available unstaking time (timestamp)

UnlockMESH

event UnlockMESH(address user, uint vMESHAmount, uint MESHAmount);
  • Event log of MESH unstaking

  • Parameters

    • user : user address

    • vMESHAmount : Number of vMESH

    • MESHAmount : 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 address

    • vMESHBefore : The amount of vMESH held

    • vMESHAfter : Amount of vMESH held after unstaking

    • MESHAmount : Amount of MESH staked

    • unlockTime : Available unstaking time (timestamp)

RefixBoosting

event RefixBoosting(address user, uint lockPeriod, uint boostingAmount);
  • Event log of staking period is changed

  • Parameter

    • user : user addres

    • lockPeriod : period

    • boostingAmount : 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 address

    • blockNumber : prior blockNumber

snapShotBalance

function snapShotBalance(address user, uint index) public view returns (uint) 
  • Historical vMESH holdings each address

  • Parameter

    • user : user address

    • index : index

State-Changing Functions

lockMESH

function lockMESH(uint amount, uint lockPeriodRequested) public
  • Method for MESH staking

  • The amount can be entered in integer units

unlockMESH

function unlockMESH() public
  • Method for MESH unstaking

  • Unstaking is only possible during the unstaking period.

unlockMESHUnlimited

function unlockMESHUnlimited() public
  • Method for unstake MESH x8

  • Changed to x4 staking from execution

refixBoosting

function refixBoosting(uint lockPeriodRequested)
  • Method for MESH staking period change

claimReward

function claimReward() public
  • Method that a user calls to claim the claimable MESH

compoundReward

function compoundReward() public
  • Method 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.

0x176b29289f66236c65c7ac5db2400abb5955df13