Skip to content

rpc_contract: the wallet's rows — every field clients/ui/engine/validate.js decodes, as a canary in the fast CI - #136

Merged
dendisuhubdy merged 3 commits into
mainfrom
test/wallet-rpc-contract
Oct 11, 2026
Merged

dendisuhubdy merged 3 commits into
mainfrom
test/wallet-rpc-contract

Conversation

@dendisuhubdy

Copy link
Copy Markdown
Member

The node-side half of the fullnode ↔ clients integration tests (companion: randprotocol/clients#2). crates/randprotocol-node/tests/rpc_contract.rs now pins every method and field the wallet engine reads (clients/ui/engine/validate.js, wallet.js), so a renamed or retyped field fails here before a release reaches the wallet:

  • 51 rows / 245 checks (was 41 / 216); 11 tests.
  • New wallet-specific checks: the minted note's witness has exactly 32 hex path entries and its root equals rand_getAnchor's and rand_getTreeInfo's; an out-of-range witness index is null; the nullifier page shape; estimateFee is a decimal string; the envelope_bytes Int case in a node-less test (it is null on the live test chain); rand_mint refused when the faucet is off; the wallet's RPC_METHOD_RE copied from rpc.js and applied to every method name in the node's table (state-changing methods are name-checked only).
  • Rows for methods listed in the wallet's method table but not yet read by the engine say so; rand_getBalance/getAccount/getAssetBalance are pinned as the -32601 refusals the wallet documents, not as reads.
  • docs/howto.md §7 lists the clients repo (scripts/e2e-node.sh, RAND_NODE_BIN/RAND_CLI_BIN/RAND_PROVER_BIN, CI job real-node).

No changes under src/.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HetkTGUHukuapaUf6gqGyr

dendisuhubdy and others added 2 commits October 11, 2026 12:19
…— anchor/witness/tree roots agree, 32-level witness, nullifier and leaf pages, fee, faucet-off and method-table checks

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HetkTGUHukuapaUf6gqGyr
…changing calls in the method sweep, one id check, doc rewrap

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HetkTGUHukuapaUf6gqGyr
@codecov

codecov Bot commented Oct 11, 2026

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

@dendisuhubdy
dendisuhubdy marked this pull request as ready for review October 11, 2026 22:10
@dendisuhubdy
dendisuhubdy merged commit 9c260f8 into main Oct 11, 2026
21 checks passed
@dendisuhubdy
dendisuhubdy deleted the test/wallet-rpc-contract branch October 11, 2026 22:10
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.

1 participant