Farming Harvest Reward Solution

Solved: Farming Harvest Reward "Bug"

For those of you who are unaware of the situation: we experienced an inconsistent "bug" where sometimes some users wouldn't receive their full harvest amount. We first thought it was a UI bug, then that it was a contract bug, but we realized the culprit yesterday -- SEANCE had an insufficient balance of SOUL to distribute as a reward.

How Did This Happen?

We surmise the cause is due to the pre-mine allocation of as noted in our docs found below.

What is our Solution?

We will be initiating the following emergency transactions from our DEV multi-sig address in order to restore all unpaid debts and minimize harms by acting swiftly to resolve all future harvest actions.

We hope you understand why we have taken it upon ourselves to act unilaterally and will lay out a formalized methodology for future instances of emergency intervention to ensure there is a consistent level of transparent, responsibility, and respect for a devised Protocol with a tried and true methodology of identifying and executing the optimal mode of response to unknowns.

We are still early in our development, so we apologize for what may be perceived as anything other than it is intended: as a means to ensure our community no longer receives any less than what each and every user is due.

In short, we feel ethically required to act with urgency on this matter and hope you understand why we are going to enact the following plan of action immediately.

Our Solution: Transactions For Immediate Release

  1. Mint 1,027,734 SOUL: this is the total pre-mine allocation that should have been allocated towards farming rewards had the pre-mine originated from the SoulSummoner.

Premine Allocation: 1,370,311 SOUL
Farm Rewards Share: 75%
Farm Allocation of Pre-mine: 1,027,734

  1. Send 250,000 SOUL: to the SEANCE Contract as the first injection of rewards payable while we work out the rewards owed to those users whose harvests were undercut. This will be calculated next week, but the 250,000 SOUL is meant to ensure rewards are continually distributed in the interim.

  2. Send 60K SOUL: to the cofounders who who send an emergency 60K SOUL to replenish SEANCE in order to simulate the hypothesized solution in a real-world environment, which has proven to be successful with a reported 100% success rate.

Buns Repayment: 40,000 SOUL
DeGatchi Repayment: 20,000 SOUL

UPDATE POSTED NOV. 27TH

Skip to here for the latest post covering how you can claim and addressing FAQs from our community.

5 Likes

Excellent.
Great that it was both solved and that losses will be recovered. Well done and thanks :slight_smile:

5 Likes

Best devs, best project, best community.

To the moon we go. :last_quarter_moon_with_face:

2 Likes

Great. Congratulations. I also noticed everything seemed to be working smooth today in the website.

2 Likes

Great news. Glad the problem has been resolved, and looking forward to seeing how much SOUL I missed out on. Feels almost like a surprise bonus.

2 Likes

We would like to continue the discussion to help open the floor for proposed solutions to dealing with this while I work out the solution I propose.

Anyone is more than welcome to help reverse engineer the rewards users are due as doing so may prove to be rather time-intensive and the more heads working out a solution, the better.

Note: While we are prioritizing this solution, since we are a team of two, we will also have to avoid completely abandoning all other operations in the meantime, but this is our number one mission.

What we are doing in the meantime...

  • Sending another 250K SOUL from our (team) multi-sig to cover SOUL harvests (while we workout the exact amount).

Note: funds (SOUL) used to replenish SEANCE will come from the SOUL we already minted in our first round of SEANCE replenishment.

  • Calculating the exact rewards due to each user.

  • Building out a frontend interface for users to claim SOUL harvests that were due from prior to the solution was implemented.

Note: repayments only affect those who harvested prior to the bug fix on October 1st, 2021.

2 Likes

(Rewarddebt at harvesting time - rewarddebt at previous havesting) - actual received.
I think these variables can be calculated at any specific time

1 Like

Having gone through all my transactions when this was happening, I can tell you it’s impossible to accurately calculate from the TX themselves how much rewards should have been received. The longer between harvests, the bigger the error of knowing what the reward rate should have been given everyone else in the pool.

The most obvious solution is:

  1. Create a new FARM/STAKING pool (V2) & CONTRACT.
  2. Allow everyone to unstake without penalty and ask them to migrate all their SOUL & LP to new V2.
  3. Once the V1 pools are empty, you can get a REWARDBALANCE for each Wallet (this should be total expected rewards only - since the “balance” you invest is normally included in the reward balance)
  4. Calculate total rewards received per Wallet from the actual transactions logs for old contract
  5. Difference between reward balance & total received = Missed rewards (100% Accuracy)
  6. Decide if you want to give just SOUL missing or some time-value bonus (eg. 110% or 120% to cover the fact that reward was not received and could not be staked).
  7. Airdrop missed rewards to each wallet.

Without resetting contract balances to 0 staked per wallet, you won’t be able to get an accurate amount owed per wallet in my view.

2 Likes

Agreed with Master J. This seems to be the only way to get 100% accurate numbers

In order to ensure the SEANCE contract maintains a sufficient supply while we work to resolve the Harvest Reward Allocation, we have decided to send over the remaining funds from the DEV address over to SEANCE. This is a more ideal parking place in the interim as it enables SEANCE to continue its operations without manual intervention. Seeing as how this is also transferred to the contract and not the DEV address, we also feel this will alleviate any concerns over the DEV address maintaining ownership over these excess tokens. We hope you understand and agree with the action we’ve taken.

We have added another 500,000 SOUL to SEANCE, but this time via the DAO to prevent increasing the total supply of SOUL, while we work on building out our upgraded V2 Soul Summoner contract, which will include a number of requested enhancements.

Would it be possible to distribute the shorted tokens based on the value of lp tokens staked before the fix?

1 Like

Unfortunately doing so would be just as tedious, if not more so, than any other potential solution, but I appreciate the suggestion and your line of thinking completely make sense, however there is also the secondary concern which is how we would know how much was withdrawn successfully vs failed. Also how much was staked and how many others in the same pool and the allocation for each pool at each time. Not to mention this would exclude those SAS stakers who didn’t provided liquidity, but staked their SOUL for SOUL rewards (as it is the same contract that handles the farms).

Harvest Claim Form Now Available

Please fill out the following form to facilitate your claim.

https://app.soulswap.finance/claim

FAQs

1. Do I need to fill out the claims for to be eligible?

No, the form is optional and is only required if you have a counter-claim for an amount higher than the proposed allocation.

2. What’s the default rewards and how many wallets are affected?

The default rewards for all 405 affected wallet is: 2,500 SOUL, which amounts to a total allocation of just over 1,000,000 SOUL for reimbursements.

3. Where did the 1M SOUL figure come from?

There were 10 days during which users may have been affected. We emit 250K SOUL daily, amounting to 2.5M SOUL designed to be emitted during those 10 days, of which 75% are designed for farming, which amounts to nearly 2M SOUL.

We take roughly half this amount and assume 50% of the time harvests failed. We do so to provide an allocation that risks over-rewarding versus under-rewarding as there are many instances where users may have lost much more than the minimum and we wanted to tilt in their favor, where possible.

4. Where will the 1M SOUL come from?

Since the SOUL rewards are designed to be minted from the SOUL token and allocated, we will be minting the 1M SOUL directly into the Airdrop contract, which will only account towards our circulating supply IF and WHEN it is accepted by each user.

5. How will counter-claims be rewarded?

Since the total maximum possible damage was 1M SOUL lost, according to our liberal (lenient) calculations, we will not exceed this amount for airdrop rewards.

Meaning, those with counter-claims will need to wait until after the airdrop concludes and will only be able to access up to the total amount of forfeited airdrops.

In other words, this amount may be as low as 0 in the event that 100% of eligible claims are accepted, which is likely not the case as many will neither know nor care and some may decide to forego making a claim and would rather watch that SOUL burn or be allocated towards users who were affected to a much greater extent than themselves. Don’t undermine the potential goodwill of your fellow community members.

6. How long do we have to make a counter-claim?

The counter-claims form closes at the end of the year, so you have until December 31st, 2021 to open your claim. All counter-claims will be complete and final after the claims period ends. The day the counter-claims period ends, we will send out the rewards to those who requested and were accepted for manual review. The manual review will account for the total claims made in excess of 2,500 and will be given out in 1 of 2 potential manners:

  1. In the event the remaining SOUL is less than the accepted counter-claims, then the recipients will receive a % share of the remaining SOUL as determined by their accepted counter-claim as a portion of all accepted counter-claims.

  2. In the event the remaining SOUL is greater than the accepted counter-claims, then the accepted counter-claims will be filled 100% and the remaining SOUL (after filled all counter-claims) will be burned for all eternity. There will not be a second airdrop for counter-claims. Those will be sent directly to the claimant and will be publicly verifiable on chain.

7. When is the claims period for the airdrop?

January 1st thru February 14th

The claims period will begin on January 1st, 2022 and will terminate exactly 45 days later to provide ample time for as many users as possible to be made aware of the reimbursements, while maintaining an acceptable delay between the acceptance of a counter-claim and execution of those reimbursements for eligible recipients.

Is there a way to see how much each wallet successfully harvested in Soul rewards during the 10 day period? Although it wouldn’t show the lost amounts, wouldn’t it give an approximate weighted amount of Soul lost? A wallet with 10x more harvested soul would have lost 10x more than a wallet with with x1 the amount harvested?

1 Like

That would be a great way for someone to carry out their individual counter-claim, but would be extremely tedious and time-consuming for me to conduct on every affected wallet. It would also lead to inexact results, so we would still end up with an estimate that risks being inaccurate, so I proposed the fairest solution I can absent an exact and true method.

Hello - Will the counterclaims be settled soon, now that the claim period is over?

2 Likes

Hello - Is it possible to answer this question? Or should it be brought up in the TG group?

1 Like

Hi there, it’s not too late. Expect a response this month. We have quite a few to work through, but we will response to every single request. The claims are over for those non-contesting claims, but those with counter-claims are still under review.

smiling_face_with_tear:Hi So this didn’t happen. Been going on too long which is a shame as it only affected very early investors. Many received a token sum who didn’t even experience a bug, yet those who had expected significant returns haven’t been made whole in any way, even though the value of those tokens is at many x less than the time they were not received. Also many times less than the tokens the free-for-all received back in January.