Grant Update] Zcash Wallet Community Developer - Milestone 4
Hello community!
I’m posting the fourth update to the ZWCD Grant
Estimated tasks from Grant Proposal: (see proposal)
Deliverable 4.1
Native support for ZIP-321 Payment requests (ongoing)
- Allows to request Zcash to many parties on a same payment request
- Applicable for Android, iOS, Kotlin, Java and Swift.
- Useful for Zashi, Unstoppable, NightHawk
- Uses minimal dependencies avoiding binary bloat.
- Combined with ZIP-321 request fulfillment features of librustzcash can act as “transaction builder” to make complex payment from light clients
Status: Delivered first stage (ongoing)
Achievements:
- Created and developed kotlin and swift libraries
- Libraries provide equivalent functionality to programmatically create a ZIP-321 payment request and automated tests
- A Roadmap was created for both projects so that the community can contribute to the development.
Remarks:
- Kotlin releases are far more complicated than Swift ones since the process involves publishing to maven central and holding GPG keys and registering to do so. Will evaluate if it’s worth the effort of if devs might prefer to grab from github instead
- Address validation is left as a thing to compose since it requires dependencies. It will be revisited when implementing the parser.
Detail of the tasks
(all tasks of the milestone can be found here Milestone 4 Milestone · GitHub )
Deliverable 4.2
Zingo Labs: tweaking Integration tests and other support tasks
- Update existing open PRs to dev branch
- Update datasets PRs
- PR review on test scenarios that the Zingo folks created to catch bugs
Status: Delivered
Achievements:
- Advanced ReOrg Test were finally integrated to Zingo’s codebase as their own module and are integrated into CI running on each PR catching regressions
- Some serious bugs were caught thanks to the darksidewalletd integration
- Rebased all the existing PRs and recreated all the Advanced ReOrg Tests submissions to accommodate a huge refactor of the ZingoLib structure
Remarks
- PRs took too long to be merged and it took me a few days of work to actually figure out how to preserve repo history and rebase the changes I had done
- Although somehow eclectic, Zingo is a very fast paced team
- Zingo is heavily invested in benchmarking and performance optimization of the existing codebase
Detail of the tasks
(all tasks of the milestone can be found here Milestone 4 Milestone · GitHub )
Deliverable 4.3
Zcash mobile SDKs re-integration to darksidewalletd tests
This is a many step task which will be ongoing and involves work across many repositories: librustzcash, lightwalletd, zcash-swift-wallet-sdk, zcash-android-wallet-sdk, zcash-light-client-ffi.
The main goal is to provide the same level of integration testing support across the wallet ecosystem.
Status: Delivered (ongoing)
Achievements:
- Requirement elicitation and validation of regtest support on SDKs (done)
- Implementation of librustzcash support of regtest (done)
- Completion of Advanced ReOrg Tests datasets (done)
- Merge of librustzcash work into main (pending)
Remarks:
There’s work to do in many repositories so the integration to the codebase and release of this development work will take some time given the time of the year, holidays, time-off, etc.
Detail of the tasks
(all tasks of the milestone can be found here Milestone 4 Milestone · GitHub )
Deliverable 4.4
Fixed-time allocations (LCWG, Office Hours, Arborist Calls, FROST, Forums, Discord, etc)
Status: delivered
Achievements:
- Worked w/ decentralistdan to revamp LCWG with new format. The group will focus on 3 initiatives:
- ZIP-315 support of best practices for Zcash wallet
- Implementation of ZIP-317 across the ecosystem
- Lightwalletd maintenance and support ZIP-307 / Decentralize Core development
- Office Hours:
- Met with the ZAVAX bridge weekly to help them polish their architecture documentation, think of possible caveats, error flows, edge cases and other use cases.
- Ad-hoc reviews: