5c38236b39a0591fe3f6b0819462ea4675f41994
OnchainBackend depended on the concrete EsploraChain class, so the only wallet it could ever have was an Esplora-backed one. The seam is now WalletChainSource, and it is drawn at the scan rather than at the HTTP client: Esplora is address-level and has to walk the gap limit, NBXplorer is wallet-level and has no per-address endpoint at all, so there is nothing to share one level down. The backend keeps the keys and the money — derivation, snapshot cache, coin selection, PSBT construction, signing — and owns no HTTP. Which indexer answers is a constructor argument. Also adds the NBXplorer implementation of the seam, verified end to end against the owner's own pruned node, and the first tests over any of this: a stub Esplora drives a real backend through the gap-limit walk, balance summation, UTXO mapping, transaction scoring and address issuance. Nothing covered the scan before it was moved, which is the wrong time to have no tests. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Description
No description provided
42 MiB
Languages
TypeScript
90.9%
Shell
4.7%
JavaScript
4.1%
CSS
0.2%
HTML
0.1%