Solved: Farming Harvest “Bug”

SoulSwap Finance
3 min readSep 30, 2021

What we learned. How we responded. How we move forward.

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 in our docs. This helped guide us in our preparation and execution of the solution we enacted as a means to immediately and comprehensively eliminated shorted harvests.

We hope this will help restore confidence in the protocol and reassure you that your funds were safe and there were no bugs identified with the smart contracts themselves, but rather a miscalculation to pre-load the SEANCE contract with SOUL in anticipation of the methodology of accounting utilized by the Summoner contract.

Programmatic hypo-tested will be more comprehensively laid out in a testing environment for simulations next week. In the meantime, feel free to review the work done by Buns last night as a quick identification of the problem in order to execute an immediate solution after positive feedback: https://github.com/soulswapfinance/soulswap-farms

What’s Our Solution?

We transacted 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 Processed

  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

2. 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.

Note: This will be calculated next week, but the 250,000 SOUL is meant to ensure rewards are continually distributed in the interim.

3. Send 60K SOUL: to the cofounders who who sent an emergency 60K SOUL to replenish SEANCE to simulate the solution in production, which has proven to be successful with a reported 100% success rate.

0xBuns: 40,000 SOUL
DeGatchi: 20,000 SOUL

Warm Regards,
Buns and DeGatchi
CoFounders, Soul Protocol

--

--

SoulSwap Finance

The one-stop-shop for decentralized finance in the Fantom Ecosystem.