JoeGruffins / cake_wallet

The open source repository for Cake Wallet, a noncustodial multi-currency wallet, and Monero.com, a noncustodial Monero-only wallet. Need help? Check out https://guides.cakewallet.com
https://cakewallet.com
MIT License
0 stars 2 forks source link

decred: Add remaining functionality. #10

Closed JoeGruffins closed 6 months ago

JoeGruffins commented 8 months ago

Adds all the stuff.

JoeGruffins commented 6 months ago

Some things we still want to change, but maybe in a new commit or pr because not critical. They need ui changes for us:

TODO list:

  1. Make the UI around persistent peers better. It looks like you can set multiple but currently it will only look at the last set I guess. We don't need one set at all but cake seems to barf if you have none, not saving the wallet at all. So it's just a port if we are letting the libwallet find peers for us.
  2. We need to add address discover as a sync topic. Should add fetching headers and rescanning as well.
  3. We don't want to give out an address before sync is complete, so need to disable the receive screen or something until synced.
  4. We dont want the user to go to the send screen when using a watching only wallet.
  5. There needs to be a way to tell that one is using a watching only wallet rather than a "normal" one.
  6. The next wallet version will have the ability to sync from a birthday, so the initial sync time will be greatly reduced. We will want to wait for a dcrwallet release so it may be a bit before we can use it here though.
  7. Related to the above but rescans should just start from the wallet birthday. The current date -> block method is temporary and not precise.

@martonp added four and five for watching only to this TODO list.

itswisdomagain commented 6 months ago

3. We don't want to give out an address before sync is complete, so need to disable the receive screen or something until synced.

I think this is critical because if we currently give out an address before sync completes and the address is used to receive funds, the user may not see those funds if the wallet upgrades the address derivation path at the end of the sync (as it does for newly-created wallets).

JoeGruffins commented 6 months ago

I think this is critical because if we currently give out an address before sync completes and the address is used to receive funds, the user may not see those funds if the wallet upgrades the address derivation path at the end of the sync (as it does for newly-created wallets).

It doesn't give them out currently. It fails silently, so the user will be wondering what is going on but they won't get an address.