-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Notify if wallet balance could be incomplete due to utxo limit or backlog history #1930
Comments
can you share with me an address that causes this issue? |
@ecdsa Any address that has either too large UTXO set (unspent transactions) either too large spent TXO history. Any popular address would do, for example: 1dice8EMZmqKvrGE4Qc9bUFf9PX3xaYDp - shouldn't we code the client to interpret a certain error code sent by the server either for the utxo set or spent txo set being overlimit? |
I imported 1dice8EMZmqKvrGE4Qc9bUFf9PX3xaYDp in a wallet. |
But does it show the entire history of 3195776 transactions?I am not saying the wallet handles these kind of addresses incorrectly, just that it's not explicit to warn / notify the user by displaying a message if:
Also, how do we treat the dust UTXO's of an address in both current wallet and sweep function? Might document this to be explicit to the user as well. |
I agree it would be better to handle these cases explicitly. |
Right - sorry if I've written this confusing. I guess (low priority) we could adjust 2.7.x to get some error codes from the server (when one of the limits [spent TXOs or UTXOs] is reached, disconnect and warn the user that either the balance either the history backlog is incomplete and should use a full node to properly handle it since it's not possible with our limitations. Thanks. |
I just tested with the address above. The wallet just stays on "Synchronizing" forever. It outputs
We should add some kind of error message in this case like proposed by @gits7r |
Windows 10, Electrum 4.4.6, 1dice8EMZmqKvrGE4Qc9bUFf9PX3xaYDp looks empty, no errors or warnings returned. |
bitcoin.threshold.p2p.org:50002 Fulcrum 1.9.1 server [] By the way, quite interesting repro steps:
|
The server side part of this problem is logged in electrum-server as 169, but we need to adjust something at the client as well.
When an user tries to query an address with a big backlog history or utxo set bigger than the server limit, the server should return a specific error code that the client will interpret by displaying a warning to the user such as: "One or some of your addresses contain more transactions than the server can process - your balance and transaction history might be incomplete. Use a full node wallet in order to use such addresses." Also this should make the wallet unusable at all for clear reasons, go offline and don't try to connect to that server or other server.
In electrum server we have a limit of 1000 utxo's per address, introduced in commit: d1501bfe0c278304d2bd7d90967a333935044b16 (and we log it after commit: 5e51f038c6e2ab43b22e94912a0f97e083fde321)
I don't know exactly how to handle this for the Sweep function. Is there any way we can spend all utxos of an address for the private key being swept without querying its entire backlog? If we can't sweep it because the utxo set size we should display an error message as well.
The text was updated successfully, but these errors were encountered: