This is a message from the Ergopad team for EGIO stakers. Some of you may have noticed the “stake” button has been disabled. We will explain everything in this article.
The short answer is that the staking smart contracts have an error which means as soon as someone staked more than 1 million tokens, the smart contracts became unable to distribute tokens to anyone.
For context, these smart contracts were written for Ergopad, which has 2 decimals. The EGIO token has 4 decimals. When the Ergopad smart contract was audited, the issue was identified and the number of Ergopad tokens minted at 2 decimals made it impossible to ever encounter this bug.
The Ergopad team designed a version 2 of staking contracts which doesn’t have this bug, but these contracts don’t have unstaking fees. The EGIO team wanted staking to have early unstaking fees, to make sure that when they airdropped to stakers and did giveaways, people wouldn’t just stake right before a giveaway and unstake after. However, the Ergopad team didn’t have a V2 staking contract that would allow for unstaking fees.
In the interest of time, we decided to launch the V1 staking contract for EGIO, thinking it would behave exactly the same as with Ergopad. We did not account for the extra 2 decimals on the EGIO token, which meant that the math in the smart contract caused an overflow error as soon as someone staked 1 million EGIO tokens.
How will we resolve this
Anyone who has staked fewer than 1.1M tokens can still unstake. So you are welcome to do that whenever you’d like. We will be running a script every few days to check who has unstaked and what their unstaking fee was, and we will reimburse those unstaking fees via an airdrop.
For those of you who staked more than 1.1M tokens, we will send the full amount to you. You will not be able to unstake because of the overflow error, and can burn the stake key or send it to an empty wallet once you have been reimbursed. Don’t do anything until after we’ve reimbursed you.
The EGIO team is still very dedicated to launching staking for EGIO holders, and we will go ahead with the staking V2 contract shortly. This contract does not have early unstaking fees, so the team will come up with another way to ensure people don’t abuse the giveaways by staking right before and unstaking right after.
The replacement tokens will begin being sent early this week, once we’ve had time to build a script that scans everyone’s stake keys and can confirm we distribute the appropriate amounts. You may unstake whenever you’re ready. We will also work to have staking V2, just like Paideia’s staking, up and running for EGIO as soon as possible.
Speaking of staking V2, you can add to stake keys under the “manage” heading on the staking page, so unlike Ergopad’s staking, you only ever need one stake key in your wallet. This will be the case for EGIO just as it already is the case for Paideia.
What are the key take-aways
The Ergopad team has been running in startup mode since the beginning. There’s been a lot of quick fixes and code that works well enough but is by no means optimized. As many of you know, our website experienced major slowdowns recently, and even an outage the other day. We have been working extremely hard to get optimized back-end code to allow for our growing community and keep things running well.
One take-away from this experience is that we need to slow down, take our time with new features, give the developers time to think over problems and double check important code. Especially with immutable smart contracts, there is no room for error. We are very aware that we have to get these things absolutely right 100% of the time when people’s funds are at stake.
The team will no longer be taking on custom code requests until Paideia MVP has been launched. We have a functional codebase to handle vesting, staking (without unstake penalties), contributions, whitelists, and everything else we already offer. Part of the team will continue to optimize the backend, as this work will translate directly to Paideia.
Another thing we will be considering is the fact that users should be able to unstake and redeem their vested tokens whether our website is functional or not. This same philosophy must be applied to Paideia, as groups who create a DAO on that platform cannot rely on a single point of failure if they need to manage their treasuries. This is something the devs will work on while they build the platform, so you can clone a github repo and run a docker container which lets you build your own transactions and interact with any of the smart contracts we deploy.
The Ergopad team is dedicated to building everything we have promised and more, and will continue to work and learn from everything we do. We appreciate the community greatly, and you have been extremely understanding and supportive through this process. Thank you for putting your faith in us. We will make this right.