CP126: Recovery of lost tokens in bridge transaction

cp: 126
authors: @Imdior
contributors: @cdamian , @Jeroen
uses-component: cp4
technical-proposal: yes
requires-onchain: yes
impacts/modifies: -
status: passed
date-proposed: 2024-08-19
date-ended: 2024-09-02

Short Summary

Recovery of lost tokens in the bridge transaction

High level objective

Recover and restore lost tokens to token holders who were affected by the bridge issue

Background

During the last 30 days, four bridge transactions were marked as unsuccessful or pending. In addition, affected users reported the issue with bridging assets in both directions wCFG-CFG, and CFG-wCFG.

Example of the error:

ExtrinsicStatus:: 1002: Verification Error: Runtime error: Execution failed: Execution aborted due to trap: wasm trap: wasm unreachable instruction executed

After the test the issue was found and fixed, however, unfortunately, some of the transactions didn’t go through correctly. The tokens were deducted from the source account, but the bridged funds didn’t arrive at the destination addresses.

Affected wallet addresses:

4d22XqtCaG7gwmvA2kVVcmxgFa8LXxWm1SFgkwNCg3CFx8ZX
4fj9NVP1zXkeEpaXiqAAWrGHCY6AL8W6kDyqxR7s62EC8Sca
4gnDyUcvnAurrdwZ9AVtQN4aQAPK3Q66zJRTeqPoYLnwiXkc
4h6uoT16YyH4NBnJ16g24vcjZ4MpCxZj54RawHtv7pF9JnUm
  1. Bridge direction: wCFG->CFG
    Wallet Address: 4d22XqtCaG7gwmvA2kVVcmxgFa8LXxWm1SFgkwNCg3CFx8ZX
    Tx link: https://etherscan.io/tx/0xd96a22a30e9fc2d06a864967b66fc0b206cf315afa5a2a9737a1ae7b7dbc90fc
    Value: 0.01 CFG

  2. Bridge direction: wCFG->CFG
    Wallet Address: 4fj9NVP1zXkeEpaXiqAAWrGHCY6AL8W6kDyqxR7s62EC8Sca
    Tx link: https://etherscan.io/tx/0x34e3cc25b5fc58d32f32d7857d9e7310b6f5458618c68524cd3f1280e3ac253d
    Value: 100 CFG

  3. Bridge direction: CFG->wCFG
    Wallet Address: 4gnDyUcvnAurrdwZ9AVtQN4aQAPK3Q66zJRTeqPoYLnwiXkc
    Tx link: https://centrifuge.subscan.io/extrinsic/6072484-2
    Value: 3,534 CFG + 100 CFG Bridge Fee = 3,634 CFG

  4. Bridge direction: CFG->wCFG
    Wallet Address: 4h6uoT16YyH4NBnJ16g24vcjZ4MpCxZj54RawHtv7pF9JnUm
    Tx link: https://centrifuge.subscan.io/extrinsic/6077303-2
    Value: 701,167 CFG + 100 CFG Bridge Fee = 701,267

Description of Activity

Since the tokens were deducted from the source account, but they have never been minted or wrapped on the destination account the tokens have been marked as lost.

This means that the tokens were deducted from the circulating supply (CFG-wCFG, wCFG-CFG) and they have never been minted on the destination network.

This proposal aims to restore lost tokens on affected accounts by minting the total lost balance in a keyless account and then “force transfer” the corresponding amounts to affected addresses.

Calculation:

 Total CFG lost: 701,167 CFG + 3,534 CFG + 0.01 CFG + 100 CFG = 704,801.01 CFG
 Bridge Fees: 200 CFG
 Grand Total CFG: 704,801.01 CFG + 200 CFG = 705,001.01 CFG

Change or improvement

Recovering the lost tokens on affected wallet addresses.

Alignment to the mission of Centrifuge DAO

Transparency and accuracy are fundamental in Centrifuge DAO.
Recovering the lost tokens will restore financial accuracy and ensure that all financial activities are accurately recorded and accounted for.


Github link: CP126

3 Likes

Hello folks,

Ty @ImdioR for bringing this up. It indeed aligns with the mission of the DAO. However, I believe this will require developer resources, so I wanted to share with you all how Tether manages their recovery requests. Tether charges a 10% penalty fee or $1000 (whichever is greater) for amounts over $1000.
I think this idea can be tailored to CFG DAO. We could implement a fee structure based on what the DAO and the core team consider appropriate.
Additionally, I encourage the community to develop an automated way to report lost funds while acknowledging the penalty. This could streamline the process and make it more efficient for users and the DAO alike.

2 Likes

Good day @0xnix
This is an interesting point of view. Maybe this approach could be implemented in case of restoring lost tokens, such as in this case: https://github.com/centrifuge/cps/blob/main/cps/CP90.md

However, I don’t think that this approach could be applied for the tokens lost in the bridge transfer because there isn`t any fault on the user end. The issue was found and fixed by the Centrifuge Eng Team.

3 Likes

Council Motion 102 for Recover and restore lost tokens to token holders who were affected by the bridge issue is live now.

If passed, this motion will create a referendum for all CFG token holders to vote on with a voting period of 7,200 blocks (~ 24 hours). The motion is being fast-tracked.

Please vote on this motion here at your earliest convenience councillors:

3 Likes

Dear Centrifuge Councillors: @mikiquantum @vedhavyas @lucasvo @cassidy @thespaceacatjr
Please vote on Aye or Nay!
Thank you.

2 Likes

Hey Ivan,

I understand - it makes sense this approach fits better with CP90. I see in CP90 the vesting time was increased by 1/3, which could be suggested as a penalization instead of the recovery fee. The 360-day choice needs community discussion, but it seems valid. Happy to draft a small proposal adapting this concept.

1 Like

Good day
The Council Motion 102 has passed and now becomes a Referendum 64 for all CFG token holders to vote on.

IPFS Remark: QmZLGHt4k2nuuiu4gdiBcfkSCyMwCCesF18Y2hekM1Szeh

https://centrifuge.mypinata.cloud/ipfs/QmZLGHt4k2nuuiu4gdiBcfkSCyMwCCesF18Y2hekM1Szeh
# 2024-08-19 CP126: Recovery of lost tokens in bridge transaction

By casting your vote on-chain, you indicate your approval of minting and distribution of lost CFG/wCFG tokens in bridge transactions into the affected
wallet addresses:

1. Mint 0.01 CFG and transfer them into Wallet Address: 4d22XqtCaG7gwmvA2kVVcmxgFa8LXxWm1SFgkwNCg3CFx8ZX
2. Mint 100 CFG and transfer them into Wallet Address: 4fj9NVP1zXkeEpaXiqAAWrGHCY6AL8W6kDyqxR7s62EC8Sca
3. Mint 3,634 CFG and transfer them into Wallet Address: CFG4gnDyUcvnAurrdwZ9AVtQN4aQAPK3Q66zJRTeqPoYLnwiXkc
4. Mint 701,267 and transfer them into Wallet Address: 4h6uoT16YyH4NBnJ16g24vcjZ4MpCxZj54RawHtv7pF9JnUm

## References
1. [CP126] ( https://gov.centrifuge.io/t/cp126-recovery-of-lost-tokens-in-bridge-transaction/6527 )

The Referendum 64 is open for 7,200 blocks (~24 hours). Please vote on:

:ballot_box: Vote in the portal: CP126: Recovery of lost tokens in bridge transaction

:ballot_box: Vote on SubSquare: CP126: Recovery of lost tokens in bridge transaction

Please vote on the referendum.

1 Like

The proposal has passed and all funds were distributed to the affected wallet address.
Thank everyone for your support.

2 Likes