Skip to content

Problem: Incompatible address derivation leading to unrecoverable funds sent via IBC #79

@VictorTrustyDev

Description

@VictorTrustyDev

Not a bug

Problem:

Every Ethermint-based/Evmos-based chains are using eth_secp256k1 and Coin Type=60 so the delivered address will be different with the other non-EVM compatible chains. Two cases can happens:

  • Users sending funds from an EVM-compatible chains, so address will be compatible and users can access to their funds.
  • Users sending funds from non-EVM-compatible chains, with different eth_secp256k1|| Coin Type, the address is in-compatible so they can not access to their funds.

But, this won't usually happens, can say rare due just from mistake of front-end developers or sometime user when manually convert address.

Solution:

Can choose one of the following options:

  1. Re-use x/recovery module from Evmos.
  2. Implement a light-weighted module that invokes "refund-to-sender" in certain conditions.
  3. Just ignore it.

In case of decided to implement a recover funds method, the following condition should be match.

  • Account must not sent any transaction before (nonce = 0).
  • Only base accounts are considered as source of funds that recoverable (non-contract, non-module, non-vesting,...)
  • Check ERC-20 token pairs to detect balance of already converted by IBC middleware.

Metadata

Metadata

Labels

enhancementEnhancement / bug-fixes or re-work on old feature

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions