Vendor the Ironwood (NU6.3) pre-release SDK, building libzcashlc from source - #70
Closed
j0ntz wants to merge 1 commit into
Closed
Vendor the Ironwood (NU6.3) pre-release SDK, building libzcashlc from source#70j0ntz wants to merge 1 commit into
j0ntz wants to merge 1 commit into
Conversation
… source Pin scripts/updateSources.ts to ECC's Ironwood integration branch (harry/ironwood-nu6.3-deps), which tracks librustzcash's feat/ironwood work for the July 28, 2026 network upgrade at block 3428143. No upstream release ships NU6.3 yet, so the prebuilt libzcashlc.xcframework download is replaced with a cargo build of the SDK's in-repo Rust source for the aarch64-apple-ios and aarch64-apple-ios-sim targets, with the header taken from the crate's cbindgen output. The vendored Swift kit needs no RNZcash.swift changes: every consumed symbol keeps a compatible signature (the 2.6.0-alpha Broadcaster redesign is confined to the separate Broadcaster protocol, and the streaming createProposedTransactions convenience remains). Android stays on the published 2.5.2 (NU6.2) SDK until ECC ships an NU6.3 zcash-android-sdk on Maven; noted in android/build.gradle.
Contributor
Author
Contributor
Author
|
Superseded by EdgeApp/react-native-zcash#71, which carries the Ironwood (NU6.3) SDK plus the Orchard to Ironwood migration bridge. This draft was an initial pass at vendoring the pre-release SDK; closing in favor of that work. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


CHANGELOG
Does this branch warrant an entry to the CHANGELOG?
Dependencies
Upstream: ECC's unreleased Ironwood branch zcash/zcash-swift-wallet-sdk
harry/ironwood-nu6.3-deps(pinned by commit), which itself pins zcash/librustzcashfeat/ironwood. No published NU6.3 mobile SDK release exists yet on either platform.Description
Asana task
DRAFT: eager integration of the Zcash Ironwood (NU6.3) network upgrade, activating July 28, 2026 at block 3,428,143. Kept as a draft until ECC publishes the audited NU6.3 mobile SDK release (expected imminently; librustzcash core shipped NU6.3 on 2026-07-09), or until we decide to ship this pre-release pin. Un-draft and repoint at the release tag when it lands.
What this does:
scripts/updateSources.tsto ECC's Ironwood integration branch commit6668193and buildslibzcashlcfrom the SDK's in-repo Rust source (cargo,aarch64-apple-ios+aarch64-apple-ios-sim, cbindgen header), replacing the prebuiltlibzcashlc.xcframework.zipdownload that has no NU6.3 release asset to point at. Restoring the prebuilt download when ECC publishes is a small revert (see git history).Rust/Voting/) from vendoring: upstream defers thevotingcargo feature on this branch (itszcash_votingdep does not resolve against the feat/ironwood pins), so the FFI has nozcashlc_voting_*symbols. Nothing in react-native-zcash's API uses voting. Without the exclusion the app fails to link.RNZcash.swiftchanges needed: every consumed SDK symbol keeps a compatible signature on this branch (the 2.6.0-alpha Broadcaster redesign is confined to the separateBroadcasterprotocol; the streamingcreateProposedTransactionsconvenience the bridge uses remains). The new Ironwood surface is theplanOrchardDenominationSplit/DenominationPlanmigration-planning API;AccountBalancegains no new pool, so the existing transparent/sapling/orchardBalanceEventstays correct.zcash-android-sdk2.5.2 (NU6.2): no NU6.3 artifact exists on Maven, and building the Android SDK from source needs an NDK/cargo-ndk toolchain. Documented inandroid/build.gradle; bump when ECC publishes.Verified in Edge (edge-react-gui, iOS sim): full app build and link against the vendored Ironwood kit, launch, login, and a maestro-driven open of the funded Zcash wallet: balance 0.00798102 ZEC rendered by the NU6.3 SDK's synchronizer with sync in progress (test evidence attached below). The FFI binary was symbol-verified: 201
zcashlc_*symbols including the Ironwood migration API, zero voting symbols.For Edge, Ironwood requires no user action and no new UI: the Orchard to Ironwood turnstile migration is handled inside the SDK's proposal logic. This upgrade is purely at the SDK layer.
Asana: https://app.asana.com/1/9976422036640/project/1213843652804305/task/1216467071647813