Skip to content

Shielded: MerkleWitnessUnavailable when sending to a new address with no prior transactions #3400

@lklimek

Description

@lklimek

Description

When attempting to send shielded funds to a new address that has no prior transactions, the operation fails with a ShieldedMerkleWitnessUnavailable error. The local note commitment tree cannot construct a valid Merkle witness because the frontier data is missing the expected root.

Error

ShieldedMerkleWitnessUnavailable {
    detail: "invalid frontier data: witness failed: Tree does not contain a root at address Address { level: Level(0), index: 233 }"
}

Steps to Reproduce

  1. Have a wallet with shielded balance
  2. Attempt to send shielded funds to a new address that has never received any transactions
  3. The operation fails with the above error

Expected Behavior

Sending shielded funds to any valid address should succeed regardless of whether the recipient address has prior transaction history. The Merkle witness construction should not depend on the recipient's transaction state.

Environment

  • Observed on Dash Evo Tool (testnet)
  • Using SPV mode

🤖 Co-authored by Claudius the Magnificent AI Agent

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions