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

[#1514] finish multi account support #1522

Merged
merged 46 commits into from
Jan 10, 2025
Merged

Conversation

LukasKorba
Copy link
Collaborator

This code review checklist is intended to serve as a starting point for the author and reviewer, although it may not be appropriate for all types of changes (e.g. fixing a spelling typo in documentation). For more in-depth discussion of how we think about code review, please see Code Review Guidelines.

Author

  • Self-review: Did you review your own code in GitHub's web interface? Code often looks different when reviewing the diff in a browser, making it easier to spot potential bugs.
  • Automated tests: Did you add appropriate automated tests for any code changes?
  • Code coverage: Did you check the code coverage report for the automated tests? While we are not looking for perfect coverage, the tool can point out potential cases that have been missed.
  • Documentation: Did you update Docs as appropiate? (E.g README.md, etc.)
  • Run the app: Did you run the app and try the changes?
  • Did you provide Screenshots of what the App looks like before and after your changes as part of the description of this PR? (only applicable to UI Changes)
  • Rebase and squash: Did you pull in the latest changes from the main branch and squash your commits before assigning a reviewer? Having your code up to date and squashed will make it easier for others to review. Use best judgement when squashing commits, as some changes (such as refactoring) might be easier to review as a separate commit.

Reviewer

  • Checklist review: Did you go through the code with the Code Review Guidelines checklist?
  • Ad hoc review: Did you perform an ad hoc review? In addition to a first pass using the code review guidelines, do a second pass using your best judgement and experience which may identify additional questions or comments. Research shows that code review is most effective when done in multiple passes, where reviewers look for different things through each pass.
  • Automated tests: Did you review the automated tests?
  • Manual tests: Did you review the manual tests?You will find manual testing guidelines under our manual testing section
  • How is Code Coverage affected by this PR? We encourage you to compare coverage befor and after your changes and when possible, leave it in a better place. Learn More...
  • Documentation: Did you review Docs, README.md, LICENSE.md, and Architecture.md as appropriate?
  • Run the app: Did you run the app and try the changes? While the CI server runs the app to look for build failures or crashes, humans running the app are more likely to notice unexpected log messages, UI inconsistencies, or bad output data.

LukasKorba and others added 30 commits November 19, 2024 11:11
…nt structure

- First iteration of all Int account references to an instance of an Account
- swift-grps dependency bumped to 1.24.2
- The ID of account is now public co clients can read-only it
- Zip32 accounts represented with Int32 are now refactored to Zip32Account
- from_account_id/fto_account_id are now refactored to AccountId
- Zip32Account(Int32) has been refactored to Zip32AccountIndex(UIn32)
- WalletSummary's accountBalances dictionary has been refactored to use Zip32AccountIndex instead of UInt32 for the keys
- Some comments updated to reflect reality
- Some Tests fixed
…entation-from-Int-to-a-dedicated-Account-structure

[#1511] Refactor account representation from int to a dedicated account structure
- The SDK no longer assumes a default account. All business logic with instances of Zip32AccountIndex(<index>) has been refactored.
- Updated the code to not call getWalletSummary() with each loop iteration
…s-not-assume-a-default-account-anywhere

[#1512] Ensure that the SDK does not assume a default account anywhere
- the FFI has been switched to a preview of import UFVK
- importAccount() WIP
- Some of the Zip32AccountIndex has been refactored to UUID
- Public import UFVK method in the SDK added

AccountUUID refactor - phase 1

- rebased
- SDK builds again, UUIDs refactored everywhere in the SDK and demo app
- tests will follow in the next phase
- refactor of documented code in the follow up
- Comments in the code updated and cleaned up
- OfflineTests passes again, those failing has been removed from the bundle and marked to be fixed with a TODO

Fixes of build

- The SDK builds again
CI xcode bump
OfflineTests fixes
- updated to build and tests that are obsolete are now taken out of the bundle
- rust backend `getAccount` method implemented, it returns Account with associated data
- `listAccount()` has been modified to return an array of Accounts instead of AccountUUIDs
- Account refactored to conform to Equatable, Hashable, Codable, Identifiable
- importAccount(ufvk, purpose, name, keySource) API
UnifiedAddress Hashable conformance
- a new public API for DerivationTool to derive UA from the UFVK added
LukasKorba and others added 16 commits December 10, 2024 14:39
- also attempt to fix _uuid in views
- Refactored to the proper types
- ufvk removed from the parameters
from_account_uuid
alias reverted

Alias logic updated
- The comments were provided
- Changelog updated
- Code cleaned up
- Tests fixed
- Error codes for the Pczt
- FFI version bumped to 0.12.0
@LukasKorba LukasKorba merged commit 4233e26 into main Jan 10, 2025
1 of 2 checks passed
@LukasKorba LukasKorba deleted the 1514-Finish-multi-account-support branch January 10, 2025 09:02
@LukasKorba LukasKorba restored the 1514-Finish-multi-account-support branch January 10, 2025 10:03
@nuttycom nuttycom deleted the 1514-Finish-multi-account-support branch January 23, 2025 19:03
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.

3 participants