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

[Refactoring] All refactoring tasks for the moment #11

Open
3 of 6 tasks
w-i-n-s opened this issue Mar 3, 2021 · 1 comment
Open
3 of 6 tasks

[Refactoring] All refactoring tasks for the moment #11

w-i-n-s opened this issue Mar 3, 2021 · 1 comment

Comments

@w-i-n-s
Copy link
Contributor

w-i-n-s commented Mar 3, 2021

  • AppState god object. Injected in every view. Contain every manager/store. Breaks the "single responsibility principle" because it becomes the source of truth for every view.
  • Implement MVC or MVVM (with "finite state automata"). Possible with reducers [TBC]
  • Take care about error presenting on UI [TBC].
  • Make a user action atomic and consistent (App should not show a QR code with invalid stuff in it). App model should be consistent, but without implementing force unwrapping or assertions. Possible using SwiftLint
  • (migrated into Implement CoreData persistent store #12) Implementing multi-wallet. Should use Core Data as ORM. Only unique entropyMask can stay in defaults for whole app. For each wallet:
    • which network (testnet, mainnet, and later also Signet)
    • the threshold (how many signatures are required)
    • information about each co-signer: their xpub and derivation path
    • a list of pre-derived addresses
  • Change the way how the app starts (AppDelegate and SceneDelegate -> App/WindowGroup iOS14)
@w-i-n-s w-i-n-s mentioned this issue Mar 7, 2021
@Sjors Sjors added this to the v1.0 App Store milestone Mar 7, 2021
@Sjors Sjors removed this from the v1.0 App Store milestone Apr 8, 2021
@Sjors
Copy link
Owner

Sjors commented Apr 23, 2021

After the v1.0 milestone let's split this into individual issues.

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

No branches or pull requests

2 participants