Open MaxHillebrand opened 2 years ago
We keep having troubles with wallet recovery, usually it's a too low gap limit.
The problem is not the gap limit being too low, either we are not scanning correctly or we are using addresses outside the range of the gap limit. Most likely it is the later.
The actual gap limit of my big wallets are all well above 500. Check this in your own wallet statistics.
The default scan with it's 100 [I think?] gap limit does not pick them up. I always have to manually increase the gap limit to work around the issue.
This has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
I am refactoring the KeyManager
class to add support for taproot scripts and before starting to implement anything I decided to clean a bit that class because it smells really bad. Among many changes that I think will be good, these are the ones that come to my mind now:
KeyManager
uses internal segwit keys for both, change scripts and coinjoin output scripts. By using internal taproot derivation paths for coinjoin scripts (locked) we will end with effectively segregated sets of keys by purpose so, external segwit for receiving, internal segwit for change and internal taproot for locked coins (coinjoin outputs)There are many other things to do like writing tons of tests for the KeyManager
, clean the code (there are 6 methods called ToFile
!), minimize the number of moving parts (mutations) and ensure thread safetyness to mention only a few.
In summary, if there is a problem in the KeyManager this is when we will catch it.
This has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
ACK, I recovered a non-BIP39 seed recently that had an unexpected 300+ address gap, it was a nightmare because no wallets that supported the seed type also supported gap limit adjustment.
this should not be in the wallet settings, but an option in the wallet resync button, because after a change to the gap limit, the wallet should be resynced.
We keep having troubles with wallet recovery, usually it's a too low gap limit. An easy manual solution is to add this config to the wallet settings.
A more complex and holistic solution is to have a graceful rescan process, which is out of the scope of this issue.