Live on Android wallet (Galaxy S22, testnet): a wallet with total balance 1.534 DASH (SDK get_balance == dashj, exact parity confirmed by a continuous parity harness) failed to shield with:
Coin selection error: Insufficient funds: available 8999527, required 20000000
Available for the asset lock = 0.09 DASH; the ~1.44 DASH gap is the wallet's previously-mixed CoinJoin-derivation-path funds. shieldedFundFromAssetLock's asset-lock builder selects only from the standard BIP44 account, so funds counted in the wallet balance but held on the CoinJoin (or any non-default) account cannot be shielded.
Requests:
- Asset-lock coin selection should span all spendable accounts (including the DIP-9 CoinJoin account) — or document the account-0-only scope explicitly.
- Expose a per-account "spendable-for-asset-lock" balance so integrators can validate the requested amount and show the correct available figure (the total balance overstates what's shieldable).
- Surface a typed
InsufficientFunds error carrying available/required, instead of a WalletOperation with the reason in the message string — integrators currently message-match to classify it as safely-pre-broadcast and to show the amount (relates to the ErrorUnknown(99) classification issue).
cc @QuantumExplorer
Context: dashpay/dash-wallet#1507 Phase 4 shielded funding. 🤖 Filed with Claude Code
Live on Android wallet (Galaxy S22, testnet): a wallet with total balance 1.534 DASH (SDK
get_balance== dashj, exact parity confirmed by a continuous parity harness) failed to shield with:Available for the asset lock = 0.09 DASH; the ~1.44 DASH gap is the wallet's previously-mixed CoinJoin-derivation-path funds.
shieldedFundFromAssetLock's asset-lock builder selects only from the standard BIP44 account, so funds counted in the wallet balance but held on the CoinJoin (or any non-default) account cannot be shielded.Requests:
InsufficientFundserror carrying available/required, instead of aWalletOperationwith the reason in the message string — integrators currently message-match to classify it as safely-pre-broadcast and to show the amount (relates to the ErrorUnknown(99) classification issue).cc @QuantumExplorer
Context: dashpay/dash-wallet#1507 Phase 4 shielded funding. 🤖 Filed with Claude Code