WARNING: Please stop using the Distributed Exchange for now. There's something funky going on with matched orders.
The owner of this address posted an order to sell 1000 XCP for 7.5 BTC:
http://blockscan.com/address.aspx?q=1KDiHRwFsAEVEmmqQP7jR9GaBp8Wu7uLoaSomeone bought 100 XCP from him for 0.75 BTC and paid for them.
But it looks like the XCP seller was credited with an additional 100 XCP?
The XCP seller's address now shows an additional 100 XCP received and a current balance of 100 XCP.
WARNING: XCP seller referenced above is attempting to double-spend. DO NOT USE DISTRIBUTED EXCHANGE. YOU WILL LOSE YOUR BITCOINS.
I am only seeing a balance of 0 for the address 1KDiHRwFsAEVEmmqQP7jR9GaBp8Wu7uLoa which looks about right. The total received depends on the number of credits that is related to the address
And a credit of 100+ XCP for
http://blockscan.com/address.aspx?q=134NJLMjRUf2D74L3myc7MXwJSAUgkqxypCheers
The balance is now 0 because the seller sent a new order to sell the 100 XCP he was wrongly credited.
Order: sell 100.01818182 XCP for 0.86 BTC at 0.0086 BTC/XCP in 1000 blocks with a required fee of 0.0001 BTC (4b8d3c3c...2d3c2425)Effectively, both the buyer and seller received those 100 XCP, which is a double-spend.
This is no joke. I'm not editing my red caps until this is fixed.
As far as I can tell, there were two order matches, one of which 134NJLMjRUf2D74L3myc7MXwJSAUgkqxyp paid for, and the other of which he didn't. The order match that expired, when it expired, recredited 100 XCP to 1KDiHRwFsAEVEmmqQP7jR9GaBp8Wu7uLoa; the other order match was paid for, however, and for that 134NJLMjRUf2D74L3myc7MXwJSAUgkqxyp received his 100 XCP. If this summary is wrong, lay out what you think happened as clearly as possible, so that I can find any problems in the parsing.
Tx0 Tx0_Address Forward Asset Tx1_Address Backward Asset Remarks
3138 1KDiHRwFsAEVEmmqQP7jR9GaBp8Wu7uLoa 100.01818181 XCP 134NJLMjRUf2D74L3myc7MXwJSAUgkqxyp 0.75 BTC Invalid: expired awaiting BTC payment
3138 1KDiHRwFsAEVEmmqQP7jR9GaBp8Wu7uLoa 100.01818181 XCP 134NJLMjRUf2D74L3myc7MXwJSAUgkqxyp 0.75 BTC Valid
This is the bug right here. Both these btcpays are for the same order-match. There should only be one, not two.
What happened was counterpartyd recognized the first btcpay as valid. But then a second identical btcpay was generated, which should have been recognized as invalid: order already paid instead of invalid: expired.
Because it was recognized as Invalid: expired, the XCP were credited back to the seller even though they had already been credited to the buyer with the first Valid btcpay.
My interpretation is that there were two order matches with the same
tx0 and different
tx1s (and the Blockscan.com interface is just misleading). The btcpay was for the second order match.
EDIT: Note that there
is a bug that I noticed yestereday where the size of an order is not replenished after a missing BTCpay. However, this won't cause any loss of funds.