-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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
- ufvk removed from the parameters
from_account_uuid
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