Skip to content

Upgrade sdks to 2.5.2#67

Merged
peachbits merged 4 commits into
masterfrom
matthew/upgrade-sdks
Jun 3, 2026
Merged

Upgrade sdks to 2.5.2#67
peachbits merged 4 commits into
masterfrom
matthew/upgrade-sdks

Conversation

@peachbits

@peachbits peachbits commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

CHANGELOG

Does this branch warrant an entry to the CHANGELOG?

  • Yes
  • No

Dependencies

none

Description

none

Note

High Risk
Native wallet SDK and FFI binary upgrades affect sync, scanning, and transactions; scan progress shape/semantics changed and may break consumers expecting integer percentages.

Overview
Bumps Zcash Android and Swift wallet SDKs to v2.5.2 and documents the release in CHANGELOG. Android Gradle pins zcash-android-sdk / incubator 2.5.2; iOS vendoring now pulls zcash/zcash-swift-wallet-sdk at 2.5.2 and downloads libzcashlc.xcframework.zip from that release (separate FFI repo removed), with a pinned SHA-256 check before unpack.

Adds mainnet checkpoints at heights 3.32M–3.36M.

UpdateEvent.scanProgress is now a 0–100 double (not truncated int) on both platforms. Android reads processor.scanProgress instead of blended Synchronizer.progress, forces 100 when SYNCED and 0 when not syncing, and emits via putDouble. iOS matches the same rules (no floor). UpdateEvent typing notes decimals may be present. Android drops onSubmissionErrorHandler.

scripts/updateSources.ts is the main iOS packaging change for the new SDK layout and integrity verification.

Reviewed by Cursor Bugbot for commit e4cc741. Bugbot is set up for automated code reviews on this repo. Configure here.


- Android use scanning progress from processor
- Android error handler was removed
- iOS sdk packaging updated to use bundled ffi
Comment thread android/src/main/java/app/edge/rnzcash/RNZcashModule.kt
Comment thread scripts/updateSources.ts
peachbits and others added 2 commits June 3, 2026 12:50
Emit scanProgress as a 0-100 value that keeps its decimal places instead
of truncating to an integer, so more frequent progress updates pass the
sync tracker's monotonic gate. Range and consumer contract are unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@peachbits peachbits force-pushed the matthew/upgrade-sdks branch from ccc1b40 to 0766b8d Compare June 3, 2026 19:55
@j0ntz j0ntz force-pushed the matthew/upgrade-sdks branch from 0766b8d to 4130833 Compare June 3, 2026 21:28

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 4130833. Configure here.

wallet.onSubmissionErrorHandler = { error ->
handleError("error", error)
false
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Submission errors not forwarded

Medium Severity

The wallet.onSubmissionErrorHandler wiring was removed while other synchronizer error handlers remain. Failures during background submission to lightwalletd no longer emit ErrorEvent to JavaScript, so subscribers to onError can miss transaction broadcast failures that the SDK surfaces through that callback.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 4130833. Configure here.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Invalid — onSubmissionErrorHandler no longer exists on Synchronizer in zcash-android-sdk 2.5.x. As of v2.5.0 the interface exposes only onCriticalErrorHandler / onProcessorErrorHandler / onSetupErrorHandler / onChainErrorHandler (verified against the v2.5.2 tag), so the wiring had to be removed during the upgrade and can't be restored without breaking the build. Background submission errors are now surfaced synchronously via the Flow<TransactionSubmitResult> returned by the proposal send APIs, not through a global error callback, so this is not a regression in this PR.

@j0ntz j0ntz force-pushed the matthew/upgrade-sdks branch from 4130833 to aa07eb7 Compare June 3, 2026 21:32
Both the 2.5.2 Swift SDK (and its libzcashlc.xcframework release asset) and
the 2.5.2 Android SDK are now published, so vendor iOS via the normal
updateSources download (pinned to the 2.5.2 release commit) and resolve the
Android SDK from Maven Central. No local/shim packages remain.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@peachbits peachbits force-pushed the matthew/upgrade-sdks branch from aa07eb7 to e4cc741 Compare June 3, 2026 21:59
@peachbits peachbits merged commit fc600cc into master Jun 3, 2026
5 checks passed
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.

2 participants