Upgrade sdks to 2.5.2#67
Conversation
- Android use scanning progress from processor - Android error handler was removed - iOS sdk packaging updated to use bundled ffi
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>
ccc1b40 to
0766b8d
Compare
0766b8d to
4130833
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ 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 | ||
| } |
There was a problem hiding this comment.
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.
Reviewed by Cursor Bugbot for commit 4130833. Configure here.
There was a problem hiding this comment.
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.
4130833 to
aa07eb7
Compare
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>
aa07eb7 to
e4cc741
Compare


CHANGELOG
Does this branch warrant an entry to the CHANGELOG?
Dependencies
noneDescription
noneNote
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 pullszcash/zcash-swift-wallet-sdkat 2.5.2 and downloadslibzcashlc.xcframework.zipfrom that release (separate FFI repo removed), with a pinned SHA-256 check before unpack.Adds mainnet checkpoints at heights 3.32M–3.36M.
UpdateEvent.scanProgressis now a 0–100 double (not truncated int) on both platforms. Android readsprocessor.scanProgressinstead of blendedSynchronizer.progress, forces 100 whenSYNCEDand 0 when not syncing, and emits viaputDouble. iOS matches the same rules (nofloor).UpdateEventtyping notes decimals may be present. Android dropsonSubmissionErrorHandler.scripts/updateSources.tsis 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.