gemworks / gem-farm

Configurable staking for NFT Projects on Solana
https://gemfarm.gg/
MIT License
338 stars 251 forks source link

Completely new farm created - new staker not accruing tokens #110

Closed numisman closed 2 years ago

numisman commented 2 years ago

OK - I rewatched the video to ensure I was doing it right.

I am rewarding a 6 decimal token, and I want to reward 800 total tokens per day. So I set the base rate at 800,000,000 (800 tokens for a 6 decimal mint), and set the duration for 300 (to test for 5 minutes). I set the denominator to 86400 (the total number of seconds in a day) The rest of the levels were set to 0. I funded the bank with 677440000000000 (total number of tokens to allow staking for all users for all tokens * 1000000(6 decimal mint) I set the time frame to 300 (5 minutes) to make sure that I can stake properly. I would expect to be gaining 0.009253 tokens per second. I am receiving none.

HOW DO I GET THIS APP TO WORK? WHAT AM I DOING WRONG? @ilmoi OR ANYONE PLEASE ANSWER MY ISSUES PLEASE! MY COMMUNITY IS WAITING FOR THIS TO BE ABLE TO EARN TOKENS.

This is the farmer status - you can see I have 1 gem staked: image

This is the farm config: image WHAT AM I MISSING?

Thanks in advance!

ilmoi commented 2 years ago

Just went and tested new farm creation + staking from scratch on mainnet, everything works as intended.

image

The fact that your "reserved amount" is set to 0 is worrying - this means the farm hasn't allocated any tokens to the new farmer.

Possible causes:

Did you have a previous schedule that the farmer was enrolled in? If yes then until that schedule completes new one won't kick in. Goes like this:

Other ideas:

numisman commented 2 years ago

First off - THANK YOU for the effort in looking into this @ilmoi. I truly appreciate it.

Secondly - I created a farm and funded it with 677440000000000 originally. Then I updated the duration but didn't add any additional funding. I also did try setting the duration for 30 minutes to see if that would help and I definitely clicked refresh, but it still did not accrue any new tokens.

Is there a way to end the clock early? I thought that was done through withdrawing, but is it actually done by unstaking and restaking? Or, is it done simply by refreshing farmer?

Can you also validate that it's just not accruing at too small a rate to be noticed? The formula I'm using is (800 tokens per day * 1000000 for decimals in token) / (86400 seconds in a day)

When I tested the functionality it was using the built app at https://www.gemfarm.gg/farmer, so assuming that is using your latest version of the code, then I would assume I'm using it correctly....but I don't see how I can "kick in" the earning.

I will do a git clone fresh from scratch, build the UI and test with that. But our skin is really just CSS built on top of your functionality and none of the calls to the on-chain program are modified.

And also - a curiosity - what does "Min staking ends" mean here? It looks like it's the same as the time that Staking begins for the farmer.

image

Thanks again for the attention!

ilmoi commented 2 years ago

Okkkkkkkkkkkkk I know what the problem is

here I've replicated your numbers 1:1 and it all works: image

image

the issue is:

here's what you do:

one thing to remember - if your current farmer is staked until time X (eg 20th jun), you can't re-enroll them in a new reward until either 1)that date passes or 2)they unstake themselves. So be sure to unstake and restake - this will enroll them in new reward.

hope helps.

numisman commented 2 years ago

OMG if this does it I will love you forever. Platonically, but forever. Also if you'd like to see our UI you're welcome to see it at https://stake.imsogame.com/farmer.

numisman commented 2 years ago

OH THANK GOODNESS!!! image This was a week of pain for me. Not sure why I thought I needed the zeroes in there, but removing them did the trick. THANK YOU SO MUCH!!! My community is going to be so happy! Now to retract my tweet publicly asking for forgiveness! Thanks @ilmoi. You're a beast! If you want a Chimp to try out our UI I'd be happy to provide it - DM me a wallet on twitter if you'd like. But don't do so UNTIL I FIX THESE NUMBERS!

numisman commented 2 years ago

Oh and also - THIS IS THE SOLUTION so I'm closing the issue. Thanks again!