Veil-Project / veil

Veil-Project
MIT License
118 stars 92 forks source link

listtransactions and listsinceblock are not listing sent transactions, only received! #760

Open seanPhill opened 4 years ago

seanPhill commented 4 years ago

Occasionally I use listtransactions "*" nnn to check my wallet's history as I keep a spreadsheet with everything in it. Some other times I use listsinceblock BlockHash.

Not having done this for a while, and not seeing five outgoing transactions in my generated list, but having already seen them on the block explorer, I looked all through the list seeing no sent transactions at all.

I can gettransaction TXID no problem, as I have all the txids. And I can getblock from that information and see that it has over 400 confirmations now.

I expected a mixture of "category": "receive", and "category": "send", transactions. The list as it is now, and not how it was in the past is incomplete. What has changed?

After not finding the sent transactions in the "listtransactions" json output I checked the block hash of a transaction I already had in the spreadsheet and tried "listsinceblock" and found no sent transactions also! ⭕️

veil-cli 1.0.4.8 on mainnet

This was installed from the official 1.0.4.8 Linux binary downloaded from Github, built on December 16th, and I may have installed it on the 21st! The last time I did listtransactions, and got both sent and received transactions listed was on December 21st, including some sent txs that happened on the 19th. So it's not certain that the previous list was generated on the current version, or 1.0.4.6 that was running on this Ubuntu machine previously.

seanPhill commented 4 years ago

I have heard from someone else who definitely did get sent txes listed when they did listtransactions, although maybe it was done in the Debug Console of the GUI. Mine is CLI only.

Subsequently I have restarted the wallet and retried three forms of getting a transactions list: listtransactions (No sent txs in the list, although it covered the range where the spend was done.) listtransactions "*" 400 (Likewise, no sent txes found, although it is longer.) listsinceblock BlockHash from a block hash that was months ago. This found some sent txes, but not many, and not the recent ones. (I'll post here again when I have checked every sent tx that should be in the list.)

seanPhill commented 4 years ago

This is still happening, regarding the recent spends, but on further thought, it really is only today that this has happened. Every other day I have multiple times per day listed enough transactions to get all txids when receiving stakes, and checking that I have accounted for transactions back to any previously recorded, which includes spends, and the spends include spending the ten denoms in order to later remint them to a larger denomination.

So I might conclude that it is a problem with my wallet. Reindexing the wallet might be a solution, but first I might try a full reboot of the computer, which will require me also shutting down a lot of other stuff, so I don't do it very often. (The reboot didn't solve it.)

seanPhill commented 4 years ago

It's still happening today. Did a zerocoin spend (to a third party) and then a stealth (CT) spend. In the listtransactions only the received RingCT change appeared. The send component of the transaction was not listed. And the zerocoin spend before it was not listed at all, because there was no change returned on a zerocoin spend.

Checked BlockHash and then getblockheader 'BlockHash to get the height. Then rescanblockchain BlockHeight and listtransactions "*" 100 again, but it was not fixed. Only the received component appears.

I am presuming that my wallet is the only one with this problem, as it only started yesterday.

Checked my TESTNET wallet that also runs 1.0.4.8. This wallet has done over 22,200 transactions and is running a script for regular spending of ten denom zerocoins. Checked with the command done in the Debug Console of the Qt wallet on MacOS High Sierra (to contrast with the mainnet test done in Ubuntu CLI only.)

*`listtransactions "" 100` showed the received CT from the zerocoin spends BUT NOT any spend components of any transactions!**

seanPhill commented 4 years ago

I wouldn't make this a priority at all, as no-one else has reported this, but today with listtransactions "*" 300 a recent "send" was listed (autominting from basecoin), but going back to the time range of the original report, I still noticed missing sends, such as only listing the "received" parts of a spendzerocoin (from my own zerocoin) that went to my own stealth address.