steel97 / veil_wallet

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

No outgoing transactions for Linux and no outgoing transactions symbol for iOS #10

Open ohcee opened 11 months ago

ohcee commented 11 months ago

Describe the bug I sent a test into the Linux wallet and send it back out and only the incoming transaction appeared.

I also noticed that on the iOS version that all the transactions arrows are going in one direction even though they were ingoing and outgoing transactions.

Expected behavior Transactions to appear in transaction records. Also appear with the correct incoming outgoing symbol.

Screenshots no outgoing transactions IMG_74A52D4ACF63-1

Desktop:

steel97 commented 11 months ago

Hmm, that's strange, maybe veil node not scanned transactions yet? can you check if transaction appear within ~5 minutes? Regarding transaction type - to separate incoming and outgoing transactions we need something similar to wallet.dat in full node wallet, that is not yet implemented in this project. Node doesn't know whether transaction is incoming or outgoing

ohcee commented 11 months ago

I just re-checked the Ubuntu wallet and still no change, still no second transaction record. I can test a few more times and see if continues to happen.

Oh that's interesting, I didn't know that but OK so that explains that. Thanks!

steel97 commented 11 months ago

Oh that's interesting, I didn't know that but OK so that explains that. Thanks!

yeah, code is quite confusing because I tried to implement that feature before first release, but that was too difficult due to a lot of platform differences, so I left that for future releases

steel97 commented 11 months ago

I just re-checked the Ubuntu wallet and still no change, still no second transaction record. I can test a few more times and see if continues to happen.

could you please change node to other (for example if you used US1, change to EU2), wait ~30-60 minutes and check transactions list? this test will help to understand if problem is somewhere in wallet client or in node

ohcee commented 11 months ago

OK trying now. As soon as I changed nodes the one transaction disappeared and is transaction list is empty now. Still waiting for 30 more minutes. Will update soon.

steel97 commented 11 months ago

yes, that's expected result, node is scanning wallet (actually I made visual indication of this process https://github.com/steel97/veil_wallet/blob/69e1a925587a3e29dd38240d949d0d47e43820b9/lib/src/components/transactions_list_widget.dart#L13 but... node's lightwallet API always return synced state [if I'am not wrong, will check it once more little bit later])

ohcee commented 11 months ago

I see. I was going to ask about that, as most light wallets show a percentage or a number of blocks till the wallet is caught up and ready to use. Would be extremely helpful to users if possible.

steel97 commented 11 months ago

agree... but we have only one thing with lightwallet API - sync status variable (without % progress indication) https://github.com/Veil-Project/veil/blob/master/doc/lightwallet.md#check-imported-status by the way, I think I found possible issue with sync status, will try to fix it -- update unfortunately it seems that sync status reported incorrectly as I supposed...

steel97 commented 11 months ago

Update on issue, this is actually very interesting. When I pull tx list that belong to scan secret key of address I actually pull UTXO list (see: https://github.com/Veil-Project/veil/blob/master/doc/lightwallet.md#fetch-address-utxos) Now, imagine if we send coins and didn't get any change (for example sending whole balance). In that case node will not scan such transaction and it will not appear on tx list. Not sure how to fix it (for sure it's possible if we have some alternative to wallet.dat, but for now...need to investigate possible solutions)

ohcee commented 11 months ago

Just checked the ubuntu machine and just the single incoming transaction appears still missing the second outgoing one.

ohcee commented 10 months ago

For this would it be possible instead of an arrow on the left side of the transactions but a + or -. The wallet could check if the balance increased or decreased after a transaction and then add a plus or minus sign depending on the updated balance. I not sure if this would work but it could be a work around while we don't have an alternative to a wallet.dat.

Just a thought.

steel97 commented 10 months ago

Hmm, that's might work. But I leave this for future updates, I need to think about how to implement it in best possible way