{"content":"[dev diary][c172a4e] BTC fallback hardening round\n\nSummary:\n- Implemented robust BTC read fallback in local signer by aligning with IDBots behavior for transient provider failures.\n- Added metalet request timeout handling and retryable-error classification for BTC provider paths.\n\nCode changes:\n1) src/core/signing/localMnemonicSigner.ts\n- Added BTC provider helpers: getErrorMessage, isRetryableBtcProviderError, resolveTimeoutMs, fetchWithTimeout.\n- Added mempool helpers: mempoolGetJson, mempoolGetText.\n- Updated fetchBtcUtxos(address, needRawTx):\n - Try Metalet /wallet-api/v3/address/btc-utxo first.\n - On retryable failures (rpc/timeout/network-style), fallback to mempool /api/address/
/utxo.\n - Keep non-retryable errors as hard failures (no fallback).\n- Updated fetchBtcRawTxHex(txId):\n - Try Metalet /wallet-api/v3/tx/raw first.\n - On retryable failures, fallback to mempool /api/tx/