diff options
| author | Adam Soltys <[email protected]> | 2026-06-27 09:43:07 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-06-27 09:43:07 -0700 |
| commit | 00bea1dbd226d065cdfaf7b56af4913324888264 (patch) | |
| tree | dc3ddf98f0f3748053e474b86090322223abefd9 /src | |
| parent | 33bbdd3c1a2c92e8d39d461f3b198f034283633b (diff) | |
| parent | aa7ccfeae4d778ab62decbd58c3ddb3f74268274 (diff) | |
| download | coinosv3-00bea1dbd226d065cdfaf7b56af4913324888264.tar.gz coinosv3-00bea1dbd226d065cdfaf7b56af4913324888264.zip | |
Merge branch 'master' into boltz-swaps
Diffstat (limited to 'src')
| -rw-r--r-- | src/api.js | 4 | ||||
| -rw-r--r-- | src/wallet.js | 4 |
2 files changed, 6 insertions, 2 deletions
@@ -157,6 +157,9 @@ export const COINOS_ELECTRUM = false; const COINOS_ELECTRUM_URL = 'wss://coinos.io/electrum'; export function getBackend() { + // Regtest runs Fulcrum (Electrum over WS) for both data and realtime push — + // matches prod and drops the esplora/electrs dependency. + if (getNetwork() === 'regtest') return 'electrum'; const m = getDataMode(); if (m === 'electrum') return 'electrum'; if (m === 'coinos' && COINOS_ELECTRUM) return 'electrum'; @@ -194,6 +197,7 @@ export function setElectrumServerConfig({ server, url }) { // addresses to a public server you didn't pick. const PUBLIC_ELECTRUM = () => ELECTRUM_PRESETS.filter((x) => x.url).map((x) => x.url); export function electrumCandidates() { + if (getNetwork() === 'regtest') return [getRegtestElectrumWs()]; // local Fulcrum if (getDataMode() === 'coinos' && COINOS_ELECTRUM) return [COINOS_ELECTRUM_URL, ...PUBLIC_ELECTRUM()]; const cfg = getElectrumServerConfig(); if (cfg.server === 'custom') return cfg.url.trim() ? [cfg.url.trim()] : []; diff --git a/src/wallet.js b/src/wallet.js index 94132a6..2f65904 100644 --- a/src/wallet.js +++ b/src/wallet.js @@ -1289,8 +1289,8 @@ export class Wallet { // and balances update with no polling. wsUrl() { // Electrum backend: pick the current failover candidate (rotated on failure). - // Electrum is mainnet-only here; testnet/regtest use esplora + polling. - if (getBackend() === 'electrum' && this.netName === 'mainnet') { + // Mainnet (when cut over to Fulcrum) and regtest (local Fulcrum) use Electrum. + if (getBackend() === 'electrum' && (this.netName === 'mainnet' || this.netName === 'regtest')) { if (!this._wsCandidates || !this._wsCandidates.length) { this._wsCandidates = electrumCandidates(); this._wsCandIdx = 0; } const list = this._wsCandidates; return list.length ? list[(this._wsCandIdx || 0) % list.length] : null; |
