-
Notifications
You must be signed in to change notification settings - Fork 492
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
Clean the Label Chaos #12730
Comments
Why? The Labels have absolutely nothing to do in the wallet.json file, and having them there creates problems. In fact, it causes exactly what I'm trying to fix in #12668, but without success. Because the real solution for #12668 is to remove the labels from the wallet.json file!!! The problem is simple: When we resync, we want to recompute the state. But, we do not start from a clean state of the |
We are on the same page. This is moving label handling into a manager. In my imagination, this is the first step. Once we have done that, we can proceed with what you are suggesting. I set those boundaries to define the scope of our work. BTW the issue was moved here from the release game repo to have an entry point for the problem itself. |
📜 Preamble
Clean the Label Chaos by @molnard
📖 TL;DR - Too Long, Didn't Read
The labeling system is an essential element of privacy in Wasabi. Coin selectors are basing selection on them or users when manual selection is done. It must work perfectly. Currently, it works more or less but it is like a wild octopus, grabbing information from here and there - nobody dares to touch it and fix current issues. The idea is to have a separate module just for labels, plus unit tests.
🌟 Specification, Scope, and Features
⚔️ Motivation
As I mentioned earlier, the labeling system is an essential element. It should work perfectly and be easily maintainable. Currently, it has a few issues that nobody dares to touch - because it might break other things. A lot of time and resources are spent on this because every time there is an issue, it is very hard to understand how it actually works.
📜 Rationale
The rationale behind this is not the solidest one. However, if we think about dev time spent on label issues and the effectiveness of fixing them perfectly is calling attention. It is not possible to shoot down issues one by one because the underlying business logic is flawed. So we can go all-in or don't touch it at all.
🌌 Backward Compatibility
Yes, it will be an essential part of migrating old labels to the new system in a safe way. We have to make sure to not loose any label. This is important.
📚 Reference Implementation (optional)
🧑🏫 Team involvements
Lead: ?
Code team.
💪 Subtasks
The goal of the refactor is to free up SmartTransaction and SmartCoin from all the label-related data objects and move them into one place called LabelManager. That is it. We agreed with Lucas that the current concept is flawed but refactoring would lead to refactoring the whole transaction processing which is out of the scope of this Quest!
🕐 Overall time estimation: 8 weeks
⛔ What NOT to do
✅ Todo:
The text was updated successfully, but these errors were encountered: