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

Sent Amount and Shielded Memo is rendered twice #164

Open
luckytokidoki opened this issue Feb 1, 2023 · 18 comments
Open

Sent Amount and Shielded Memo is rendered twice #164

luckytokidoki opened this issue Feb 1, 2023 · 18 comments
Assignees
Labels
userfacing this is an issue affecting users rather than devs

Comments

@luckytokidoki
Copy link

luckytokidoki commented Feb 1, 2023

I recently sent two shielded memo from two different Zingo wallets on two different device, Zingo (104) on Android and Zingo (115) on M1 Mac. The transaction was successfully sent but when opening the transaction details, the sent amount was shown to be doubled and shielded memo was rendered twice (see screenshot). The total sent was also mistakenly labeled as Transaction Fee.

I thought I had mistakenly copied the message, but I saw this behaviour on two different devices. I also remember that I have encountered behaviour like this when using Zecwallet Lite. I forgot which Zecwallet Lite version that was, but it was either on Android or Ubuntu.

AFAICT, this behaviour only occurs in sent transactions. Received transactions are rendered correctly.

@luckytokidoki
Copy link
Author

luckytokidoki commented Feb 4, 2023

I tried to rescan and the behavior above disappeared. Sent transactions are rendered correctly.

I suspect this behavior occurs because somehow, when sending a transaction the wallet will record it to transactions list. And the same transaction will be recorded again after that (perhaps after the transaction is included in a block?).

@juanky201271
Copy link
Contributor

Thanks for the info @luckytokidoki , @AloeareV can you take a look at this.

From the UI perspective:

  • transaction amount is: -0.2400100 is correct = 0.24 + 0.0001
  • transaction outgoing_metadata amount is: 0.48 (*)
  • fee with those amounts -> It is badly calculated.

(*) here I'm guessing two scenarios:

  • only one item in outgoing_metadata -> wrong amount...
  • more than one item in outgoing_metadata -> maybe two items with 0.24 each one... I don't know if this make any sense.

@fluidvanadium fluidvanadium added bug Something isn't working userfacing this is an issue affecting users rather than devs and removed bug Something isn't working labels Feb 16, 2023
@AloeareV
Copy link

I think what's happening is when a wallet is closed and reopened with an incoming transaction in the mempool, the wallet adds the amount and memo to its TransactionDetails instead of setting the amount and memo.

@juanky201271
Copy link
Contributor

@AloeareV and the next question is: How we can fix this? Can I identify a pattern in the data/UI to solve this issue, or the change have to be in the rust layer...???

@AloeareV
Copy link

Just replicated it on zingo-cli, so this is a rust layer issue. I have an idea of what might be going wrong, taking a closer look now

@juanky201271
Copy link
Contributor

@AloeareV @zancas
Any luck resolving this?

@AloeareV
Copy link

Oh! This was solved in zingolabs/zingolib#253

@dismad
Copy link

dismad commented Jan 14, 2025

This bug has resurfaced for me. Here is how I produce the double memo:

Using mobile ywallet: version 1.8.0+555 for android
Using zingo mobile: 1.10.3-0 for andriod

note: The amounts are also doubled.

Send funds from ywallet in the transparent pool => into Zingo's default UA address with a memo

This has been verified on by two separate folks.
bug2
bug1

@juanky201271
Copy link
Contributor

Oh! This was solved in zingolabs/zingolib#253

@AloeareV can you take a look at this? seems not solved.

@juanky201271 juanky201271 reopened this Jan 14, 2025
@juanky201271
Copy link
Contributor

@Edicksonjga can you please reproduce this issue manually? thanks.

@Edicksonjga
Copy link

This bug has resurfaced for me. Here is how I produce the double memo:

Using mobile ywallet: version 1.8.0+555 for android...

@dismad , could you please verify that same transaction in YWallet by opening it from the History tab?, take a screenshot and drop it here with the TXID, please.

@dismad
Copy link

dismad commented Jan 15, 2025

Another interesting observation is the ywallet history shows nothing for the memo, but I did indeed create one. I'll post the two Zingo screenshots as well. One for sapling and the other for Orchard, I guess this may be a clue of whats going on?
SmartSelect_20250115_084603_Zingo
SmartSelect_20250115_084627_Zingo
SmartSelect_20250115_084305

@Edicksonjga
Copy link

According to my tests there is no error, YWallet splits in half the funds you send to a unified address with the two shielded receivers, that means that the transaction is sent as a multiple transaction, half to Sapling and half to Orchard and each one with a Memo, that's why it looks double from Zingo. @dismad @juanky201271

image

@dismad
Copy link

dismad commented Jan 16, 2025

My main concern is the memo comes up twice, I'm not sure that looks right. I only sent 1 tx, with 1 memo, and I'm getting two memos in zingo.

@Edicksonjga
Copy link

My main concern is the memo comes up twice, I'm not sure that looks right. I only sent 1 tx, with 1 memo, and I'm getting two memos in zingo.

I don't think there is much we can do there, it is YWallet that sends the transactions like that, can the user avoid it? Yes, manually in each transaction or by default from the YWallet configuration.

But if we look at it from the logical side, it is one transaction with two receivers, two amounts, two memos, so from Zingo it is reflected as such and that is fine!

@dismad @juanky201271

@dismad
Copy link

dismad commented Jan 16, 2025

I see your point. Imagine this though: a CEX user sends funds to transparent Ywallet, and wants to shield them with Zingo. They send to the default UA, but now get two memos for every tx with memo. I'll report to ywallet and see if anything can be done. Thanks for your time <3

@Edicksonjga
Copy link

I see your point. Imagine this though: a CEX user sends funds to transparent Ywallet, and wants to shield them with Zingo. They send to the default UA, but now get two memos for every tx with memo. I'll report to ywallet and see if anything can be done. Thanks for your time <3

Perhaps in this type of transaction Hanh can eliminate sending two memos to the same wallet, although as I mentioned before, it can be avoided from the settings or by simply selecting to only send funds to Orchard before tapping on the plane to send.

@juanky201271
Copy link
Contributor

Thanks guys, if you think the issue is resolved, feel free to close this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
userfacing this is an issue affecting users rather than devs
Projects
None yet
Development

No branches or pull requests

7 participants