[Grant Updates] Zcash Wallet Community Developer

[Grant Update] Zcash Wallet Community Developer - Milestone 2

Hello community!

I’m posting the second update to the ZWCD Grant

Milestone 2 - Sep 1st to 14th

This milestone is stipulated for the first half of the month. Second half I had a trip planned ahead of time. Even though I checked IM and web every few days looking for anything that might have needed my attention (e.g: sec incidents, outages, support request). Fortunately nothing of the sort came out.

Estimated tasks from Grant Proposal:

Deliverable 2.1

Zingo Labs: pull request review and support development

Deliverable 2.2

Prepare For ECC’s announced mobile development pause

Deliverable 2.3

Preparations for needed updates for iOS 17 public release usually mid september

Deliverable 2.4

Nighthawk Apps: Pull request reviews

Deliverable 2.5

Ecosystem outreach: Support partners (Unstoppable and Edge) adopting ECC’s SDKs (which will be paused)

Deliverable 2.6

LCWG, Arborist and other community tasks

Effective estimated tasks for milestone 2 after milestone 1 and team progresses

Some of the deliverables of this period relied on publicly available SDK release dates from ECC which delayed and bulk of their RC and releases bled into the second half of September. I repurposed that portion of the work on preparing tooling for all SDKs and Wallets to use instead by starting to create new datasets that allow wallets to test the advanced ReOrg tests originally available on the iOS SDK for v4 Sapling transactions, to be ran on v5 transactions using Orchard.

Public ZWCD Github project

Deliverable 2.1

Zingo Labs: pull request review and support development + General Tooling: Generalize and update Advanced ReOrg Tests Datasets from ECC’s iOS SDK into its own repository. Create tools for these tests to be updated periodically or as needed when NU’s happen.

Status: Delivered

Achievements:

  • We were able to complete the SFoE dataset and workaround to craft the 100k blocks set in a quick and reproducible way
  • The whole process is documented
  • The scripts started to turn RPC code into a simple API for python to interact with a Zcashd instance through RPC calls in python locally, via docker or remotely.
  • I created the base dataset for Advanced Re Org tests and documented them

Remarks:

  • Zcashd wallet has some issues when it comes to spending notes and this originates a lot of errors when generating the datasets that can’t be really prevented, instead I built workarounds so that the wallet has more notes to pick from and avoid double spends on dataset generating scripts
  • Zebra is the new official node and Zcashd is being sunsetted and switched into maintenance mode, but it still does not have any of the features needed to do integration testing like Regtest mode. There’s part of this work that will have to be re-done for Zebra when it is feature complete.

Detail of some of the tasks:

Deliverable 2.2 (repurposed)

Considering the publicly available timelines from ECC, the grant estimated that Mobile SDKs would have been released by the time of this milestone and that the Apps would have been ready for review as well. Given the change in the release timelines, I repurposed this deliverable to focus mainly on reviewing PRs from ECC when available.

Status: Delivered

Achievements:

  • Detect and fix division by zero error on the iOS SDK.
  • Review PRs of early pre-RC code on librustzcash, ffi code and SDK code

Setbacks and other remarks:

  • RC process and publicly available testing releases took place in the second half of the month so I was not available to provide any support, review or testing.

Detail of some of the tasks:

Deliverable 2.3

Preparations for needed updates for iOS 17 public release usually mid september

Status: Delivered

There weren’t outstanding issues on existing apps running the iOS 17 beta.

Deliverable 2.4

Nighthawk Apps is in the process of releasing their new apps, featuring a whole new design and architecture. They are departing from the codebase of the “secant” app from ECC to build their own set of features and product decisions. This involves a lot of code changes that I help them review and test.

Achievements:

  • Successfully review and request changes different PRs that contributed to better code quality, test code coverage and app stability
  • Helped test migration code manually
  • Beta tested NH v2.0

Remarks:

  • The nighthawk team was able detach from the Secant code and delete a lot of unused code that came from the previous design of the ECC Secant code before it was redesigned to the “Zashi” wallet.
  • Reviewing that refactor took some time but I estimate that it will bring a lot of benefits for NH and the community as a whole. NH will be the only Zcash wallet offering KYC-less on-ramps and then using autoshielding to bring funds from other chains to the shielded pool.

Detail of some of the tasks:

Deliverable 2.5

Ecosystem outreach: Support partners (Unstoppable and Edge) adopting ECC’s SDKs (which will be paused)

Status: delayed

Given the RC process was delayed much of it started on the second half of September and partners are adopting the SDKs currently (Oct 2023)

Deliverable 2.6

LCWG, Arborist and other community tasks

Status: delivered

Detail of some of the tasks:

Task URL
LCWG 60 [#62] LCWG Call 60 - Sep 7th by pacu · Pull Request #63 · zcash/lcwg · GitHub
Zcash Dev Fund 2024: Community Town Hall #3 Twitter Spaces
Respond to Unstoppable user issue Unstoppable wallet HELP
Investigate Ywallet unavailable in App Store Ywallet not listed in Argentina's App Store

Estimated Tasks For Milestone 3

  • Update Advanced Re Org Tests datasets to v5 transactions supporting sapling, transparent and orchard
    • Document the tests and make them available to all wallet developers
    • Do first integration with Zingo, then work with the rest of the wallets.
    • Report testing integration outcomes to Zingo folks
  • NH wallet 2.0 release support: PR review and beta testing of Sbs and ZIP-317
  • ZIP-317 outreach w/ ZF
  • Community calls:
    • FROST
    • Arborist
    • LCWG
    • Dev Fund 2024 Twitter space
  • [Tentative] ZIP-321 support for NH
  • [Tentative] Mobile SDK Support tasks (depending on ECC planning outcome of next week.)
    • Regtest Support for ECC SDKs
    • PR Reviews (at request)
  • Office Hours:
    • Zavax Bridge team
    • Chainsafe Team on Zcash Javascript SDK
5 Likes