Skip to content

rpc: Align getwalletinfo response with the #55 decision (placeholder fields serialize as real zeros) #620

Description

@pacu

Current behavior: getwalletinfo responds with placeholder values: the handler logs TODO: Implement getwalletinfo and returns zero for balance, unconfirmed_balance, immature_balance, shielded_balance, shielded_unconfirmed_balance, txcount, keypoololdest, keypoolsize, walletversion: 0, and mnemonic_seedfp: "TODO". Only unlocked_until is computed (zallet-core/src/components/json_rpc/methods/get_wallet_info.rs).

#55 was closed (2026-07-13) with the decision that transparent balance data will not be added to getwalletinfo — users should use a dedicated balance retrieval method instead.

Problem: a caller today cannot distinguish "decided: use another method" from "balance is actually zero" — the placeholder fields serialize as real values. This is misleading for zcashd migrators whose monitoring reads getwalletinfo.balance.

Expected: align the response with the #55 decision:

  1. Drop (or stop serializing) the balance fields that will never be populated, so callers fail loudly instead of reading zeros — or document their permanent absence.
  2. Decide the fate of the remaining placeholder fields (walletversion, txcount, keypoololdest/keypoolsize — presumably 0 forever given no key pool, mnemonic_seedfp), and implement or remove them.
  3. Record the resulting differences on the book's altered semantics page (the status matrix from book: Add a zcashd→Zallet RPC migration status matrix #602 already flags the method as partial).

Related: #55, #602, #600.


Drafted with AI assistance (Claude); behavior verified against get_wallet_info.rs at a25cd85.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions