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

decred: Add decred. #1322

Open
wants to merge 20 commits into
base: decred-main
Choose a base branch
from

Conversation

JoeGruffins
Copy link

@JoeGruffins JoeGruffins commented Mar 7, 2024

part of #986

This pr adds a decred simple payment verification wallet. It does this by taking code at https://github.com/decred/dcrwallet and packaging it with https://github.com/decred/libwallet into a c library that we then use in cake. All private info is kept locally. The wallet will download and verify all block headers and c filters that it uses to find transactions. Thus initial sync can take a bit, depending on bandwidth. After initial sync subsequent syncs and other wallet functions are pretty fast.

There are still some points that need to be resolved that are listed in the body of #986 but this pr is big enough. We hope to get this into master before starting on those.

@OmarHatem28 OmarHatem28 changed the base branch from decred_main to decred-main April 3, 2024 12:55
@JoeGruffins JoeGruffins changed the title decred: rebase decred_main onto main. decred: Add initial decred screens and libwallet. Apr 4, 2024
@JoeGruffins JoeGruffins changed the title decred: Add initial decred screens and libwallet. decred: Add decred. Apr 4, 2024
@JoeGruffins
Copy link
Author

Updated the dcrwallet version and now we can always sync from the wallet birthday which is encoded in the mnemonic.

JoeGruffins and others added 15 commits July 12, 2024 19:01
…ios and macos (cake-tech#1240)

* change cw_decred from package to plugin

* add libdcrwallet dependency and link library for android, ios and macos

* remove spvwallet, make some libdcrwallet fns async, light refactor

* libdcrwallet: use json payload returns

* use specific libwallet commit hash

* decred: fix Rename wallet.

---------

Co-authored-by: JoeGruff <[email protected]>
This allows a persistent peer to be unset, falling back to decred
seeders.
@JoeGruffins
Copy link
Author

JoeGruffins commented Jul 17, 2024

possible bugs found by @ukane-philemon review:

  • Importing the same wallet from seed twice:
    Importing a wallet whose seed already exists works (for dcr and btc). (intenended?)
    The wallet becomes watch-only and users are not able to send from it. However, the send and exchange btns remains active and the user gets an error:

  • Cannot view address when losing peers but was synced:
    DCR Wallet address is not shown when the wallet is disconnected or it just reconnected but we were already on the view address page. (I think we should still show the wallet address connected or not, btc does)

The following is fixed:
- Missing tx history:
Missing transaction history: I sent 500 and 45 dcr to the same address at the same time. But got only the transaction history for the first transaction.

We suspect this one is an upstream issue...
- Can't use address book:
Address book is bugged. it creates a new field entry and uses the title as the wallet address and error

@JoeGruffins

This comment was marked as resolved.

-  move hasRescan method to WalletBase and implement for decred

Signed-off-by: Philemon Ukane <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants