test(wallet): certify the native Zinder backend - #185
Open
gustavovalverde wants to merge 11 commits into
Open
Conversation
Exercise capability preflight, complete bounded scans, fresh-process persistence, and forced epoch reacquisition against real Zinder and Zallet boundaries. Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Launch a fresh NU6.3 Zebra, all-retention native Zinder composition, and co-staged Zallet launcher/backend with pinned inputs. Record runtime evidence while keeping the scenario separate from full P2a certification. Co-Authored-By: OpenAI Codex <noreply@openai.com>
Replace offline-created wallet accounts with two live z_getnewaccount calls so the real launcher, selected Zinder backend, sync recovery wake, and restart path certify the public account-creation contract. Co-Authored-By: OpenAI Codex <noreply@openai.com>
Align the bounded-scan rotation harness with the backend's exact-request pause contract and retain record-only range evidence for non-rotation runs. Co-Authored-By: OpenAI Codex <noreply@openai.com>
Exercise history and steady-state chain-view expiry through exact production-shaped binaries. Pin the interrupt to the requested range start, prove the allowed SQLite mutation boundary, and verify retry under a newly published serving pair. Co-Authored-By: OpenAI Codex <noreply@openai.com>
Exercise transparent receive, spend, restart, and historical rescan against the current native Zinder backend with a separately staged Zebra-backed producer. Preserve exact artifact identity, capability admission, mined transaction heights, state parity, and backend isolation in retained evidence. Co-Authored-By: OpenAI Codex <noreply@openai.com>
Exercise a wallet-created transaction through the staged Zinder backend from submission and mempool observation through restart, mining, and a replacement-branch reorg. Retain exact artifact identity, backend isolation, outgoing state transitions, and persisted canonical replacement hashes in the certification evidence. Co-Authored-By: OpenAI Codex <noreply@openai.com>
Run the current-wallet certification harness against Zinder v0.5.0 and the rebased Zallet backend commit that consumes its published crates. Co-Authored-By: OpenAI Codex <noreply@openai.com>
gustavovalverde
force-pushed
the
feat/zinder-regtest-tracer
branch
from
July 29, 2026 21:59
99e2c50 to
9c35b9b
Compare
Run the certification harness against the Zallet commit that closes the saturated-pool recovery deadlock and post-scan enhancement wake race found by the backend matrix. Co-Authored-By: OpenAI Codex <codex@openai.com>
gustavovalverde
force-pushed
the
feat/zinder-regtest-tracer
branch
from
July 29, 2026 23:55
c742c41 to
b568344
Compare
Pin the native wallet smoke to Zinder 0.6.0 and the matching Zallet fixes, allow the bounded historical recovery window to complete, and preserve the disconnected transaction explicitly when exercising the replacement branch. Co-Authored-By: OpenAI Codex <codex@openai.com>
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.
Closes #184.
Companion consumer change: zcash/zallet#701.
Why
The native Zinder backend crosses process, storage, and chain-view boundaries that adapter tests cannot certify. These scenarios exercise exact Zebra, Zinder, and Zallet binaries through the wallet launcher and RPC surface while retaining enough identity and runtime evidence to attribute failures.
What changes
9b9e7040453f66e847302f186f95d95b297e6705, Zallet commit0f54455721e819378ab34f5c5fab29016c723377, and Zebra commit7121c82ba6795a151523d5b308a19743f4a1ade7.Reviewer map
qa/rpc-tests/zinder_bounded_scan.pyowns the retained bounded-scan and epoch-rotation contract.qa/rpc-tests/wallet_zinder_recovery.pyowns current-wallet lifecycle, transparent, submission, and reorganization certification.qa/rpc-tests/test_framework/util.pycontains the small shared backend-selection seam.Runtime evidence
The full real-process scenario passed with scope
P2a expiry recovery plus P2b transparent recovery plus P2c submit lifecycle. It covered account creation, viewing-key import, restart and resume, quiet mempool follow, cross-page history recovery, steady-state expiry recovery, transaction submission throughzallet-zinder, mempool restart, mining, explicit post-disconnect rebroadcast, replacement-branch scanning, and stale-block identity removal. All owned processes exited with status 0.c89e02612e34fe4b5c2eaa2aa01a215a5d0a4683b1bc116e0109886910484a28a1bb33a115eb85b376bacf94f29c35a2f2a61dc69765195a210908cb446f0f012d9d423b210049fff98938207d79dd0a86feac8423841bc13a57b069cf2cee12c8eddc73ee437cff177442ef94c8996a4159b0d8d5cc36a7ca28268bda586387aee9ee1adea938eb94574fa15b26e7a887c65e48pyflakes qa,python3 -m py_compile qa/rpc-tests/wallet_zinder_recovery.py,./test/lint/lint-whitespace.sh, andgit diff --checkpass locally.