From 56299e92db2ca795afa8244422d0973351812028 Mon Sep 17 00:00:00 2001 From: pasta Date: Thu, 27 Aug 2026 16:35:55 +0200 Subject: [PATCH] feat(config): replace dead devnet-paloma with devnet-moutai MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit devnet-paloma has been torn down — its insight, quorums and faucet hostnames no longer resolve — so the built-in devnet entry pointed at nothing. devnet-moutai replaces it in dash-network-configs. All 13 HP masternodes from devnet-moutai.inventory are listed: the quorum service's /masternodes endpoint reports every one ENABLED with a successful DAPI version check (dapi/drive 4.2.0-dev.2), so none need pruning. Trusted context stays on, since quorums.moutai.networks.dash.org is deployed and serves /quorums, /masternodes and /previous. faucetBaseUrl is deliberately omitted: moutai's faucet is the legacy PHP MultiFaucet with no /api/status, so wiring it would render a button that only ever 404s. Verified against live moutai with the pinned evo-sdk 3.1.0-dev.7: devnetTrusted connect succeeds, proof-verifying reads return real data (epoch 0, protocolVersion 14; totalCreditsInPlatform 4655099998500000), and the built UI on ?network=devnet-moutai reports "Network healthy", generates a deposit address, and polls insight.moutai.networks.dash.org plus moutai masternodes on :1443. Co-Authored-By: Claude Opus 5 (1M context) --- src/api/islock.test.ts | 2 +- src/config.ts | 44 +++++++++++++++++++++++++----------------- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/src/api/islock.test.ts b/src/api/islock.test.ts index 48b6c6b..302fe15 100644 --- a/src/api/islock.test.ts +++ b/src/api/islock.test.ts @@ -67,7 +67,7 @@ describe('IslockService', () => { const bytes = new Uint8Array([9, 8, 7]); const subHandle = { wait: vi.fn().mockResolvedValue(bytes) }; mocks.subscribeForInstantSendLock.mockResolvedValue(subHandle); - const service = new IslockService({ network: 'devnet-paloma', dapiAddresses: ['https://127.0.0.1:1443'] }); + const service = new IslockService({ network: 'devnet-moutai', dapiAddresses: ['https://127.0.0.1:1443'] }); const handle = await service.subscribeForInstantSendLock( 'txid', diff --git a/src/config.ts b/src/config.ts index dd4cac7..a763a57 100644 --- a/src/config.ts +++ b/src/config.ts @@ -60,43 +60,51 @@ export const MAINNET: NetworkConfig = { rpcUrl: 'https://rpc.digitalcash.dev', }; -export const DEVNET_PALOMA: NetworkConfig = { +export const DEVNET_MOUTAI: NetworkConfig = { type: 'devnet', - name: 'devnet-paloma', - insightApiUrl: 'https://insight.paloma.networks.dash.org/insight-api', + name: 'devnet-moutai', + insightApiUrl: 'https://insight.moutai.networks.dash.org/insight-api', addressPrefix: 140, p2shPrefix: 19, wifPrefix: 239, minFee: 1000, dustThreshold: 546, platformHrp: 'tdash', - // Paloma HP masternodes. The full inventory (dash-network-configs - // devnet-paloma.inventory) lists 13, but .86/.87/.196/.207 are currently - // dead at the TLS/gRPC layer (connection reset before handshake), so they're - // pruned to stop the SDK rotating into them. Restore from the inventory once - // those nodes are healthy again. + // All 13 HP masternodes from dash-network-configs devnet-moutai.inventory, + // in inventory order (hp-masternode-1..13). Every one reported ENABLED with + // a successful DAPI version check via the quorum service's /masternodes + // endpoint, so none are pruned. Trusted mode discovers addresses from the + // quorum context; this list is what the islock DAPI stream and the + // network-health indicator dial directly. dapiAddresses: [ + 'https://68.67.122.254:1443', + 'https://68.67.122.207:1443', + 'https://68.67.122.192:1443', + 'https://68.67.122.194:1443', + 'https://68.67.122.195:1443', + 'https://68.67.122.196:1443', + 'https://68.67.122.253:1443', 'https://68.67.122.198:1443', 'https://68.67.122.199:1443', - 'https://68.67.122.197:1443', - 'https://68.67.122.192:1443', - 'https://68.67.122.85:1443', - 'https://68.67.122.88:1443', + 'https://68.67.122.84:1443', 'https://68.67.122.206:1443', - 'https://68.67.122.193:1443', - 'https://68.67.122.195:1443', + 'https://68.67.122.252:1443', + 'https://68.67.122.197:1443', ], - faucetBaseUrl: 'https://faucet.paloma.networks.dash.org', + // No faucetBaseUrl: moutai's faucet.moutai.networks.dash.org is the legacy + // PHP MultiFaucet (reCAPTCHA), which serves no /api/status, so wiring it up + // would render an in-app faucet button that only ever 404s. Fund the deposit + // address from that page by hand instead. useTrustedContext: true, // No explicit trustedQuorumUrl — the SDK's default for a devnet named - // `paloma` resolves to `https://quorums.paloma.networks.dash.org/quorums`, - // which is the deployed endpoint. + // `moutai` resolves to `https://quorums.moutai.networks.dash.org/quorums`, + // which is deployed and also serves /masternodes and /previous. }; const NETWORK_REGISTRY = new Map([ ['testnet', TESTNET], ['mainnet', MAINNET], - ['devnet-paloma', DEVNET_PALOMA], + ['devnet-moutai', DEVNET_MOUTAI], ]); const CUSTOM_DEVNETS_KEY = 'bridge-custom-devnets';