keep-network / tbtc-dapp

Deposit BTC and redeem TBTC
http://dapp.test.tbtc.network/
MIT License
33 stars 31 forks source link

Redeem BTC that doesn't belong to me #280

Closed Damian00000 closed 4 years ago

Damian00000 commented 4 years ago

I have 2 ETH wallets: ETH1 0xd794cd50D6563313DC00c5471E554bc263b11741 ETH2 0x912B86bb0Ca53839E797A857A44628500dd10953 On ETH1 I got 0.002 TBTC On ETH2 I got 0.003 TBTC I decided to try to redeem my tBTC with ETH1. Enter TDT ID 0xC5234e5644822C5D27b60b9c09DbD4135e3C1A20, issued to me when making a Deposit using ETH1. https://ropsten.etherscan.io/tx/0xf8ccbf7c4ba736d7371671e5170cdb1863c9a525f03667d8c5ddbfb32a6360e2 Issue1

I reached step 3 and stopped there. TBTC was not debited from ETH1.

But what was my surprise when I found that they were written off from the ETH2 address. With the same TDT ID: 0xC5234e5644822C5D27b60b9c09DbD4135e3c1a20 https://ropsten.etherscan.io/tx/0x8c5c2970148a743a0d5fa668047e36c6b0fe87a4d27e6abd68d6b763ea4204b6 Issue 2

Most likely, the ETH2 wallet was selected when redeeming to metamask. But it doesn't have to work that way. What is the problem?

Shadowfiend commented 4 years ago

This is expected behavior. TBTC is fungible, TDTs are non-fungible; to get fungible TBTC, you trade in your nonfungible TDT to the vending machine contract. The nonfungible TDT then ceases to be yours, and can be retrieved from the vending machine by anyone willing to pay the lot size in TBTC. There's a bit more detail in the relevant part of the spec.

Closing this issue for now, but please let me know if I misunderstood what you were describing.

Damian00000 commented 4 years ago

I understand. Thanks!