Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tried to buy OMNI, took my BTC never gave me OMNI #1487

Open
silverbucket opened this issue Apr 24, 2017 · 14 comments
Open

Tried to buy OMNI, took my BTC never gave me OMNI #1487

silverbucket opened this issue Apr 24, 2017 · 14 comments

Comments

@silverbucket
Copy link

I transfered about ~0.1 BTC to my Omniwallet, then used the Exchange -> BTC/OMNI listing to buy OMNI. I tried several times:

https://www.omniwallet.org/explorer/inspector?view=e064a1820841ef564f7ee275afc884b9c554bed432ace42e04172c1c89b37d6f
https://www.omniwallet.org/explorer/inspector?view=35b00f1b4f1782d5b525fed976e3a876092240d25438d248694e0ce5be51edcd
https://www.omniwallet.org/explorer/inspector?view=ac3890fcea0774edcec9393412ffc0d437656e48f90b4d1af3fcbd5a400c050a
https://www.omniwallet.org/explorer/inspector?view=dba5b50655410243f380b44cfe84df1aebd872a64656fa467f4af08cc1da587c

Now most of my BTC is gone but I still don't see that I have any OMNI and am still unable to aquire any SafeCoin (which was the whole purpose of using Omniwallet).

@silverbucket
Copy link
Author

Is there anyone who can help to sort this issue out? Or a place that I should take this issue to other than here?

@dacoinminster
Copy link

That stinks - I'm sorry it isn't working for you. The transactions you posted are all of the "accept offer" variety. Did you actually send payment? It's a two-step process: first, reserve the coins so nobody else can buy them (accept offer), then send payment for the coins in BTC. It may be that the UI needs to be improved to better signal how this works.

@silverbucket
Copy link
Author

Hi @dacoinminster thanks for your reply. Yes I first reserved the coins then accepted the offer, so my BTC balance reflects the transactions, but I have no OMNI to show for it. Is there somewhere I can show the transaction of accepting the offer?

@dacoinminster
Copy link

I'm assuming the payment came from the same address. Can you find the payment transactions here?: https://blockexplorer.com/address/12KngzAVn574YwWXs6oWkY8AKYULqJxtJd

If you paid during the payment window, it should have worked. Since you aren't showing a balance of Omni, I'm assuming something went wrong. Hopefully we can figure out what happened, but I suspect the BTC is gone. However, it may be possible to find the person who received the BTC by posting in the /r/Omni reddit and asking nicely.

I apologize that you ran into this problem. I'm sure that even if you did make a mistake, there is some UI cue that could have avoided the problem. It's also possible that you did not make a mistake and have discovered a bug of some kind. Either way, I'll try to get someone to look at this once we have a timeline of what happened.

I apologize also for any delay in getting answers to your posts here. There may be long gaps in communication, but if you go more than a couple days without hearing anything, feel free to ping the thread again (like you did today).

Thanks!

@silverbucket
Copy link
Author

silverbucket commented Apr 27, 2017

@dacoinminster the latter of those 4 transactions say "invalid: false" and in the details have the amount of Omni that the transaction was for. The former 2 say "invalid: true". Does this help with anything? I believe the 2 ones that are not invalid are the ones where I actually did send bitcoin (those Omni amounts look correct).

