fix(wallet-toolbox): derive ChainTracks from Arcade host, drop babbage defaults#306
Draft
sirdeggen wants to merge 3 commits into
mainbsv-blockchain/ts-stack:mainfrom
feat/chaintracks-arcade-derived-no-babbagebsv-blockchain/ts-stack:feat/chaintracks-arcade-derived-no-babbageCopy head branch name to clipboard
Draft
fix(wallet-toolbox): derive ChainTracks from Arcade host, drop babbage defaults#306sirdeggen wants to merge 3 commits intomainbsv-blockchain/ts-stack:mainfrom feat/chaintracks-arcade-derived-no-babbagebsv-blockchain/ts-stack:feat/chaintracks-arcade-derived-no-babbageCopy head branch name to clipboard
sirdeggen wants to merge 3 commits into
mainbsv-blockchain/ts-stack:mainfrom
feat/chaintracks-arcade-derived-no-babbagebsv-blockchain/ts-stack:feat/chaintracks-arcade-derived-no-babbageCopy head branch name to clipboard
Conversation
…e defaults
ChainTracks endpoints are now derived uniformly from the per-chain Arcade host
(`<arcade-host>/chaintracks/v1`) for every public network, replacing the
hardcoded `${chain}net-chaintracks.babbage.systems` defaults:
- main: https://arcade-v2-us-1.bsvblockchain.tech/chaintracks/v1
- test: https://arcade-v2-testnet-us-1.bsvblockchain.tech/chaintracks/v1
- ttn: https://arcade-v2-ttn-us-1.bsvblockchain.tech/chaintracks/v1
- tstn: $TSTN_CHAINTRACKS_URL (or ${TSTN_ARCADE_URL}/chaintracks/v1)
Also:
- arcadeDefaultUrl('test') returns the testnet Arcade host (was undefined; the
endpoint exists at arcade-v2-testnet-us-1, currently intermittently down).
- ChaintracksChainTracker's default endpoint derives the same way - no babbage.
- Fiat exchange rates no longer have a default endpoint: operators must supply
chaintracksFiatExchangeRatesUrl (or exchangeratesapiKey) explicitly.
- Updated affected unit tests and interface docs.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
sirdeggen
requested review from
BraydenLangley,
tonesnotes and
ty-everett
as code owners
July 22, 2026 21:48
Contributor
Author
|
Await reassurance from @galt-tr that http://arcade-v2-testnet-us-1.bsvblockchain.tech/ is the correct testnet URL |
sirdeggen
marked this pull request as draft
July 22, 2026 21:57
Replace the main-vs-staging `storage.babbage.systems` default with per-chain `bsvb.tech` store endpoints (mirroring the arcade host convention): - main: https://store-us-1.bsvb.tech - test: https://store-testnet-us-1.bsvb.tech - ttn: https://store-ttn-us-1.bsvb.tech - tstn: no default (private/per-deployment) - storageUrl must be supplied explicitly Adds a `defaultStorageUrl(chain)` helper; Setup/SetupClient throw a clear WERR_INVALID_OPERATION when a chain has no default and no explicit URL is given. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ty-everett
approved these changes
Jul 23, 2026
…-cdn-us-1.bsvb.tech Swap the default bulk block-header CDN from cdn.projectbabbage.com/blockheaders to https://chaintracks-cdn-us-1.bsvb.tech (mainnet manifest + mainNet_*.headers verified present, matching fileHashes). Updates the create*Chaintracks option defaults, BulkFileDataManager.fromKnownSourceUrl, BulkIngestorCDNBabbage, and the static validBulkHeaderFiles sourceUrls (kept in sync with fromKnownSourceUrl). Note: the new CDN does not yet serve testnet files (testNetBlockHeaders.json 404), so testnet CDN bootstrap is unavailable until those are uploaded. Network-download test fixtures that pull testnet files are left on the old CDN for now. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Contributor
Author
|
TODO: Get our CDN up for test, ttn, tstn data too. |
ty-everett
marked this pull request as ready for review
July 24, 2026 21:45
ty-everett
marked this pull request as draft
July 24, 2026 22:34
This was referenced Jul 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Removes hardcoded
babbage.systemsdefaults fromwallet-toolboxand derives service + storage endpoints per chain from thebsvblockchain.tech/bsvb.techhosts.ChainTracks — derived from the per-chain Arcade host (
<arcade-host>/chaintracks/v1)https://arcade-v2-us-1.bsvblockchain.tech/chaintracks/v1https://arcade-v2-testnet-us-1.bsvblockchain.tech/chaintracks/v1https://arcade-v2-ttn-us-1.bsvblockchain.tech/chaintracks/v1$TSTN_CHAINTRACKS_URL(or${TSTN_ARCADE_URL}/chaintracks/v1)chaintracksUrlderived fromarcadeDefaultUrl(chain);${chain}net-chaintracks.babbage.systemsremoved (in bothcreateDefaultWalletServicesOptionsand theChaintracksChainTrackerfallback).arcadeDefaultUrl('test')now returnshttps://arcade-v2-testnet-us-1.bsvblockchain.tech(wasundefined; the endpoint exists, currently intermittently down).chaintracksFiatExchangeRatesUrldefaults toundefined; operators must supply it (or anexchangeratesapiKey) explicitly.Wallet storage — per-chain
bsvb.techstore endpointsNew
defaultStorageUrl(chain)helper replaces the main-vs-staging-storage.babbage.systemssplit:https://store-us-1.bsvb.techhttps://store-testnet-us-1.bsvb.techhttps://store-ttn-us-1.bsvb.techstorageUrl/endpointUrlmust be suppliedSetup/SetupClientthrow a clearWERR_INVALID_OPERATIONwhen a chain has no default and no explicit URL is given.ChainTracks bulk-header CDN —
cdn.projectbabbage.com→chaintracks-cdn-us-1.bsvb.techThe default bulk block-header CDN moves to
https://chaintracks-cdn-us-1.bsvb.tech(root path, no/blockheaders/). Mainnet manifest (mainNetBlockHeaders.json) and header files (mainNet_*.headers, 8 MB each) verified present with matchingfileHashvalues. Updated thecreate*Chaintracksoption defaults,BulkFileDataManager.fromKnownSourceUrl,BulkIngestorCDNBabbage, and the staticvalidBulkHeaderFilessourceUrls (kept in sync withfromKnownSourceUrl).testNetBlockHeaders.json→ 404). Testnet CDN bootstrap is unavailable until those are uploaded. The network-download test fixtures inChaintracksFetch.test.ts/Chaintracks.test.ts(which pull testnet header files) are intentionally left pointing at the old CDN so CI stays green — move them once testnet files land on the new CDN.Scope
Out of scope (left as-is): the
cdn.projectbabbage.comheader-bootstrap CDN, and explicit babbage URL fixtures insideChaintracksClientApi.test.ts(they pass URLs directly, not via the default).Testing
This workspace checkout could not run
tsc --buildorjestlocally due to a pre-existing broken toolchain —@types/nodeis missing (process/Bufferunresolved across many untouched files) andts-jestcrashes during config setup (Cannot read properties of undefined (reading 'fileExists')). None of thetscerrors reference files changed here, and the jest crash occurs before any test runs. CI is the validation authority for this PR. Changes are small, type-consistent, and test edits are aligned with the new URLs/mocks.🤖 Generated with Claude Code