FeedProjects
Developers
Settings
🎉 A new chapter begins: Boardroom has joined Agora
Learn more
protocol logo
Explore / Projects
BeethovenX

Proposals

Members

Information

Create Proposal

BeethovenX

ProposalsMembersInformation
Proposal
Back to Proposals
closedEnded 2 years ago · Snapshot (Offchain)

BIP-71: Recover FTM from Validator 167

By 0x42cb...A2B713

Background

On August 1st, the keys to the wallet for validator 167, which is not the Beethoven X validator, got compromised and his wallet was drained. In addition, the attacker also unstaked all the staked FTM from validator 167. Beethoven X has delegated 1M FTM to the affected validator through sFTMx. These funds are not at risk, but are also not earning any rewards at the moment. Over the past week, we’ve investigated ways to unlock the 1M FTM that we have delegated. After developing and testing options, we have deployed a contract to Fantom which allows our treasury to unstake the 1M FTM without any impact to sFTMx holders.

Technical details

When a delegator or staker wants to unlock the FTM pre-maturely, a penalty needs to be paid. In the normal use case when a user is withdrawing FTM, if we need to unlock early, the user who initiates the request will pay this penalty when he burns the sFTMx. In this scenario we don’t have a user that pays it and if we just unlock, it would result in a drop in the rate of sFTMx per FTM. We want to avoid this scenario under all circumstances. We’ve developed a contract that will unlock the vault and in the same transaction refund the sFTMx staking contract with the same amount of FTM so that no decrease in the rate will occur.

The contract source code can be found here: https://github.com/beethovenxfi/sftmx/blob/main/contracts/VaultUnlocker.sol The tests here: https://github.com/beethovenxfi/sftmx/blob/main/scripts/VaultUnlocker.ts The tenderly simulation here: https://dashboard.tenderly.co/shared/simulation/d493f3fa-776a-433c-86b4-f39b6b2f5082

The penalty that is due for the withdrawal is increasing over time at roughly 170 FTM per day. In light of this, we would like to move this proposal forward as fast as possible.

Motivation To make sure that sFTMx holders earn yield on all the staked FTM, we’ll need to withdraw and re-stake to a different validator.

Specification

The treasury will use this unlocker contract https://ftmscan.com/address/0xd0f62fbe32a72cd18ab8943b52220a7af6c743f4 to retrieve the funds. The course of action will be:

  • Transfer 6k FTM to the unlocker contract to fund the recovery of the penalty
  • Transfer ownership of the three affected staking vaults to above contract
  • Call unlockVault for each of the three affected staking vaults
  • Call harvestVault on the staking contract to initialize the 7 day withdrawal
  • Retrieve left-over FTM from the unlocker contract

After 7 days, we will withdraw the FTM from these vaults into the free pool.

We are in close contact with validator 167 and he has confirmed that he will reimburse the treasury for any penalty that it needed to pay in order to unlock the funds.

Risk/Impact

The current cost for the penalty of delegating sits at 3.3k FTM. While the validator has given their word that they’ll reimburse any associated costs, then there is a chance that the treasury would need to cover the amount otherwise.

Continue Reading
Connect Wallet to Add Note
0
Votes 65
VoterCast PowerVote & Rationale
0x28aa...AD0108
5.654M

Yes

0x43C4...69a89d
3.927M

Yes

0x04a4...F851d7
1.051M

Yes

0x92d6...Ba847F
741,246

Yes

0x5B30...58D2F6
653,550

Yes

SHOW MORE
VOTE POWER
0
Connect Wallet
Proposal Status
  • Thu August 15 2024, 08:00 pmVoting Period Starts
  • Mon August 19 2024, 08:00 pmEnd Voting Period
Current Results

1-Yes

15.68M

99.97%

2-Abstain

4,937.36

0.03%
DocumentationBrandingContact Us
Home
This Project is Currently Disabled

If you would like to enable it, please checkout below.

Boardroom Subscription

Sign up for an individual subscription (access all projects on the platform)

Subscribe
Enable Project

Enable the entire project for every user

Enable Project
Contact Us