-
Notifications
You must be signed in to change notification settings - Fork 36
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
Multi-account and PCZT support #1517
Multi-account and PCZT support #1517
Conversation
- 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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like it has a problem to me, which is that by just picking the first account in a lot of cases it may get inconsistent results. The order of accounts is nondeterministic, and it shouldn't be left to chance even if it was deterministic; the account that's in use needs to be tracked explicitly.
...ple/ZcashLightClientSample/ZcashLightClientSample/Get Address/GetAddressViewController.swift
Show resolved
Hide resolved
...ple/ZcashLightClientSample/ZcashLightClientSample/Get Balance/GetBalanceViewController.swift
Show resolved
Hide resolved
Example/ZcashLightClientSample/ZcashLightClientSample/Get UTXOs/GetUTXOsViewController.swift
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall looking good; the one thing that I think needs to be changed is that keySource
should be optional.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall looking good; the one thing that I think needs to be changed is that keySource
should be optional.
- 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
01984b2
to
27af6f1
Compare
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
9c239be
to
dcf6cd9
Compare
- a new public API for DerivationTool to derive UA from the UFVK added
- also attempt to fix _uuid in views
- Refactored to the proper types
985e677
to
dd587ac
Compare
ee8a88e
to
75cfd08
Compare
alias reverted Alias logic updated
75cfd08
to
632626a
Compare
- The comments were provided - Changelog updated - Code cleaned up - Tests fixed - Error codes for the Pczt
- FFI version bumped to 0.12.0
...e/ZcashLightClientSample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed ce667eb. I did not review ZcashLightClientSample
or most of the test changes.
Sources/ZcashLightClientKit/Transaction/TransactionEncoder.swift
Outdated
Show resolved
Hide resolved
Sources/ZcashLightClientKit/Transaction/WalletTransactionEncoder.swift
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a8b1524 addresses my non-test comments, and the PR is probably fine. However, I cannot give it an ACK, because large swathes of tests have been disabled.
If @LukasKorba confirms that the now-disabled tests were in a broken state prior to this PR (and thus disabling them has no effect on the correctness checking in this PR), then I'll let the PR be merged as-is, but only if #1518 is made the number 1 priority. We cannot allow this many tests to be disabled in the long term; that is an unacceptable risk. cc @true-jared.
In any case, fixing the code comment is blocking.
Sources/ZcashLightClientKit/Transaction/TransactionEncoder.swift
Outdated
Show resolved
Hide resolved
So this can be merged if it is confirmed that the disabled tests have no effect on how much of CI was passing.
Electric-Coin-Company/zcash-light-client-ffi#180 (which this PR depends on) is now merged. |
f7029ed
into
Electric-Coin-Company:1514-Finish-multi-account-support
Closes #522
Closes #1513
Closes #1514
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
Reviewer