bond(<token>, <amount>)- bonds<amount>of<token>and gets "veHelio" for votingbondBatch(<tokensArray>, <amountsArray>)- bonds many tokens with one transactionrequestUnbond(<token>, <amount>)- request<amount>of<token>to unbond(requester should wait 1 week)requestUnbondBatch(<tokensArray>, <amountsArray>)- request unbond for the batch of tokensdecreaseUnbondAmount(<token>, <amount>)- decreases requested<token>by<amount>(if you want to decrease all amount(cancel request), you should givetype(uint256).maxas<amount>)decreaseUnbondAmountBatch(<tokensArray>, <amountsArray>)- decreases unbond amount for the batch of tokensunbond(<token>)- unbond requested<token>after time elapsed(1 week)unbondBatch(<tokensArray>)- unbond for the batch of tokensaddToken(<newToken>, <coefficient>)- add new bonding<token>with<coefficient>(18 decimals)(only owner can call this function)
vote(<pidsArray>, <votesArray>)- vote forpid(pool id) for thevoteamountaddTokenApproval(<token>, <strategy>, <withUpdate>)- add new token with strategy to farming contract.<withUpdate>will update all pools information in farming contract.addReward(<week>, <amount>)- adds reward tokens for the<week>to contract address to incentivize farming contract users(<week>can start from current week)removeReward(<week>, <amount>)remove reward token from contract(started from the next<week>)
poolLength()- returns length of all poolsaddPool(<token>, <strategy>, <withUpdate>)- adds token to the farming contract with the corresponding strategy contract.<withUpdate>will update all pools information in contract. (can be called only by IncentiveVoting contract)setClaimReceiver(<receiverAddress>)- sets the reward token receiver address for the user(msg.sender)setBlockThirdPartyActions(<block>)- allow or block other accounts to claim reward for the user(msg.sender).<block>variable is boolean type.stakedWantTokens(<pid>, <userAddress>)- returns staked token(pool id token) amount for the usermassUpdatePools()- updates all pools informationupdatePool(pid)- updates pool information by pid(pool id)claimableReward(<userAddress>, <pids>)- returns claimable reward amount for the user, for the poolIds arraydeposit(<pid>, <wantAmount>, <claimRewards>)- deposits forpid(pool id) for thewantAmounttokens.claimRewardsis boolean variable and automatically will claim accumulated rewards iftruewithdraw(<pid>, <wantAmount>, <claimRewards>)- withdraws depositedwantAmounttokens frompid(pool id).claimRewardsis boolean variable and automatically will claim accumulated rewards iftruewithdrawAll(<pid>, <claimable>)- withdraws all deposited tokens from the pid(pool id)claimRewardsis boolean variable and automatically will claim accumulated rewards iftrueclaim(<user>, <pids>)- Claim pending rewards for one or more pids for a user.(if blockThirdPartiActions is true, than only user can call this function)inCaseTokensGetStuck(<token>, <amount>)if some tokens were stuck in the contract(except rewardToken) owner can get them from contract addressemergencyWithdraw(<pid>)- Withdraw without caring about rewards. EMERGENCY ONLY.
- addresses are located to addresses folder
- mint fakeHelio/fakeHelioLp tokens to your address by
mintMe(amount)function - bond fakeHelio/fakeHelioLp tokens to get veHelio for voting power,
TokenBonding.bond()(for each fakeHelio you get 1 veHelio and for each fakeHelioLp you get 2 veHelio) - you can add rewards tokens(fakeHay) to the incentiveVoting contract by
addRewardfunction - you can vote for pid(pool id) with veHelio to increase rewards percent for the pool by calling
IncentiveVoting.vote()function .(in our case pool is only one(with poolId 0)) - you can deposit fakeHay(pool id 0) and accumulate rewards for the week by
Farming.deposit() - you can withdraw tokens by calling
Farming.withdraw() - you can claim rewards(fakeHay) by calling
Farming.claim()