Looking at the link you posted. I'm not entirely sure what you want me to find. In the omniwallet, I can't actually find the BTC transaction record (amount of BTC sent and to which wallet). When I look in the History, it just shows the OMNI links I posted above, which don't show BTC amount - though it does show the fee, just not the actual amount. I'm a bit confused by what the details mean (I don't know what invalid: true/false indicates, for example, or why there's no BTC amount.

I do know one transaction value was about .02, and the other was about .08, but don't remember the exact amounts and can't find in the omniwallet where these transactions would be listed.

@silverbucket
Copy link
Author

Hmm, doing a bit more digging, I think perhaps this may be at least the main transaction (there were several that were for .004~ which I am a bit confused about. It reminds me that in the Omniwallet at first there were several JSON errors and I kept re-trying and failing, this could be related.

So anyway this transaction looks like the main one I made to get ~11-12 Omni:

https://www.blocktrail.com/BTC/tx/8691468a639581f723b7de6110b6a9b0ce49789503ae4d1984b4d73ab0b8ee66

Does it give any hints? Not sure how to proceed, I must admit I'm still not entirely sure how Omni works so was this an honor system thing or was someone definitely obligated to send me Omni via code enforcement and a bug let them off the hook?

@dacoinminster
Copy link

Definitely not the honor system. Once you have accepted an offer, the Omni are reserved for you by the protocol for the duration of the payment window, and if you send payment during that window, the Omni are owned by you. There's nothing the seller can do to rip you off.

This link might be helpful: http://omnichest.info/lookupadd.aspx?address=12KngzAVn574YwWXs6oWkY8AKYULqJxtJd

One important thing to note is that you had two valid "accept offer" messages, THEN two invalid "accept offer" messages (the invalid ones came AFTER the valid ones).

Now let's look at the transactions for another 3rd party, who ended up actually purchasing some of the coins you were trying to purchase:

http://omnichest.info/lookupadd.aspx?address=1QKUMRDSn5xy9cWPo7haSxMFRTYkPsjcej

You'll note that they are recorded as sending payment, and they were successful in purchasing those Omni, which is probably why your later transactions were invalid (those Omni were no longer for sale).

Next let's look at the seller's address: http://omnichest.info/lookupadd.aspx?address=14k4GmbeTAwidUUMi99L4f1UDdMD7QjwGd

You'll note there are a couple invalid reservations in there from you ("Accept Sell Offer"), but no invalid payments ("Pay Sell Offer") at all.

Now let's look at the first seller you tried to purchase from: http://omnichest.info/lookupadd.aspx?address=1Nexv9UwoaJafkZJzz2D5wXHddbsuzEzmE

Again, you can see your reservation coming in at 4/20/2017 4:12:20 PM, but no sign of any payment from you.

It would really help if we could find the bitcoin transactions where you sent actual BTC intending to purchase Omni. For instance, do you know the address that held the BTC before you sent it? Do you know the address that sent the BTC into Omniwallet in the first place? Can you post a list of bitcoin addresses you have used in OmniWallet or in other wallets which sent or received from Omniwallet? Anything like that would be helpful. The missing piece here is the BTC payments, and it's hard to tell what went wrong without finding a trace of them. Thanks.

@silverbucket
Copy link
Author

silverbucket commented Apr 27, 2017

Hi @dacoinminster thanks for the info. So I can definitely provide the wallet address that sent the BTC into the Omniwallet. It was from my breadwallet and here are the two transactions:

0.09 BTC:
https://www.blocktrail.com/BTC/tx/1edad1abeed106e24d013f07212cb5156e04331c4517ec739b5f5be8a298ae65

0.02 BTC:
https://www.blocktrail.com/BTC/tx/254874d92534ae60c5cd05cdfc04bdec99f26865063f4bfde97682c499b98fcf

They both went to my Omniwallet address, which is: 12KngzAVn574YwWXs6oWkY8AKYULqJxtJd

They only thing I ever did from my Omniwallet address is try to buy OMNI (I did not send any BTC back out to any of my wallets), however like I said there were times when I was trying to accept an offer, it would ask again for the amount and then I'd get JSON errors about not having enough funds, which is why I sent in another 0.02 BTC because I thought somehow the costs + miner fees were going above my balance (but it was very unclear what was actually going on, because small transaction fees did seem to be coming out even though the transaction amount was not).

Does this information help?

@silverbucket
Copy link
Author

silverbucket commented Apr 27, 2017

Looking at the transaction history of that wallet, that does seem to be what happened:

https://www.blocktrail.com/BTC/address/12KngzAVn574YwWXs6oWkY8AKYULqJxtJd

The first 0.09 arrives, then a series of small transactions which I think were happening when I would try to accept an offer, enter an amount of BTC and then get a JSON error response from the server about not enough funds, but the service fee still seemed to be processed.

Then I saw there was one offer I'd bid on that was allowing me to accept (but due to the small transaction fees I didn't have enough another) and so I transferred in another 0.02 and ordered 11.2 (or so) Omni for ~0.089 or something like that. That was accepted without a JSON error, but the Omni was never received.

@dacoinminster
Copy link

ok - I think I found the root description of the problem. It appears that this is the transaction where you tried to pay for the Omni:

https://blockchain.info/tx/8691468a639581f723b7de6110b6a9b0ce49789503ae4d1984b4d73ab0b8ee66

But for some reason, that transaction is not showing up at all as a valid Omni transaction. For instance, the history of your address doesn't show that transaction at all: http://omnichest.info/lookupadd.aspx?address=12KngzAVn574YwWXs6oWkY8AKYULqJxtJd

And if we search for that TX (8691468a639581f723b7de6110b6a9b0ce49789503ae4d1984b4d73ab0b8ee66) in OmniChest, it doesn't find any Omni transactions with that hash: http://omnichest.info/lookuptx.aspx?txid=8691468a639581f723b7de6110b6a9b0ce49789503ae4d1984b4d73ab0b8ee66

I've emailed the developers, and asked if one of them is available to look into this (hopefully one of them will post here). I copied you on the email using the nick (at) silverbucket (dot) net address in your github profile. The central questions are 1) Why was that not a valid omni transaction, and 2) Why did OmniWallet (presumably) generate a transaction that was not valid?

In the meantime, it might be worth posting in the /r/omni reddit that a distributed exchange transaction failed for unknown reasons which we are looking into and ask if the owner of 14k4GmbeTAwidUUMi99L4f1UDdMD7QjwGd might be kind-hearted enough to send back your BTC. Probably not a great chance that will work, but it might.

@dacoinminster
Copy link

Summary of an email thread about this: it appears the TX fee was too low, so the payment, while sent in time, was not included in the blockchain for something like 7 hours, by which time the payment window had expired :(

Hopefully we can make a change in Omniwallet to make it clear that the TX fee needs to be generous to ensure that the payment is received during the payment window, and possibly we can indicate to the user when their payment fails for that reason.

@silverbucket
Copy link
Author

Thanks for your help in tracking down the issue. From what I remember, I didn't choose a fee at all. It was suggested for me by the UI.

This seems like a very bad issue. By enforcing a window yet not taking measures to ensure a timely transaction, the system can easily loose users BTC, providing no rollback or mitigation for delays in processing.

So to be clear, there is nothing that can be done?

@silverbucket
Copy link
Author

silverbucket commented Apr 29, 2017

Also perhaps a separate issue but it does seem like another serious bug where transaction fees were leaking from my wallet while there were transaction submission errors in the UI.

EDIT: I see they were "reservations" but were somehow invalid?

@dacoinminster
Copy link

Maybe they were invalid because the coins were already reserved by the time the transaction was included in the block chain? It could be the same fee issue causing both problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants