Veil-Project / veil

Veil-Project
MIT License
118 stars 92 forks source link

GUI transactions list (in the wallet overview) shows different descriptions for identical transactions (minor issue) #988

Open seanPhill opened 2 years ago

seanPhill commented 2 years ago

Screen Shot 2022-02-02 at 1 36 03 pm Noticed while running a script doing identical ringct to ringct transfers from one wallet to another.

The receiving wallet's transactions list in the Qt GUI wallet shows differently for no apparent reason. These are all for the identical sent amount 50000.00000000 veil, all from the RingCT balance.

If the amount showing as received appears as 49999.99999999 (that is, one satoshi short) then the description will invariably say "Received with RingCT Address anonymous". If the received amount shows as 50000.00000000 then the description will say "Received with RingCT Address stealth".

This is minor, but might be addressed in the long run as part of an overhaul of what this list displays with code inherited from the Bitcoin Core Qt wallet. Other displayed transactions that we have gotten used to are more confusing for new users, such as how we immediately know what a transaction is, just from the value of the negative amount shown, such as the fee divided by 0.01 is the number of zerocoins minted, while the description may vary depending on whether the mint occurred from basecoin and where the change went.

Zannick commented 2 years ago

Each transaction is supposed to be 2 txos, right? The UI should add them together to get the original send. I wonder if 1 sat actually got taken out or if it misunderstood the split somehow. Weird how that seems to be consistent with the address not being recognized.

seanPhill commented 2 years ago

Well, here's an example of one showing 1 satoshi missing in the wallet, and "Received with RingCT Address anonymous". Two RingCT outputs and a RangeProof is correct. TXID dd69220d8b29d439a11d38f0d2d2c712c53e56f449c4545d477ce217f9a026be

seanPhill commented 2 years ago

When I look at gettransaction ... in the wallet I can see the one satoshi, which reports as "is_mine": false, but the one that shows as "is_mine": true, shows the entire value without losing the satoshi, and the first part of vout is

        "type": "data",
        "ct_fee": "0.0037272",
        "data": "06f0df16",
        "is_mine": false,
        "has_tx_rec": true

the fee that was paid by the sending wallet.

us77ipis commented 2 years ago

@seanPhill You could check if this issue is also solved by #1001

seanPhill commented 2 years ago

Yes, partially, and in my opinion acceptably! It seems a little idiosyncractic, but there may be a hidden reason for the label change between "stealth" and "anonymous". PR1001 fixed all the amounts, which now show as exactly 50,000 VEIL for all of these identical CT to RingCT transactions I sent to another fresh wallet. PR1001-Fixes-Shown-Amount

seanPhill commented 2 years ago

The above was filtered to show only RingCT transactions. The first, and in one case, the second also, in a series of these 50,000 Veil amounts received in RingCT were labelled "Stealth", while subsequent ones received shortly later were labelled "Anonymous". In the notifications of the operating system it mentioned that it was "Label: Stealth", while the subsequent ones were received without a label. I have no issue with this behaviour and (as the original reporter of the issue) recommend that we close this issue. Screen Shot 2022-06-08 at 9 09 49 am

seanPhill commented 2 years ago

By the way, this is as observed on testnet. It is very unlikely that any significant number of people could duplicate or test or care about this remaining issue of some (RingCT to RingCT transactions) received labelled "stealth" and some not labelled, on mainnet. ‡ By the way (and this is a continuation of testing with PR1001), the CT to RingCT ones I sent were all labelled with an address, and all shown as a single transaction § for the exact amount received. The first of these pictured, I sent with the fee subtracted from the sent amount. I changed that for the subsequent ones. Screen Shot 2022-06-08 at 9 20 30 am

‡ It might be worth noting that the default stealth address in the Veil wallet has the label "stealth". Amounts received on any subsequently created receiving addresses might be labelled however the user prefers. I have not tested for this.

§ RingCT transactions are received as single transactions as the amount and addresses are hidden from public view, while received CT are always received in two random amount pieces.

seanPhill commented 2 years ago

I couldn't resist doing another test for the sake of completeness! With a quick succession of amounts received on a new stealth address labelled "El dorado" it was still possible for the label to not be found when receiving. Those also show with the text in grey, similar to how the amount is shown in grey when the transaction has not received any confirmations yet. ... So, technically, this issue is not solved as written, which was not in reference to the amounts being anomalous (solved by PR1001). The label description varying remains, but is still considered a very minor issue. So I'll leave it open in order to save any other user reporting it later. Screen Shot 2022-06-08 at 9 38 21 am