steel97 / veil_wallet

Veil mobile wallet
https://veilproject.org
MIT License
7 stars 5 forks source link

Cannot send max coins or larger amount with Iphone app #11

Closed ohcee closed 9 months ago

ohcee commented 9 months ago

Describe the bug When trying to send the max amount out of the wallet the transaction fails. I have tried with subtract fee while sending from amount on and off. I tried different amounts lower but nothing worked until much a lower (see very bottom photo)coin amount.

To Reproduce Steps to reproduce the behavior:

  1. Go to main screen
  2. Click on send icon button
  3. Enter address of recipient
  4. Enter total number of coins ( with/without .decimal and with/without subtract fee from amount enabled)
  5. Press Next
  6. Confirm transaction and press Send
  7. Error occurs

Expected behavior The expected behavior is to make the transaction successful to send the max coins or close to the max out of the wallet.

Screenshots

IMG_8D49F1AF57B3-1 IMG_0D0D97B5E1D5-1

Smartphone

Additional context I was able to send a smaller transactions but never able to send the full amount. After the smaller amount was sent I was still unable to send the remaining full amount. IMG_0905

I have switch the node from US 1to EU 2 to see if this may fix it and I will test again after the transactions load.

steel97 commented 9 months ago

Thanks for bug report! I afraid this might be specific to your address (something wrong with UTXO to keyimage mapping). I was unable to reproduce this issue, however will check for possible solutions. Could you please check if issue happens with another address?

steel97 commented 9 months ago

Please try latest actions build, it should show more debug info when send fails

ohcee commented 9 months ago

I will test the updated version and try another address shortly. I will update after.

ohcee commented 9 months ago

Update:

So I have been testing back and forth with my linux wallet and iphone wallet. (Maybe a testnet option would be helpful for testing purposes) I tried to send the full amount from the linux wallet to a new address on my iphone wallet and got this error. (A "send Max" button or something would be great too.) Screenshot from 2023-12-15 08-51-21

I then tried to send the remaining amount from my iPhone to the linux wallet and got this error. IMG_1E289C14165B-1

steel97 commented 9 months ago

@ohcee hmm, interesting... I made some changes, verify-commit-tally-failed might be fixed now (I think I had this error previously with web-wallet, I applied same fix to mobile wallet). bad-anonin-dup-i means duplicate ringct index, for real outputs code make checks for duplicated indexes, but for some reason it still included in transaction (maybe fake anon outputs had same index, or serialization works not as expected). For this issue I also added some more debug info and additional checks. Please check latest build from actions tab

ohcee commented 9 months ago

@steel97 Good news is that the Linux wallet had no issues this time sending everything. It worked this time. ~The iphone wallet now has the same error message (as above) as the Linux wallet before with the (verify-commit-tally-failed(code 16))with "Subtract fee from amount" on or off. It gives the same error.~ I must have installed an older version of the IPA but I deleted all versions and downloaded then tried again and everything is fixed. I have sent multiple max balance transactions from both the Linux wallet and iPhone wallet. The issue seems fixed.

Closing this issue.

steel97 commented 9 months ago

I also just added send max button (icon on the right side of amount input field)

ohcee commented 9 months ago

Nice work on the max button. Testing it now.

Works on both iphone and linux.

steel97 commented 9 months ago

Some notes: send all balance button actually inserts available balance (if you have some unconfirmed coins they will be not counted until they confirmed by blockchain)

ohcee commented 9 months ago

One thing to add is when you use the send max button. The slider for Subtract fee from amount should be slid to on or the is no way to pay for the transaction fee. Currently you have to slide it manually.

steel97 commented 9 months ago

@ohcee done!