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
- Have a wallet with shielded balance
- Attempt to send shielded funds to a new address that has never received any transactions
- 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