Skip to content

subtree: update librustzcash to upstream main (ea846893c2) - #35

Merged
aphelionz merged 2 commits into
mainfrom
subtree-update/librustzcash-2026-08-18
Aug 18, 2026
Merged

subtree: update librustzcash to upstream main (ea846893c2)#35
aphelionz merged 2 commits into
mainfrom
subtree-update/librustzcash-2026-08-18

Conversation

@aphelionz

@aphelionz aphelionz commented Aug 18, 2026

Copy link
Copy Markdown
Member

Pulls the librustzcash/ subtree from ad3966d7f8 up to upstream main at ea846893c2: 954 commits, squashed as usual.

Why now

Upstream has landed the ZIP 318 machinery that the Orchard anchor and expiry privacy work needs, and our vendored copy predated all of it:

  • New crates zcash_pool_migration and zcash_pool_migration_memory: the Orchard to Ironwood migration engine (denomination planning, PCZT build and sign, scheduling).
  • zcash_protocol::zip318: the shared constants and grid. AnchorBucketInterval::ZIP_318 (144), ANCHOR_AGE_CAP (4), the rolling expiry_height() (modulus 34,560, window 69,120), and the {1, 2, 5} * 10^k denomination series.
  • Durable anchor retention (zcash_client_backend::data_api::anchor_retention): every wallet retains the checkpoint at each grid boundary at or above NU6.3 activation, and boundary blocks carrying no shielded output are force-checkpointed so the hole cannot open.
  • Bucketed anchors in the generic transaction path: ConfirmationsPolicy::bucketed expresses boundary anchoring as a raised confirmation requirement, so the anchor and the spendability bound move together; propose_transfer attempts it and degrades to the ordinary anchor when the boundary is not reachable or the shape does not hold.

That last pair is the substrate for widening the anchor and expiry policy beyond ZIP 318's canonical crossing shape to any transaction with Orchard actions. Assessment of that change is a follow-up; this PR is the subtree pull only.

Our delta

One [zero] carry touches this prefix, librustzcash/README.md (the Shielded Labs security disclosure section), and it survived the pull intact. No conflicts, nothing to resolve, no [upstream-pending] carries to drop.

Testing

  • cargo test --workspace in librustzcash/: green, 44 test binaries, 0 failures.
  • cargo test --workspace --all-features (what upstream CI gates on): green, 46 test binaries, 0 failures.

No other component is touched, so no other test suite applies. git diff main..HEAD is confined to librustzcash/.

ea846893c2 Merge pull request #2931 from schell/schell/bound-transaction-size
2a7afd5cc6 Merge pull request #2978 from zcash/dw/pool-migration-test-guards
64d202b159 zcash_pool_migration: Fail loudly when the multi-round scenarios empty
544ea7d867 CHANGELOG: Fallible shape oracle
a3928a173c zcash_pool_migration: Stop a cap that cannot be planned from looking cheap
91fafc565a CHANGELOG: Run shape accessors
8200480af4 zcash_pool_migration: Derive a run's signer quantities from one shape
0891e00d6c Merge pull request #2970 from zcash/dw/pool-migration-signer-capacity
1148e3bc68 Merge pull request #2966 from zcash/agents-ai-disclosure-policy
5e5c1e3303 Merge pull request #2962 from zcash/dw/pool-migration-note-cap
40109eac95 Move size gate to Proposal level, address pacu's second review
a0cd2a8452 CHANGELOG: Signer-capacity run sizing
16ba55e71c zcash_pool_migration: Let a signer's capacity size one run
040f949e98 zcash_pool_migration: Address review comments on the note-cap change
59b045fb8b CHANGELOG: Caller-settable per-run note cap
5baa3ebe58 zcash_pool_migration: Let a wallet cap one run's prepared notes
0556e87601 Move size gate out of from_parts, account for prior-step inputs
c9d7f08593 Merge pull request #2963 from zcash/dw/claude-md-pointer
e62b0e1977 Add a policy that makes agents to disclose AI co-autorship
6ee02e4369 Add CLAUDE.md as a symlink to AGENTS.md
e44074e293 Enrich TransactionTooLarge error with shielded input count, doc fixes
3f45d41a38 make size estimate bundle-conditional
f7940270af Bound transaction creation to a maximum size
b04030138c Merge pull request #2957 from zcash/fix/expiry_rescheduling
b8f21245e4 zcash_pool_migration: Chain rebuilt transfers' fresh schedules
b9069d25e2 Merge pull request #2951 from zcash/kris/pool-migration-wallet-adapter-options
13ce6c4ef5 zcash_pool_migration: Read the scanned bound before the mining lookup
6da16da6c5 zcash_pool_migration: Decide a run's shape once, when the plan is made
7886cb5d3a zcash_pool_migration: Never hold spending authority in the adapter
b17e279292 Merge pull request #2955 from zcash/ci/require-release-tags
2bdba31198 Merge pull request #2944 from zcash/nc/import-standalone-transparent-address
0830812057 ci: block merging a release PR until its tags exist upstream
1084c39804 Merge pull request #2954 from zcash/release/zcash_client_sqlite-0.22.0-rc.8
202f173b36 Release pczt version 0.9.3
74102427c4 Merge branch 'main' into nc/import-standalone-transparent-address
447d730130 Merge pull request #2953 from zcash/release/zcash_client_sqlite-0.22.0-rc.8
7d97065925 Release zcash_client_sqlite version 0.22.0-rc.8
bc30b6d42f Release zcash_pool_migration version 0.1.0-rc.7
375fc8e51a Add `WalletWrite::import_standalone_transparent_address`
1730b544dc Merge pull request #2949 from zcash/kn/exact-funding-note-count
b66481889a zcash_pool_migration: gate the exact-funding split on the note count
7db76db2af Merge pull request #2947 from zcash/kn/denomination-review-followup
e6fd409ab4 zcash_pool_migration: bound the scaling floors by the plan's shape
6d3e5a4c5f zcash_pool_migration: anchor the truncation property to the quantizer
cc69fe5b00 zcash_pool_migration: report an unfundable split as deferral, not completion
71c22b065d Merge pull request #2945 from zcash/dw/denomination-preparation-interface
b7c3f37503 zcash_pool_migration: preserve exact funding notes
621b87cf31 zcash_pool_migration: tighten the preparation transaction floor
f9068d9e58 zcash_pool_migration: quantize the split once, reconcile by truncation
21aee9f3a4 zcash_pool_migration: port the messy-wallet scaling fixtures
fc87b8c685 Merge pull request #2946 from zcash/wallet-migration-spendable-snapshot
c96a9876a7 zcash_pool_migration: snapshot the spendable notes in the wallet adapter
ee1d22bbe2 Merge pull request #2943 from zcash/dw/preparation-first-fit-decreasing
ebe162a193 zcash_pool_migration: record what each rule alone makes of every scenario
becdc8c599 zcash_pool_migration: add a first-fit-decreasing preparation strategy
85063bef75 Merge pull request #2935 from zcash/dw/note-split-shape-tests
00f428e81b zcash_pool_migration: build the note-shape tests without test-dependencies
fab4b47ee5 zcash_pool_migration: share one preparation corpus across strategies
3504d9bba5 zcash_pool_migration: pin how the note shape decides the split and the signing rounds
4a5ca0a38d Merge pull request #2916 from zcash/dw/zip318-classify-standard-send
5f16f5faff zcash_client_sqlite: classify transactions the wallet builds as it stores them
ff1606ff98 Merge pull request #2915 from zcash/dw/zip318-classification-missing-row
1804f60e02 Merge pull request #2911 from zcash/dw/zip318-preparation-store-time-test
6f9505716f zcash_client_sqlite: report a ZIP 318 classification write that names no transaction
13b213a78a zcash_client_sqlite: pin the broadcast seam's idempotence with a test
caf67d2e79 zcash_client_backend,zcash_client_sqlite: make storing a sent transaction idempotent
cb8dc30b60 zcash_client_sqlite: name the seam that records a migration's spend marks
d91878b8db zcash_client_sqlite: cover the preparation branch of ZIP 318 classification
220b35b7a1 Merge pull request #2939 from zcash/kn/batch_prove
10bf408d7d zcash_pool_migration: serve the whole provable set as one Prove step
b66053b3bd zcash_pool_migration: gate transfer proofs on a reorg-stable anchor depth
83e5a25683 Merge pull request #2937 from zcash/dw/preparation-strategy-trait
99ca8c7272 zcash_pool_migration: trim the preparation docs to state semantics only
2cbb58248b zcash_pool_migration: make the portfolio a type-level list, not trait objects
df2c27c602 zcash_pool_migration: move the greedy into preparation/, behind plan_preparation
9e96b940d0 zcash_pool_migration: give note preparation a strategy seam
77a372d9d5 Merge pull request #2929 from zcash/dw/migration-v-transactions
75d6e1df71 Merge pull request #2936 from zcash/kn/peek_migration
c707c48d22 zcash_pool_migration: return the outlook alongside each advance step
3c7d0fdc09 zcash_client_sqlite: run txid_blob in the unsatisfiability txid test
f3a31af1cd Add documentation and CHANGELOG clarifications to AGENTS.md
74d6d17f4c zcash_client_sqlite: expose scheduled migration transactions as views
48c1106433 zcash_client_sqlite: store pool-migration txids as raw bytes
36110f5b46 zcash_protocol: add TxId::{as_hex, from_hex}
d888461a34 Merge pull request #2926 from zcash/dw/migration-cancel
84a70f36a8 zcash_client_sqlite: type the cancel lock owners and report rows released
89b033b7b5 zcash_client_sqlite: cancel a pool migration
21ca7b6831 Merge pull request #2799 from zcash/dw/migration-lock-notes-on-prove
e91cca28dd zcash_client_sqlite: correct the store_proved_transaction doc, hoist test imports
75a79f089e zcash_pool_migration: make MigrationProver::lock_spent_notes required
b9b4ff9557 zcash_client_sqlite: remove stranded wallet records of terminal migrations
60aa58512f zcash_client_sqlite: record the wallet-side transaction at broadcast, not prove
07d517d214 chore: fix a pre-existing intra-doc link error
26de2ec0d5 zcash_pool_migration: fix the intra-doc links added with note locking
234aaa3a06 zcash_pool_migration: lock a transaction's notes once it is proved
e292c8a0b0 Merge pull request #2923 from zcash/dw/migration-history-read-api
465b0d1726 zcash_client_sqlite: adapt the expensive chain-sim suite to retained history
c4bede41de zcash_client_sqlite: the pool-migration history read API
4f59b04653 Merge pull request #2921 from zcash/dw/migration-history-schema
b2016584d6 zcash_client_sqlite: pending-only migration reads; stable-identity writes
9f1302534e zcash_client_sqlite: retain pool-migration history in the schema
b4fc7f2007 zcash_pool_migration: add MigrationStatus::wire_name
3cb06ceb9a Merge pull request #2914 from zcash/dw/migration-cancelled-status
32b120691d CHANGELOG: migration cancelled status and anchor retention fix
bcf9943e21 zcash_client_sqlite: stop retaining anchors for terminal migrations
2d46c4a35b zcash_pool_migration: add MigrationState::mark_cancelled
9dd55c9692 zcash_pool_migration: add MigrationStatus::Cancelled
2ea94e5e4e Merge pull request #2901 from zcash/dw/pczt-error-display
96bd6ca0f3 pczt: give ParseError and ExtractError Display and Error impls
a597971db8 pczt: property-test the new Bundle observations
71d568400e pczt: fold the new Bundle methods into an existing impl block
e45bad56e0 zip318: drop the PCZT evidence source
d6bb297370 zip318: inline the action_count helper
054aef2fa0 zip318: tighten the source_is_send_to_self documentation
f09f9376b9 zip318: trim the Zip318Classification documentation
c449145aac zip318: trim the Transfer variant documentation
f5170c1d46 zip318: move the crossing action constants to the top of the file
ea8b157feb Merge pull request #2899 from zcash/dw/zip318-crossing-actions
75a89b8b99 Merge pull request #2920 from zcash/fix/redraw-test-zip318-interval
1e38bfb3ff zcash_pool_migration: fix redraw test broken by ZIP 318 constants merge
e8f5b1f41a Merge pull request #2910 from zcash/sched/pool-migration-overdue-shift
989ba4dbdf zcash_pool_migration: read the crossing action counts from zcash_protocol
21be9415d3 Merge pull request #2898 from zcash/dw/zip318-scheduling-test-constants
c3ef1e4a73 zcash_pool_migration: re-spread a missed broadcast schedule on resume
3f98216797 zcash_pool_migration: derive the scheduling test bounds from ZIP 318
b49e2cb3f9 Merge pull request #2909 from zcash/michal/MOB-1466-zip318-classify-at-store-at-prove
ebee7a8ad8 zcash_client_sqlite: classify migration transactions against ZIP 318 at store time
257f632155 Merge pull request #2907 from zcash/dw/order-by-height
bb756b7235 zcash_pool_migration: add CHANGELOG entry for order by height
a6f809795b Order next_ methods by height instead of default ID
695918f002 Merge pull request #2880 from zcash/nc/default-features
bf6424d283 Enable the mainstream shielded wallet feature set by default
b9fd105963 Merge pull request #2894 from nullcopy/feat/migration-leafs-at-compile-time
ea5c19c822 Merge pull request #2897 from zcash/release/zcash_client_sqlite-0.22.0-rc.7
34f2b1e810 Release zcash_client_sqlite version 0.22.0-rc.7
e3c3479146 Release zcash_pool_migration version 0.1.0-rc.6
0b1992becb Release zcash_client_backend version 0.24.0-rc.7
d0c5cd590d Release pczt version 0.9.2
1ba414a8b4 Release zcash_protocol version 0.10.4
291c41c093 zcash_client_sqlite: backfill the release migration-state constants
454e955142 zcash_client_sqlite: compute CURRENT_LEAF_MIGRATIONS at compile time
44ed52a992 Merge pull request #2871 from zcash/feat/migration_unsatisfiability
d616ba64ba migrations: remove non-leaf migration
f9cefe1f77 zcash_client_sqlite: move up the `use` statements
d9765b2898 zcash_pool_migration: persist proved migration transactions to the wallet DB
fcd05dc90c zcash_client_backend: rustfmt the batch-ensure test import
c7b3fbcc9c zcash_client_backend: expose the batch checkpoint-ensure composition
ee06abc349 zcash_client_sqlite: Fix missing feature-flagging
597c2dd887 zcash_pool_migration: re-draw a transfer's anchor boundary at proving time
3cdec7792e zcash_pool_migration: Record each transaction's id when it is built
e39f35abcd zcash_pool_migration: Finish the mined-derivation handover
8643c6a4d8 zcash_pool_migration: Derive mined-ness from the wallet's own scan
73e0aad6bc zcash_client_sqlite: Store pool-migration spend nullifiers in their own table
6e6fa3f50a zcash_pool_migration: Split the satisfiability machinery into its own module
d8b62a4d96 Tighten the pool-migration tests' fixtures, imports, and fabricated ids
5853f58c5e Rename the `StepSatisfiability` observation basis to `as_of_height`
bf65e35ec7 zcash_client_sqlite: Rename the pool-migration transfer ordinal to `transfer_id`
666c15cbfc Reuse the shared migration fixtures where no field value is load-bearing
e8c7ab50a5 zcash_client_sqlite: Disambiguate `tx_id` from `txid` in the pool-migration schema
be04ba8cba zcash_pool_migration: Split the drive target into scanned and effective dueness
1b1c89c786 Lift the pool-migration tests' repeated setup into the testing framework
ba39226314 Restrict construction of the drive-level policy types to constructors
17e3a39080 Type the Orchard identifiers the real-spend rule speaks in
f0ef257552 zcash_pool_migration: Clear the unsatisfiability mark when a transaction mines
edd6e5519c zcash_pool_migration: Report broadcast failures and reevaluate before adjudicating
92a2ea50fa zcash_pool_migration: Persist and surface the unsatisfiability cause
04cde8ef6c zcash_pool_migration: Guard rebuild against unsatisfiable transfers
c9ce25e9fe zcash_pool_migration: Report mined txids in statuses and tighten docs
bc2acfbecb zcash_client_sqlite: Truncate pool-migration state with the wallet
0bb942d4eb zcash_client_sqlite: Backfill mined-row txids in the unsatisfiability migration
c829b5162b zcash_client_sqlite: Judge in-flight anchor validity and prove the send-max flow
8a71bf25cf zcash_pool_migration: Make the planning kernel pub(crate) behind advance_migration
bc6ac5cb05 zcash_pool_migration: Add the verified advance_migration drive API
fab77730de zcash_pool_migration: Type the prove channel's input-not-available failure
e7166a06b5 zcash_pool_migration: Record satisfiability observations and truncate on reorg
979ae9383b zcash_pool_migration: Derive the dead set in the planning kernel and surface Replan
2bf81435df zcash_pool_migration: Add StepSatisfiability and the check_step_satisfiability oracle
547bcf6a01 zcash_client_sqlite: Fail the nullifier backfill on non-mined rows with proven PCZTs
693518c0a3 zcash_pool_migration: Rebuild expired transfers from the nullifier cache
7cebfa2fc9 zcash_pool_migration: Extract and persist real-spend nullifiers at commit
3402f736e8 zcash_pool_migration: Stamp a ReplanThreshold at commit and derive replan_required
e1aaf801f7 zcash_pool_migration: Persist unsatisfiable_at and spend_nullifiers
2fac704a62 zcash_pool_migration: Add the Superseded terminal status and mark_superseded
0c370c260e zcash_pool_migration: Carry the txid on MigrationTxState::Mined
2a99c4a226 Merge pull request #2874 from zcash/dw/zip318-tx-classification
f641579aa1 CHANGELOG: drop the removed zip318 items
1bbde3bc15 zip318: hide the evidence fields, and drop the crossing-payment kind
51a18c7fc2 CHANGELOG: pczt has_data_in_pool
2780db419a zip318: follow the *_in_pool idiom, and drop the API nothing calls
16bdb6953a zip318: fix the intra-doc links and the migration id inventory
3b799ea934 CHANGELOG: v_transactions zip318_kind column
b27972431d zip318: expose the classification through v_transactions
534b3d9a7e CHANGELOG: zip318 classification storage
d8b75def25 zip318: classify transactions as they are decrypted, and store the result
852d53152a zip318: add the persisted encoding and a height-independent expiry test
d4ac1b9904 CHANGELOG: zip318 transaction classification
194a4ce6c0 zip318: recognize migration transactions from their shape
965d35260a Merge pull request #2893 from zcash/fix/pczt_extract_ironwood_outputs
0943cd0ab3 zcash_client_backend: record Ironwood outputs in PCZT extraction
24ed8eaa39 Merge pull request #2885 from zcash/adam/restore-batch-signature-redaction
3a6a61f034 Add a comment to prevent future regressions.
6209b193c4 Restore batch signer signature redaction
6487f1f10b Merge pull request #2879 from zcash/dw/2876-remove-orchard-parse-error-alias
25354d417a Merge pull request #2878 from zcash/dw/2875-scripts-dir
83680a6769 pczt: remove the OrchardParseError import alias
7172ad81a6 Move clippy-each-feature.sh to a top-level scripts directory
ee9c387b35 Merge pull request #2806 from zcash/dw/fix-testing-unused-imports
af0a452a43 zcash_pool_migration: gather each module header's imports
33b08a2530 zcash_client_sqlite: gather each module header's imports
365782f9db zcash_client_backend: gather each module header's imports
4ec046ffaf zcash_primitives: gather each module header's imports
6d1db5b7e9 zcash_keys: gather each module header's imports
80976a9d7f pczt: gather each module header's imports
054a103693 zcash_client_backend: gate the test prover with the code that uses it
2381251a39 ci: drop the clippy known-failures list
2dabd56cb3 zcash_client_sqlite: lift the function-body imports to the module header
7b68edefe7 zcash_address: expose the test vectors under `test-dependencies`
979fc98839 zcash_client_backend: lift the function-body imports, part 3
f82e018d4a zcash_pool_migration: lift the function-body imports
a7f71451fc zcash_client_backend: lift the function-body imports, part 2
89f1774af4 zcash_client_backend: lift the function-body imports, part 1
ef2074b36b zcash_keys: lift the function-body imports; gather same-predicate groups
5fd3a4fb3c zcash_primitives: lift the function-body imports to the module header
15330fc935 pczt: lift the function-body imports out of orchard.rs
804e9ed1e2 pczt: lift the function-body imports out of four files
d2594e59d6 pczt: lint clean under each of its features
bd40b006bf zcash_primitives: lint clean under each of its features
22bd7998e6 zcash_keys: lint clean under each of its features
7d3a98cf11 zcash_client_backend: lint clean under `pczt` and `tor`
6d7569dfe2 ci: move the per-feature clippy loop into a helper script
418c6b0380 ci: point the known-failures list at its tracking issue
d3992a725b ci: lint every crate against each of its features
8b8e7a0bbd zcash_client_backend: gate the testing imports with the code that uses them
5131aecbe6 Merge pull request #2872 from zcash/fix/real_test_prover_cfg
5201192473 zcash_client_backend: Gate real_test_prover on the pczt feature
f1971e3914 Merge pull request #2867 from zcash/fix/next_step_reorder
7ba46eb543 zcash_pool_migration: Carry the transaction kind in `AdvanceStep::Prove`
55ba149a5d zcash_pool_migration: Fix stale rustdoc predating the one-signing-phase design
454bc2b86c zcash_pool_migration: Broadcast before proving in `MigrationState::next_step`
6c07e5f329 Merge pull request #2862 from zcash/release/zcash_client_sqlite-0.22.0-rc.6
f370a1f250 Release zcash_client_sqlite version 0.22.0-rc.6
d68b556247 Release zcash_pool_migration version 0.1.0-rc.5
8acfad13bd Release zcash_client_backend version 0.24.0-rc.6
c4fd592370 Release zcash_protocol version 0.10.3
f88736c4bc zcash_client_backend: Fix CHANGELOG
7bf6378362 zcash_protocol: Deprecate, do not remove, DELAY_CAP_RATIO
416263e30e Merge pull request #2857 from zcash/fix/v-tx-outputs-transparent-to-address
fd8cc56de3 Merge pull request #2855 from zcash/feature/shorter_bucketing_intervals
a901f54cd0 Merge pull request #2852 from zcash/fix/abandon-canonical-crossing-without-anchor
7e6e1af7fc zcash_client_sqlite: report transparent outputs at their transparent receiver in v_tx_outputs
f9566d9d84 zcash_client_sqlite: make `pczt-tests` enable the features it requires
9a19ec33a6 Adopt the revised ZIP 318 migration timing (zcash/zips#1343)
8e7235ab31 Merge pull request #2858 from zcash/ci/reduce-test-runtime
b9caea67eb ci: reduce test suite runtime
aa40605b0f Merge pull request #2856 from zcash/fix/single-note-lock-tier-order
3d60127374 Merge pull request #2854 from zcash/ci/fix-zizmor-alerts
67cf73ed17 zcash_client_backend: abandon canonical crossings without a computable anchor
a8ba05fcaf zcash_client_sqlite: preserve lock-tier preference in single-note selection
ec3890a6a3 ci: resolve zizmor security findings
414d0fbf61 Merge pull request #2850 from zcash/feat/migration-shaped-note-selection
667b638237 Merge pull request #2851 from zcash/agent/preserve-ironwood-padding
3c98373fb6 Merge pull request #2849 from zcash/fix/anchor-retention-empty-boundary-blocks
75d81b42e4 zcash_client_backend: preserve Ironwood proposal padding
5ac095a0b2 zcash_client_backend: fund canonical crossings from a single note
3ffa58b6d3 zcash_client_sqlite: order note selection by chain age, not discovery
81c5a8bbb9 zcash_client_backend: checkpoint empty anchor-retention boundaries
732654e15d Merge pull request #2839 from zcash/dw/hoist-testing-pool-imports
e282224fa0 zcash_client_backend: gather same-cfg pool-test imports into one group
5eb5ac5774 zcash_client_backend: hoist the remaining pool-test imports to the top
445042798e Merge pull request #2836 from zcash/fix/orchard-ironwood-anchor-interval-column
42a0a88e11 Merge pull request #2838 from zcash/dw/gitignore-claude
94895e9b5c zcash_client_sqlite: repair orchard_ironwood_migrations schema drift
a6c72fd6d5 Merge pull request #2840 from zcash/dw/agents-md-imports-at-top
9c3cd550a3 AGENTS.md: keep every `use` in the header, one cfg predicate per group
862a766aaa Merge pull request #2808 from zcash/dw/pool-migration-split-testing-module
fc219d26ed Merge pull request #2822 from zcash/feat/v_transactions_pool_crossing
0176b13c65 Merge pull request #2835 from zcash/dw/agents-md-scoped-tests
36dee7cbc7 gitignore .claude
8af3e41556 Use only ASCII in the pool-crossing docs and comments
85908611cd zcash_client_sqlite: derive the pool crossing from a per-pool rollup
98cfcea672 zcash_client_backend: hoist the OrchardPoolTester import in the pool tests
5303dde3fb zcash_client_sqlite: carry the pool crossing in one column, not two
1d3b7f2314 zcash_client_sqlite: classify pool-crossing transactions in v_transactions
79a28a192a Add transaction-history value regression tests for Orchard -> Ironwood
311dee654b AGENTS.md: run only the tests a change affects
80458725f3 Merge pull request #2830 from zcash/dependabot/github_actions/taiki-e/install-action-2.85.3
dcfcf79a01 build(deps): bump taiki-e/install-action from 2.85.2 to 2.85.3
78172b9c10 Merge pull request #2829 from zcash/release/zcash_client_sqlite-0.22.0-rc.5
cb356a7def Release zcash_client_sqlite version 0.22.0-rc.5
ec7919f052 Release zcash_pool_migration version 0.1.0-rc.4
88841e36f6 Release zcash_client_backend version 0.24.0-rc.5
0693d5e68a Release zcash_keys version 0.16.1
adcb37bcd4 Release zcash_protocol version 0.10.2
477b23ac44 Merge pull request #2828 from zcash/fix/durable-tx-status-intent
0f151c9eac Merge pull request #2826 from zcash/feature/zip318_canonical_crossing
a85cf492b3 wallet: preserve transaction status observation intent
832d1d547e zcash_client_backend: refuse an expiry override on the PCZT path too
50329d8985 zcash_client_backend: fix the fee-model test under Orchard-only features
1d3d374af4 zcash_client_backend: propagate errors from the canonical attempt
c059b2c5e5 zcash_client_backend: reject non-canonical fees for canonical crossings
e54c0cbf54 zcash_client_backend: complete the canonical ZIP 318 transaction shape
e3a999c056 zcash_protocol: make the wallet the only source of ZIP 318 parameters
533195fc1d Fix feature-flagging across the workspace
855765b726 CHANGELOG: consolidate the ZIP 318 canonical crossing entries
693d443a3a zcash_client_backend: cover the crossing cases that must NOT be bucketed
0028ec4f6e zcash_client_backend: propose canonical crossings against a bucketed anchor
4f6e0d1229 zcash_client_backend: express ZIP 318 anchor bucketing as a confirmations policy
7b20f9f98c Merge pull request #2824 from zcash/fix/v_tx_outputs_key_scopes_description
ac201126ce Merge pull request #2823 from zcash/feat/public_migration_ids
b6910ec59e zcash_client_sqlite: add the leaf sets for the releases since 0.19.0
056a596dd5 zcash_client_sqlite: expose the identifier of each internal migration
c7092c5da3 zcash_client_sqlite: correct the v_tx_outputs_key_scopes description
085566787d zcash_client_backend: build canonical ZIP 318 crossings unpadded
7943e12341 zcash_client_backend: Step action counts take BundlePadding
ce8a290cf8 zcash_client_backend: carry bundle padding, not bundle type, through the fee model
a91178a11d Collapse the duplicated ZIP 318 anchor interval type
b6cea3fe55 zcash_pool_migration: source the denomination series from zcash_protocol
54d960fc6e zcash_protocol: add the ZIP 318 pool-migration parameters
0d56685d37 Merge pull request #2816 from zcash/dw/2812-v-address-uses-ironwood
5cbd4e3665 Merge pull request #2817 from zcash/dw/2813-funding-accounts-ironwood
f7eeb4b9bc zcash_client_sqlite: count Ironwood inputs when attributing a funding account
b51ec1170b zcash_client_sqlite: record Ironwood receipts as uses of their address
e6b8c7488b Merge pull request #2818 from zcash/dw/2814-reattribution-ironwood
b26354f467 Merge pull request #2810 from zcash/dw/ironwood-flag-received-change
9badf46c10 zcash_client_sqlite: cover every shielded pool in the imported-receiver reattribution
3ed308ba16 zcash_client_sqlite: redraw the migration DAG comment for the new node
3cdfa190b7 zcash_client_sqlite: repair Ironwood change flags on upgrade
b73dcd823c zcash_client_sqlite: flag previously-received Ironwood notes as change
8b53b9c3fa chore: fix pre-existing intra-doc link errors
df47de4313 zcash_pool_migration: fix the intra-doc links the testing split broke
4ef8474dee zcash_pool_migration: split `testing` into strategies, conformance, scenarios
996a2ffd8e Merge pull request #2790 from zcash/danny/note-locking-test-dsl-poc
8e27b71599 Merge pull request #2795 from dannywillems/dw/tor-reject-non-http-scheme
a95fdfc29d CHANGELOG: reject non-HTTP(S) URLs in the Tor transport
d576429dd3 zcash_client_backend: reject non-HTTP(S) URLs in the Tor transport
77cd50cde1 Merge pull request #2804 from zcash/fix/birthday-error-display
03807b7f85 testing: broaden the transfer DSL to cut more test boilerplate
3c8d229dd1 Roll the transfer DSL across general pool test scenarios
e75fa043a9 Roll the note-locking test DSL across the remaining scenarios
b6f1203a73 Add fluent transfer/mining DSL helpers and use them in locking tests
5bb3792426 zcash_client_backend: Implement Debug, Display and Error for BirthdayError
a00f4a7a88 Merge pull request #2802 from zcash/docs/changelog-policy
6649cac66b CONTRIBUTING.md: Merge the second "Pull Request Review" section into its neighbours
7af6ee165b CONTRIBUTING.md: Document the changelog policy for human contributors
15e105e178 AGENTS.md: Refine the changelog policy for published sections and dependency bumps
c7bf2fad8e Merge pull request #2792 from zcash/fix/tor_timeouts
46d1653172 Merge pull request #2742 from zcash/danny/note-locking-module
c188098d95 Merge pull request #2801 from zcash/feature/bucketed_migration_schedule
16836107d8 zcash_client_sqlite: gate the TxId import in wallet::locking
69a034aedf locking: move generic bounds into where clauses
05495a9c19 CHANGELOG: document the locking module and OutputLockStore extraction
3b388cda12 zcash_client_backend: extract the OutputLockStore trait
f6cb8620d6 zcash_client_sqlite: remove the original SQLite locking tests
0e03364049 zcash_client_sqlite: copy the SQLite locking tests (copy half)
ce643560cd zcash_client_backend: remove the original locking tests, re-export suite
60f8be91e9 zcash_client_backend: copy the shared locking test suite (copy half)
06ebcf5a4a zcash_client_sqlite: add is_locked_at balance-classification predicate
9df2139ed6 zcash_client_sqlite: remove old locking code, redirect to wallet::locking
22dacc3123 zcash_client_sqlite: copy locking logic into wallet::locking (copy half)
89fc6af593 zcash_client_backend: introduce data_api::locking module
b463f5d058 zcash_client_backend: apply timeouts to Tor network operations
e96ad3485c Merge pull request #2798 from zcash/danny/ci-clippy-no-default-features
c62e513855 Address wake-up schedule review comments
07511bf4f4 Expose the sync/proving wake-up schedule on MigrationState
2cbfc6b02a Add a minimal sync/proving wake-up schedule to zcash_pool_migration
62f77668a8 ci: add a no-default-features clippy job
2ad5a2eeb1 zcash_pool_migration: allow CommitOutput::transfer_funding to be unread
e0b48bb549 Merge pull request #2797 from zcash/doc/agents_security_disclosures
87a54e92f0 Require agents to classify disclosures against the security policy.
c7f6cab9ce Merge pull request #2788 from zcash/chore/readme_lint
a6e727f98e Silence the README graph check lint on zcash_pool_migration
bccac91d95 Merge pull request #2783 from zcash/fix/pczt-derivation-review-followups
96741c8118 Merge pull request #2784 from zcash/dependabot/github_actions/taiki-e/install-action-2.85.2
e6aebd6e00 build(deps): bump taiki-e/install-action from 2.85.0 to 2.85.2
38d0b77483 Stamp ZIP 32 derivation on migration builders' wallet-controlled spends
c966e15847 Retain existing signatures in the batch signer PCZT view
6d0cae86f5 Merge pull request #2781 from zcash/fix/proposal_orchard_payment_errors
b1b79b913b zcash_client_sqlite: carry the cause in BackendError
9d86a17846 zcash_client_sqlite: report unrecognized backend errors distinctly
02c67a1a5d Make every public error enum in the wallet crates non-exhaustive
65a3add2f1 Merge pull request #2779 from zcash/release/zcash_client_backend-0.24.0-rc.4
b0a1b84b8e Release zcash_client_sqlite version 0.22.0-rc.4
f0f118b163 Release zcash_pool_migration version 0.1.0-rc.3
7015e6ef69 Release zcash_client_backend version 0.24.0-rc.4
37eb6ac00f Release pczt version 0.9.1
416da3a530 Reject Orchard-pool payments in step construction as a proposal error
2b58e424fe pczt: move the unreleased anchor-normalization changelog entry
51385a15e4 Stamp ZIP 32 derivation on wallet-controlled zero-value spends in PCZTs
71afbcf177 Move the pool-migration proving simulation into zcash_client_sqlite
4876053a7f Merge pull request #2770 from zcash/testing/orchard-change-pool-turnstile
f746dbdae3 Merge pull request #2776 from zcash/pczt-signer-view-followups
424d81df9c [pczt] Normalize v1-decoded empty Orchard bundle anchor back to None
a34cd6ac11 [pczt] Test full signer view's proprietary-metadata redaction and Ironwood coverage
ba18a4af8d Merge pull request #2773 from zcash/release/zcash_client_sqlite-0.22.0-rc.3
e990745123 Merge pull request #2774 from zcash/dw/e2e-prove-one-scenario
c40821329d Post-release `cargo vet` updates.
225c366724 zcash_pool_migration: prove one representative scenario end to end
e23b108876 Release zcash_client_sqlite version 0.22.0-rc.3
bbbbcb8694 Release zcash_pool_migration version 0.1.0-rc.2
da0c610d1d Release zcash_client_backend version 0.24.0-rc.3
02f2bef1ad Release pczt version 0.9.0
387ad22cea cargo vet: regenerate the `audit-as-crates-io` policy entries
e12f1d0ff7 Merge pull request #2767 from zcash/kris/pool-migration-terminology-and-crossing-value
bc15e1141d Merge pull request #2769 from zcash/pczt-signer-view-and-minimal-encoding
a1f00fd3b8 zcash_pool_migration: rename MigrationTxId to MigrationTransferId
45ddd75792 zcash_pool_migration: expose the value a transfer crosses, not just what it spends
25eefb146d zcash_pool_migration: rename the note-split planner to denomination planning
27bb532904 Merge pull request #2771 from zcash/test/pczt-keystone-serialization-compat
2d0f78e64a pczt: test minimal-encoding serialization against Keystone firmware
5b8bb8c3fe Merge pull request #2766 from zcash/plans-convention
1d9a6268e7 Merge pull request #2765 from zcash/dw/96-evil
57d82108da zcash_client_sqlite: pin the change pool for a mixed Orchard/Sapling spend
2cbb55ec58 zcash_client_backend: select PCZT signer views by receiver capability
657c893226 pczt: serialize in the minimal encoding version
82b912f990 AGENTS.md: agent plans and design documents are not committed
b91d6c210b zcash_pool_migration: address review feedback on the tests
aa2d6ee7d1 zcash_pool_migration: expose the total signing-action workload
919ebce8b0 zcash_pool_migration: add golden vectors for signing-round packing
f1ffdbf217 zcash_pool_migration: add end-to-end usage tests for signing rounds
a4db73bd61 zcash_pool_migration: pack signing into action-budgeted rounds
7a1c7836e7 Merge pull request #2763 from zcash/release/zcash_client_sqlite-0.22.0-rc.2
31018093b1 Post-release `cargo vet` updates.
0ec4c6f95c Merge pull request #2764 from zcash/dw/remove-orchard-pin
855ecf4c94 cargo vet: record orchard 0.15.3 publisher for trust resolution
6a4afff60e cargo vet: audit orchard as a crates.io dependency again
88dbefc9f6 Update Cargo.lock after removing orchard pin
b49f8f83e2 Remove orchard pin
8d2788fbaf Merge pull request #2761 from zcash/release/zcash_keys-0.16.0
875ebb7e7f Release zcash_client_sqlite version 0.22.0-rc.2
03ec58ac5d Release zcash_pool_migration version 0.1.0-rc.1
8ce3c72c97 Release zcash_client_backend 0.24.0-rc.2
1affd45d7e Merge pull request #2762 from zcash/fix_readme_graph
3dfd39d128 Fix the position of zcash_history in the README graph.
a32c6d5446 Release zcash_keys version 0.16.0
983cb27921 Merge pull request #2759 from zcash/feature/configurable-anchor-bucket-interval
cd2b9a6a27 zcash_client_sqlite: retain the grid each in-flight migration was committed under
0f233a48d5 zcash_pool_migration: guard the two anchor grids against divergence
b24a42723b zcash_pool_migration: record the anchor grid a migration was committed under
b35ba53f80 zcash_pool_migration: source the scheduling parameters from the backend
2137612e4b zcash_pool_migration: replace the scheduling constants with parameter types
78229dd3d8 zcash_client_backend: make the anchor retention interval configurable
82cdb2d0ff Merge pull request #2755 from zcash/slipstream-storage-trait-additions
ab87e6a7f5 Add storage-trait operations needed by external sync engines
df1d8d5508 Merge pull request #2757 from zcash/docs/propose-send-max-transfer
3d4f956fc2 docs: document every parameter of propose_send_max_transfer
0ee8797222 Merge pull request #2754 from zcash/release/zcash_history-0.6.0
b74429f9e4 Release zcash_encoding 0.5.0 and zcash_history 0.6.0
718610837e Merge pull request #2753 from zcash/release/zcash_primitives-0.30-merge
4339ee5ae9 workspace: cut zcash_encoding 0.5.0 without cascading to the stack
6469caa66a Post-release `cargo vet` metadata updates.
16b1abd6c2 Update the `pczt` CHANGELOG to cleanly reflect the contents of to 0.8.0 release.
683dbd1289 Merge pull request #2751 from zcash/release/zcash_primitives-0.30
31b0607d6f Merge pull request #2750 from zcash/dependabot/github_actions/zizmorcore/zizmor-action-0.6.1
32deb59075 Merge pull request #2749 from zcash/dependabot/github_actions/taiki-e/install-action-2.85.0
57b844dc00 Release pczt version 0.8.0
72432f548b Release zcash_proofs version 0.30.0
70e0ea0698 Release zcash_primitives version 0.30.0
8ae4581c03 Merge pull request #2748 from zcash/release/zcash_transparent-0.10.0
5559cd48b6 Update `cargo vet` metadata after zcash_transparent 0.10.0 release.
839ef67cdd Merge pull request #2746 from zcash/release/zcash_protocol-0.10.1
af8833f873 build(deps): bump zizmorcore/zizmor-action from 0.6.0 to 0.6.1
94306fe9d4 build(deps): bump taiki-e/install-action from 2.84.1 to 2.85.0
850cb32b44 Merge pull request #2745 from zcash/fix/bundle_padding
421e80b1e7 Release zcash_transparent version 0.10.0
f7f4987440 README: document `zcash_pool_migration`, and style its feature-gated edge
f73978d136 Update `cargo vet` metadata after zcash_protocol-0.10.1 release.
61ea16e9fa Replace per-pool BundleType fields with a coinbase-free BundlePadding
033a0a9b8c Release zcash_protocol version 0.10.1
b96925d6d2 Merge pull request #2744 from zcash/rename/zcash-pool-migration
41c99955cb Add `zcash_history` to the README.md crate graph.
321febc4ce zcash_history: use unbounded CompactSize per ZIP 221 and support no_std
fc6999f7dd Initial alpha release of the zcash_pool_migration crate.
c1509011e1 Rename the `zcash_pool_migration_backend` crate to `zcash_pool_migration`
7905f712de zcash_encoding: add unbounded CompactSize read/write; enforce bound on write
3a10e7fec7 Merge pull request #2373 from Zk-nd3r/fix/pczt-partial-signature-length
92b78e05ec zcash_history: remove `byteorder` dependency
66226e6a54 zcash_history: replace custom CompactSize with `zcash_encoding::CompactSize`
b3c8433138 zcash_history: migrate from `std::io` to `corez::io`
70b5067ac0 zcash_history: validate deserialized height ranges
48c63b39e5 zcash_history: remove dead `#[repr(C)]` attributes and FFI doc comment
3a3d5d9aab fix(zcash_transparent): reject oversized PCZT partial_signatures
a51227d0b5 Merge pull request #2739 from zcash/refactor/commit-output-struct
90aca23ef3 Merge pull request #2740 from zcash/agents-changelog
c3a0281431 AGENTS: never modify CHANGELOG entries of published versions
7837593dc0 zcash_pool_migration_backend: return a struct from the commit pass
4b4e2633b2 Merge pull request #2737 from zcash/dependabot/github_actions/taiki-e/install-action-2.84.1
beec9b595f Merge pull request #2716 from zcash/schell/note-locking
68603fa71a Merge pull request #2735 from zcash/fix/ironwood-rewind-empty-tree-tolerance
14fe02d328 build(deps): bump taiki-e/install-action from 2.84.0 to 2.84.1
a271fe918d zcash_client_sqlite: drop lock_filter from get_unspent_transparent_output
18ec7e0cfe zcash_client_sqlite: changelog for the pool-migration lock-owner accessor
a1d0faee5d zcash_client_sqlite: expose a pool migration's lock-owner set
fcf4ceb3b1 zcash_client_sqlite: add and persist lock_owner per pool-migration transaction
323a492e29 zcash_client_backend: document that advisory locks are overridable in selection
35009c5ea9 zcash_client_backend: honor SpendPolicy lock preference in input selection
b893047e40 zcash_client_sqlite: owner-scoped, tiered locked-note selection
e2f45c1d5a replace include_locked bool with LockFilter/LockedInputPolicy across selection APIs
9d4d0747ba zcash_client_backend: carry LockedInputPolicy on SpendPolicy
328d9e437d zcash_client_backend: add LockedInputPolicy for owner-scoped lock overrides
cb0327b149 zcash_client_backend: allow a txid to serve as a LockOwner
ddfcc0d8e7 zcash_client_backend: name the include_locked argument at call sites
04647fe115 CHANGELOG: describe owner-keyed output locking
264b8cf989 zcash_client_backend: key output locks by a LockOwner token
16a1004d04 zcash_client_sqlite: count locked coinbase outputs as locked balance
a6a7658362 zcash_client_sqlite: test lock conflicts across database connections
aecb8d0b75 CHANGELOG: note locked-proposal decoding and include_locked fixes
cf050989e9 zcash_client_sqlite: pin lock-target edge behavior; tidy lock queries
7e126b6c98 zcash_client_backend: test note locking for transparent outputs
5552850fd4 zcash_client_sqlite: appease clippy in lock predicate tests
5203312a20 zcash_client_backend: property-test OutputRef identity and Balance buckets
fe116629cf zcash_client_sqlite: add model-based proptest for note locking
cd35b29028 zcash_client_backend: test lock expiry, conflicts, and proposal unlock
6ac45250a4 zcash_client_sqlite: property-test the note-locking SQL predicates
1479ed3f42 CHANGELOG: note ProposalError::InputsLocked in zcash_client_backend
d50d4596d5 zcash_client_backend: document note-locking hazards
7bb5bd068f zcash_client_backend: add ProposalError::InputsLocked for lock conflicts
38c028a336 zcash_client_sqlite: honor include_locked in get_unspent_transparent_output
bd9de87f9d zcash_client_backend: decode proposals without filtering locked inputs
54b5e97ab8 zcash_client_backend: Clarify proposal_input_refs input/output terminology
9820f2f662 zcash_client_backend: Document note-locking concurrency and behavior
27f0f613f0 zcash_client_backend: Add clear_locked_outputs recovery method
9ed24befec zcash_client_sqlite: Fix note-lock selection boundary off-by-one
53c5f785fa Add note locking tests.
124c3037df Add lock_notes parameter to proposal creation functions
4827d36ba5 Unlock spent notes atomically in store_transactions_to_be_sent
61c3ae5794 zcash_client_sqlite: Handle locked notes in note selection and balance.
7437d6a18c Add include_locked parameter to InputSource and WalletRead methods
1586cca0a9 Add lock_outputs/unlock_output/get_locked_outputs to wallet traits
662d3c807b Add note locking columns to received notes/outputs tables.
ba0c2e1316 Add `OutputRef` type for cross-pool output identification
82bbc3af50 zcash_client_sqlite: classify per-pool tree truncation outcomes instead of requiring checkpoint parity
17fb52d49a Merge pull request #2736 from zcash/followup/pool-migration-review-nits
6bfd0fe154 Merge pull request #2723 from zcash/feat/pool-migration-expiry-detection
a0b7ed91cf zcash_client_sqlite: find the highest rooted checkpoint without probing
e3c5c4e4e3 zcash_pool_migration_backend: select notes at the chain tip when proving
034255bfbc zcash_pool_migration_backend: rebuild expired migration transfers
481ec22341 zcash_pool_migration_backend: detect expired transactions in the state machine
0d37f0e8bb Merge pull request #2734 from zcash/fix/2731-migration-global-proving-key
b50517f468 Merge pull request #2733 from zcash/fix/build-rs-windows-warnings
ad2effeb4c zcash_client_backend: reuse the shared Orchard proving key in test support
e0a95afb49 zcash_pool_migration_backend: use the shared Orchard proving key
395a7482b4 CHANGELOG: note the public Orchard proving-key cache
9d962edb39 zcash_primitives: expose cached_orchard_proving_key
c22c492ec2 zcash_client_backend: silence build-script warnings on Windows
56195ed25e Merge pull request #2710 from zcash/prove/pool-migration-transfer
b1d561b160 Merge pull request #2730 from zcash/fix/2722-orchard-proving-key-reuse
eb25d234d2 AGENTS: allow issue references in TODO comments
74c9e9930d zcash_pool_migration_backend: anchor the Ironwood bundle at the same height
8d14d03e00 Merge pull request #2729 from zcash/anchor-retention-interval-144
bf4bf28560 CHANGELOG: note Orchard proving-key caching in the builder
1d45a9bc5e zcash_primitives: cache the Orchard proving key across builds
d212c548dd Merge pull request #2728 from zcash/fix/anchor-retention-batch-pruning
4aafaa1297 zcash_pool_migration_backend: rename anchor_root to anchor in the prover
c4da6b6128 zcash_pool_migration_backend: rename the prover height to anchor_height
489c287484 zcash_pool_migration_backend: type the prover's nullifiers as Nullifier
7b6c94ccdc zcash_client_backend: reduce the anchor retention interval to 144 blocks
8e3b63e253 zcash_client_backend: retain anchor checkpoints before insert_tree prunes
83d2241e32 zcash_client_backend: add a failing test for anchor retention across large scan batches
2d49a2947b Merge pull request #2720 from zcash/fix/pool-migration-account-fk
ff15da7c8f zcash_client_sqlite: key the pool-migration store by account row
0ab556bf07 zcash_pool_migration_backend: prove transfers before their broadcast height
446c7a990a zcash_pool_migration_backend: use repeat_n in the chain-sim scenario
95d7483d85 Merge pull request #2712 from zcash/michal/MOB-1455/MOB-1495-pool-migration-account-key
9a14734aa9 Merge pull request #2717 from zcash/test/migration-single-quantum
da6a1c7e81 Merge pull request #2719 from zcash/fix/pool-migration-csprng-bound
71e25f5216 zcash_client_sqlite: document that upgrading discards an old-shape migration
6a8f0e208a zcash_client_sqlite: delete an account's pool migration on account deletion
fd7c6120d1 zcash_pool_migration_backend: require CryptoRng for planning randomness
85148aeaf2 zcash_pool_migration_backend: cover the migration personas end to end
3780c05ccc zcash_protocol: add a zats test helper next to Zatoshis
18f557efb9 zcash_client_sqlite: bind the pool-migration account UUID directly
83c8d4801a zcash_pool_migration_backend: check the migrated Ironwood notes
20131f4f6f zcash_pool_migration_backend: split the proving flow into named phases
a273622604 zcash_client_sqlite: shorten BlockHeight path and drop a Cargo comment
99ca8da219 zcash_pool_migration_backend: express the proving scenario as a builder
82eaeb9119 zcash_client_sqlite: document the exposed test harness, drop the allow
45c08acde5 zcash_pool_migration_backend: gate commit_preparation_with_funding on orchard
43454493c2 zcash_pool_migration_backend: drop the dev-dependency prose comment
4fb324a054 zcash_client_sqlite: add Default for the exposed BlockCache
361330e38c zcash_pool_migration_backend: make the proving test scenario-driven
0b0c921657 zcash_pool_migration_backend: trim the proving test's module doc
9ec1abbab3 AGENTS.md: forbid issue/PR numbers in code comments
b97be046c1 zcash_client_sqlite: move highest-rooted-checkpoint helper into the harness
6e825e6d8d zcash_client_sqlite: expose the test harness under test-dependencies
37824a72a4 CHANGELOG: key the pool-migration store by account
36f5f5ad81 zcash_client_sqlite: key the pool-migration store by account
6a617238c7 zcash_pool_migration_backend: test full one-quantum migration
c3fb35f883 zcash_pool_migration_backend: test single-quantum note split
44984d48ca Merge pull request #2714 from zcash/feat/pool-migration-run-estimate
00ba902c0b zcash_pool_migration: end-to-end chain-simulation proving test
0bb9ab9100 zcash_pool_migration: prove preparations and resolve spends from the wallet
fa8aca1ec6 zcash_pool_migration: prove transfers against the wallet commitment tree
4b6cf7ef30 zcash_pool_migration: prove a transfer through &mut self
239f0c1a87 zcash_pool_migration: consult the drawn anchor boundary at proving time
a9d678f888 Merge pull request #2715 from zcash/sched/pool-migration-remove-k-max
a41e941f8e Merge pull request #2713 from zcash/feat/pool-migration-sqlite-tables
2bfb063a96 zcash_client_sqlite: implement the pool-migration SQLite store
a0e937819e zcash_client_sqlite: add the Orchard -> Ironwood pool-migration tables
8e909544f9 zcash_pool_migration: add store (de)serialization support
0836df3b11 pczt: gate the witness-to-anchor consistency checks on the prover feature
bfd7e6a832 zcash_pool_migration_backend: remove the K_MAX multiplicity cap
df5c89d960 zcash_pool_migration_backend: forward zcash_primitives/test-dependencies
974763fe53 feat(pool-migration): report signing sessions for a capacity-limited signer
f62d121815 feat(pool-migration): estimate the number of migration runs a wallet needs
0a2c6d1ae6 Merge pull request #2711 from zcash/refactor/pool-migration-committer
c092521e56 Merge pull request #2698 from zcash/feat/tor-onion-service-client
360e55c810 zcash_pool_migration: extract a Committer for commit_preparation_inner
6721534b76 refactor(tor): propagate allow_onion_services as explicit argument
b1ab588872 Merge pull request #2707 from zcash/memory/pool-migration-memory-crate
67fdb19c06 refactor(tor): make onion-service support opt-in at HttpTcpConnector level
b97e1fe3d4 Merge pull request #2709 from zcash/sched/pool-migration-release-crossings
f664d2febe ci: cover zcash_pool_migration_backend in the no_std build guard
f065c28069 zcash_pool_migration: test a four-layer consolidation migration
66630a00f9 zcash_pool_migration: introduce a MintedNote type for the commit pool
703e1eeabc zcash_pool_migration: release each crossing on its own funding note
8f3f2bf64f zcash_pool_migration_memory: extract the in-memory test backends into a crate
a705dec368 zcash_pool_migration: rename put/write_migration to replace_migration
245df17027 zcash_pool_migration: Fix incorrect use of std::io
718d248e8a Merge pull request #2706 from zcash/testing/pool-migration-store-conformance
aea4652215 zcash_pool_migration: shared store-conformance test framework
ff7075f5e3 fix: rustfmt + Cargo.lock + vet exemption for tor-hsclient
519ace7062 Merge pull request #2708 from zcash/err/pool-migration-commit-error
1d274f2d73 Merge pull request #2704 from zcash/enc/zcash-protocol-zatoshis-codec
c1386234a2 CHANGELOG: typed CommitError variants replace Build(String)
e6d51cf674 zcash_pool_migration_backend: de-stringify CommitError::Build
0c63f10e76 zcash_pool_migration_backend: return a typed error for a malformed plan
e10cac509e CHANGELOG: correct the transfer to the 3-action / 2 source + 1 destination shape
469472d802 Merge pull request #2703 from zcash/enc/zcash-encoding-roundtrip-helper
544dd2bb7b CHANGELOG: add the Zatoshis write/read codec
1546f85deb zcash_protocol: canonical binary codec for Zatoshis (write/read)
21141b8022 CHANGELOG: add the zcash_encoding round-trip test helper
aaa302b4ae zcash_encoding: add a round-trip proptest helper behind test-dependencies
5f60ee5aa9 Merge pull request #2699 from zcash/doc/agents-domain-types-depth
1167bebfae AGENTS: a proptest strategy lives with the type it generates
d812fe6d7f AGENTS: canonical serialization and instance-parameterized store conventions
fade9d2fd7 AGENTS: keep domain types whole, convert only at the storage edge
fce025199c Merge pull request #2663 from zcash/feat/pool-migration-engine
0c2775f5ed zcash_pool_migration_backend: sign the whole migration in one phase
cb3fe80dc4 zcash_pool_migration_backend: carry the signing error structurally
0531f9d894 Merge pull request #2696 from zcash/dependabot/github_actions/taiki-e/install-action-2.84.0
86b875168c Merge pull request #2697 from zcash/dependabot/github_actions/actions/checkout-7.0.1
3848c23ba7 feat(tor): enable onion-service connections from zcash_client_backend
6e0f168b56 build(deps): bump actions/checkout from 7.0.0 to 7.0.1
834dfdb2b6 build(deps): bump taiki-e/install-action from 2.83.4 to 2.84.0
98df68cd0b zcash_pool_migration_backend: read the stored plan through its own accessors
e1093d70ff zcash_pool_migration_backend: correct the transfer-shape docs to 2+1 actions
0f95a4c6b0 zcash_pool_migration_backend: detect a stale plan when resolving wallet notes
14e71fe619 zcash_pool_migration_backend: drop the unreachable Expired state
ab2644b072 zcash_pool_migration_backend: refuse to overwrite a live migration
d25a2fbd37 zcash_pool_migration_backend: shuffle the transfer broadcast order
a92488a997 zcash_pool_migration_backend: build transfers with deferred anchors
fc0d460821 zcash_pool_migration_backend: temporally decouple the preparation transactions
66a6083a28 zcash_pool_migration_backend: guarantee every transfer a candidate anchor boundary
b357c06cfb AGENTS: public APIs use semantic types, not bare primitives
13d67310c4 zcash_pool_migration_backend: use Zatoshis for monetary values in the planner APIs
efcecf5afa zcash_pool_migration_backend: compute fees during decomposition from the canonical shapes
e466587099 zcash_pool_migration_backend: no pub fields in pub structs
cbdb003c86 zcash_pool_migration_backend: witness against an explicit anchor height
0aa713fd0d zcash_pool_migration_backend: draw transfer anchor boundaries at scheduling time
82f585e795 zcash_pool_migration_backend: use TxId for broadcast transaction ids
6e86cdc1e8 zcash_pool_migration_backend: add string conversions for MigrationStatus
cfcf5e9434 CHANGELOG: add the external-signer seam
b1e8ac85b4 zcash_pool_migration_backend: add an external-signer seam to the engine
83dec751eb zcash_pool_migration: never resurrect a terminal migration
7152479ce2 zcash_pool_migration: own the migration state machine in the engine
8f54aaebe1 zcash_pool_migration: remove dead UnsupportedMultiLayer, fix doc links
3563598dac zcash_pool_migration: support multi-layer preparation
c499acc4e1 zcash_pool_migration_backend: wallet-backed migration adapter
280788edf7 zcash_pool_migration_backend: add NoteSplitPlan::from_stored_parts
31b6fc9f07 zcash_pool_migration_backend: correct the engine module doc
7aec48097e zcash_pool_migration_backend: split persistence into store traits
062a3a9a4d AGENTS: add a no-magic-numbers code convention
88f00e018f zcash_pool_migration_backend: add the migration engine to CHANGELOG
b4ef58407d zcash_pool_migration_backend: commit a migration's transfers
7bc3ad362a zcash_pool_migration_backend: commit a migration's preparation
63ffc9147b zcash_pool_migration_backend: add the migration engine (planning + state)
d177de6921 zcash_primitives, pczt: defer shielded anchors to proving time (ZIP 374)
70c8b06f70 Merge pull request #2661 from zcash/feat/pool-migration-scheduling
0193d5aa20 zcash_pool_migration_backend: golden vectors and proptests for scheduling API
38de00e836 zcash_pool_migration_backend: add golden vectors for schedule_broadcast_heights
49c86924df zcash_pool_migration_backend: reword the unit-step doc in plainer terms
6c213c46cc zcash_pool_migration_backend: add transfer scheduler to CHANGELOG
d6443af0e9 zcash_pool_migration_backend: add transfer scheduling and anchor selection
5c7cdf77b2 Merge pull request #2693 from zcash/fix/2685-prep-fee-impl
c0d0434932 Merge pull request #2689 from zcash/fix/2680-ironwood-anchor
c2c7c85dda Merge pull request #2671 from zcash/dependabot/github_actions/taiki-e/install-action-2.83.4
45406c8402 zcash_pool_migration_backend: move the prep-tx fee onto FeePolicy
99ec1ba09a zcash_pool_migration_backend: take a real Ironwood anchor for a transfer
b47746471d Merge pull request #2679 from zcash/addr/2647-preparation-review
28b34cc6a6 Merge pull request #2677 from zcash/addr/2645-dust-floor-naming
37d8d9c338 Merge pull request #2678 from zcash/fix/migration-outputs-borrow
0c8bbded3b zcash_pool_migration_backend: fold each input's value into PrepInput
6123dd8d50 zcash_pool_migration_backend: reserve "dust" for sub-fee, use "sub-quantum"
85360ab5bb zcash_pool_migration_backend: rename the dust floor to the minimum denomination
bf5ae427ea zcash_pool_migration_backend: fix the test build after migration_outputs change
a7be2c1198 Merge pull request #2647 from zcash/feat/pool-migration-split-pczt
1d5adf17dc Merge pull request #2675 from zcash/addr/2645-nuttycom-review
6ff11b96f7 zcash_pool_migration_backend: address the note-split review comments
d3fe98e766 Merge pull request #2672 from zcash/doc/agents-db-write-atomicity
a4af49adef zcash_pool_migration_backend: add messy multi-user note-split golden vectors
d00fb09890 CHANGELOG: add note-split preparation and PCZT construction
9a984626ba zcash_pool_migration_backend: add the PCZT builders and pre-signing
6cf9d17273 zcash_pool_migration_backend: add note-split preparation planning
5af0080493 Document database write atomicity requirements for agents
6cfb3857d2 Merge pull request #2645 from zcash/feat/ironwood-denominations
e42c0e589e build(deps): bump taiki-e/install-action from 2.83.0 to 2.83.4
de4c769899 Merge pull request #2624 from CodeMongerrr/2316_agents_readme_dep_graph_consistency
6996f7fd21 Merge pull request #2621 from zcash/dependabot/github_actions/EmbarkStudios/cargo-deny-action-2.1.1
614a4d0246 Merge pull request #2666 from nullcopy/fix/zewif-import-keypool-exposure
f45d49b323 Merge pull request #2654 from zcash/split-transparent-coinbase-balance
47344ee188 Fix the NU7 (zip-233) build of the coinbase test helper
19f065fd6a zcash_client_sqlite: classify transparent coinbase in account balance summaries
aa16325600 zcash_client_backend: split AccountBalance unshielded balance into regular and coinbase
741d3f609b zcash_pool_migration_backend: rename crate to a pool-agnostic name
7493d09937 zcash_ironwood_migration_backend: saturate the denomination-cap multiply
c51c1f192c AGENTS.md: prefer no_std libraries when dependencies allow
f5846507b2 CHANGELOG: note the migration backend crate is no_std
4b4ea827ce zcash_ironwood_migration_backend: make the crate no_std
9f381edda2 CHANGELOG: note only the ZIP 318 canonical note-split strategy
f606c4dc78 zcash_ironwood_migration_backend: keep only ZIP 318 canonical strategy
e17ed5c25e AGENTS.md: require named constants over magic numbers
4e078350f7 zcash_ironwood_migration_backend: add CHANGELOG
7e592f18e1 zcash_ironwood_migration_backend: add crate with note-split planning
6234ed7568 zcash_client_sqlite: infer ZeWIF address exposure from the gap window
f157eb7bd2 zcash_client_sqlite: don't mark never-exposed ZeWIF addresses as exposed
d6352c3c0f Merge pull request #2651 from nuttycom/chore/zewif-cbor-tag-framing
8e6b16b232 Merge pull request #2662 from zcash/adam/pczt-batch-signer-redaction
b7713975c1 Update to zewif 0.1.0-rc.3
300c7d25b0 Merge pull request #2650 from zcash/fix/expiry-override-for-non-pczt-proposals
93b5cce052 Clarify PCZT resolvable field compaction
534726f76d Clarify batch signer redaction policy
507b7e2594 zcash_client_backend: Add batch signer redaction
77fcd0105c Merge pull request #2643 from zcash/adam/pczt-redact-for-signer
5eb4500c70 zcash_client_backend: rename target_expiry_height to expiry_height on the PCZT path
7ef08201eb zcash_client_backend: move CHANGELOG entry to Changed (breaking signature change)
a5b58a61fc zcash_client_backend: un-gate Error::ExpiryHeightBelowTargetHeight from pczt feature
31e19aa8a0 zcash_client_backend: accept expiry_height in create_proposed_transactions
9281db6145 Merge main into signer redaction
4faf871118 Merge pull request #2642 from zcash/fix/step-orchard-action-count-nu6-3
30bbc8990c Merge pull request #2648 from zcash/adam/ironwood-historical-note-selection
42e91aa3eb Trim historical note selection comments
e9581a7865 Add Ironwood historical note selection
af75e98f55 Merge pull request #2633 from nuttycom/fix/transparent_value_index_migration_order
8e37bc5310 zcash_client_backend: Use an ASCII comma in place of an em dash
71813971ac zcash_primitives: Name each Orchard action element's encoded size
474ceaa05b CHANGELOG: Note the MAX_BLOCK_BYTES and ACTION_SIZE additions
80df1f491f zcash_client_backend: Cover large and adversarial Step action counts
dffe4161fe Add MAX_BLOCK_BYTES and Orchard ACTION_SIZE constants
ea54cc8d56 zcash_client_backend: Extend Step action-count test coverage
8f84529b96 zcash_client_backend: Gate a zip317 test import on its consumer's features
74f150edfe CHANGELOG: Note the Step::orchard_action_count signature change
57abec2d53 zcash_client_backend: Make Step::orchard_action_count version-aware
d09d1f390f Merge pull request #2639 from nullcopy/feat/extension-transactionality
3adfaac98e zcash_client_sqlite: Add extension-table writes within wallet transactions
ec56473243 Merge pull request #2644 from zcash/feat/zcash-protocol-block-time
6e05f439cd zcash_protocol: add block-time constants to CHANGELOG
5e3f5f4e6c zcash_protocol: add SECONDS_PER_BLOCK and BLOCKS_PER_HOUR constants
f14ef5c883 Merge pull request #2640 from zcash/dependabot/github_actions/zizmorcore/zizmor-action-0.6.0
e58f13ec03 zcash_client_backend: Add PCZT signer redaction
0b5ef5ca6c build(deps): bump zizmorcore/zizmor-action from 0.5.7 to 0.6.0
4e30befab3 zcash_client_sqlite: Order add_transparent_value_index after account_delete_cascade
51e022626a Reconcile AGENTS.md and the README dependency diagram
82875743c1 build(deps): bump EmbarkStudios/cargo-deny-action from 2.0.20 to 2.1.1
266a75ae3a Merge pull request #2610 from zcash/adam/migration-ironwood-bundle-type
25766a4c75 Merge pull request #2615 from zcash/fix/send-max-transparent-recipient
d83c45fe9b zcash_client_backend: Add a cross-pool send-max test
fcc1e64b07 zcash_client_backend: Make send-max fee-sum overflow an error, not a panic
a277ecbff5 zcash_primitives: replace bundle-type override with per-pool fields
e64a6c8e15 zcash_client_backend: Compute send-max Ironwood action count version-awarely
267bcccb4a zcash_client_backend: Deliver send-max via Sapling when Orchard is unavailable
bcdd1d0319 zcash_client_backend: Require send-max proposals to deliver nonzero value
9f0d6263bf zcash_client_backend: Reject send-max to TEX recipients without transparent-inputs
099a1f17e7 zcash_client_backend: Fix send-max proposals to transparent recipients
df733adf9a Generalize Orchard protocol bundle type override
61bde6f229 Merge remote-tracking branch 'upstream/main' into adam/migration-ironwood-bundle-type
5d69922f6a Configure Ironwood bundle type independently
54ff673169 Merge pull request #2609 from zcash/release/zcash_client_sqlite-0.22-stack
69c6639376 Update cargo vet metadata after releases.
569ab85274 Release zcash_client_sqlite version 0.22.0-rc.1
54efc30cd6 Release zcash_client_backend version 0.24.0-rc.1
b73bdd429c Release pczt version 0.8.0-rc.1
5cd77ca763 Release zip321 version 0.9.0-rc.1
83bf85e4e0 Update `cargo vet` metadata.
d4f4095de0 Merge pull request #2603 from gustavovalverde/agent/preserve-shielding-anchor
9367a56182 refactor: require a real anchor for any partially-shielded proposal step
bd39083d65 Merge pull request #2608 from zcash/ironwood-fallback-change-pool-test
34202d11a7 CHANGELOG: add zcash_client_backend::fees::ChangeValue::ironwood
3bfe44c7e6 zcash_client_backend: test that an Orchard change fallback becomes Ironwood
0d4e3df428 Merge pull request #2546 from gustavovalverde/zally/pczt-optional-anchors
42ffd0d89f Merge pull request #2597 from zcash/dependabot/github_actions/taiki-e/install-action-2.83.0
292e758462 Merge pull request #2604 from LukasKorba/put-blocks-rows-nullifier-tracking-floor
d77175e57b zcash_client_backend: derive the nullifier-tracking floor inside put_blocks_rows
3356a2728c zcash_client_backend: add a nullifier-tracking floor to put_blocks_rows
356d67c487 Merge pull request #2607 from nuttycom/zewif-1.0.0-rc.2
8080922ec2 Migrate to the released zewif 1.0.0-rc.2
a97a3d5f46 Merge pull request #2600 from LukasKorba/commitment-trees-bulk-flush
76c7c61ee2 Document the atomicity requirements of `apply_tree_changes`.
11fb9f2758 zcash_client_backend: address review comments on the bulk-flush methods
b65d550870 zcash_client_backend: add bulk-flush methods to WalletCommitmentTrees
44a335d906 Merge pull request #2581 from zcash/fix/standalone-transparent-import-duplicate-receiver
5e90820e5b pczt: Require anchors for non-empty bundles
2b59737323 CHANGELOG: Note PCZT shielded-anchor role behavior
9531b338ec pczt: Preserve absent shielded anchors across roles
c6c7800280 fix: preserve shielding proposal anchors
db56d2c510 Merge pull request #2602 from zcash/adam/pczt-orchard-spend-signatures
7e8ac52dc1 Merge pull request #2598 from gustavovalverde/fix/ironwood-rewind-checkpoints
878db2074a Merge remote-tracking branch 'refs/remotes/upstream/main' into HEAD
49db06ed84 pczt: Version batch signing wire format
0588be1832 zcash_client_sqlite: Include Ironwood checkpoints in rewind selection
e30517e433 Merge pull request #2593 from zcash/agent/pczt-optional-orchard-cmx
30e3ccbd02 pczt: Remove request IDs from batch messages
339234f67d Merge pull request #2596 from zcash/refactor/recipient-variant-naming
a71e53a28f Merge pull request #2599 from gustavovalverde/fix/ironwood-subtree-sync
1a1d899bca pczt: Store semantic PCZTs in batch requests
576e378c56 zcash_client_backend: Fetch Ironwood subtree roots during sync
6d48a445b1 pczt: Rename spend signature contribution type
f25d9c945f build(deps): bump taiki-e/install-action from 2.82.11 to 2.83.0
e53d979720 zcash_client_backend: split BuildRecipient by output domain
8ed357cff4 pczt: Serialize batch value pools as an enum
ec50c52b70 zcash_client_backend: rename Recipient::InternalAccount to InternalShielded
7032a2513b pczt: Correlate batch signatures by position
01e3dfe946 pczt: Reject trailing batch message data
34969f6ea4 pczt: Add Postcard batch signing messages
beb7ebc86a pczt: Add Orchard spend signature contributions
b253bb6c04 Merge pull request #2592 from zcash/release/nu6.3
882ecd2780 Update `cargo vet` metadata.
178dbf5287 Release zcash_history 0.5.0
c97aa14221 Fix inadvertently removed [Unreleased] CHANGELOG sections.
55f221af26 Release zcash_keys 0.15.0
9fa73be9a3 Release zcash_proofs 0.29.0
12b8097401 Release zcash_primitives 0.29.0
8732065a0e Update to orchard 0.15.0
68d230fa73 Release zcash_transparent 0.9.0
4ed6304258 Release zcash_address 0.13.0
993e39ff3f Release zcash_protocol-0.10.0
8261cacf89 Make Orchard PCZT cmx optional
29c7fb2888 Merge pull request #2591 from zcash/chore/update_shardtree
8e3b0448d9 zcash_client_backend, zcash_client_sqlite: batch standalone transparent pubkey import
70fa5ea90b zcash_client_sqlite: resolve unknown account up front on standalone import
fe3cca5d08 zcash_client_sqlite: resolve duplicate receiver on standalone transparent import
1748173f2f Update to `shardtree 0.7.0`
8e6864a3c6 Merge pull request #2588 from zcash/feat/zewif_branchid_network_upgrade
ba4fad5b81 Merge pull request #2585 from zcash/fix/cargo_deny_reports
65de1ed889 Merge pull request #2590 from zcash/fix/zewif-clippy-unused-imports
a5f21f8bac Fix clippy suggestions that apply after MSRV 1.88 bump.
50f76b4847 Update MSRV to 1.88
6f5e7ca6e1 zcash_client_sqlite: Gate feature-conditional imports to fix clippy warnings
5dbbc12bdd Merge pull request #2586 from LukasKorba/putblocks-dedup-seams
5db189287e zcash_protocol: Expose BranchId <-> NetworkUpgrade mapping
b296c86b57 zcash_client_sqlite: Support regtest wallets in ZeWIF import
5b60560aa4 zcash_client_backend: extract put_blocks_rows and expose the tree-stage helpers
9fe5abf78a Merge pull request #2567 from nuttycom/feat/zewif_import
1b6e85e3af Merge pull request #2550 from zcash/feat/transparent-change
b43a42372d Merge pull request #2573 from zcash/dependabot/github_actions/taiki-e/install-action-2.82.11
8e89f4e924 zcash_client_sqlite: Note the ZeWIF transparent-address-set follow-up
ab14e6cc74 zcash_client_sqlite: Reuse ShieldedPool for ZeWIF frontier errors
481b2ef4bd zcash_client_sqlite: Import ZeWIF wallets atomically
b65ce8da63 zcash_client_sqlite: Test ZeWIF spending-key detection
cfc1629cd4 zcash_client_sqlite: Simplify the ZeWIF importer
ef8b95b39c zcash_client_sqlite: Store ZeWIF raw transactions against a known chain tip
90e23cdfa2 zcash_client_sqlite: Match ZeWIF seed material by canonical fingerprint
af9003799c zcash_client_sqlite: Test ZeWIF wallet import
192e871c25 zcash_client_sqlite: Register imported transparent keys and scripts
d98c6abaa5 zcash_client_sqlite: Ingest ZeWIF wallet transactions
3b860748ee zcash_client_sqlite: Add feature-gated ZeWIF wallet import (accounts)
877e574adb Merge pull request #2578 from zcash/adam/ironwood-subtree-summary-index
c3916509c1 Merge pull request #2577 from zcash/adam/ironwood-historical-witness-generation
5789eca352 Merge pull r…
Copilot AI lite review requested due to automatic review settings August 18, 2026 15:05

Copilot AI 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.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

@aphelionz
aphelionz merged commit 54c3a6e into main Aug 18, 2026
8 checks passed
@aphelionz
aphelionz deleted the subtree-update/librustzcash-2026-08-18 branch August 21, 2026 03:08
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