Skip to content

fix(coinmarketcap): scope crypto batch requests to their own quote currency#5140

Open
tyrion70 wants to merge 1 commit into
smartcontractkit:mainfrom
tyrion70:fix/coinmarketcap-crypto-quote-batching
Open

fix(coinmarketcap): scope crypto batch requests to their own quote currency#5140
tyrion70 wants to merge 1 commit into
smartcontractkit:mainfrom
tyrion70:fix/coinmarketcap-crypto-quote-batching

Conversation

@tyrion70

Copy link
Copy Markdown
Contributor

Symptom: coinmarketcap crypto feeds intermittently return 502 "Data for quote "" was not found in response"; the failing set is non-deterministic, reshuffles on restart, and is independent of API key/plan.

Cause: In crypto.ts one HTTP request is built per unique quote (convert=), but each is tagged with params: list — the entire param set across all quotes. parseResponse then looks up data.quote[p.quote] for every attached param, so any param whose quote ≠ the request's convert 502s.

Fix: Filter each request's params down to the params sharing its quote, so each param is resolved only by the request that actually requested its convert. One line; no behavioural change for single-quote batches.

…rrency

The crypto transport builds one HTTP request per unique quote currency
(convert=<quote>) but tags each request with the full param list across
all quotes. parseResponse then looks up data.quote[p.quote] for every
attached param, so any param whose quote differs from the request's
convert returns a spurious 502 "Data for quote X not found". Because each
param is attached to every per-quote request, the per-param reconciliation
is order-dependent and the failing set is non-deterministic and
key-independent.

Filter each request's params down to the params sharing its quote, so each
param is resolved only by the request that requested its convert. One line;
no behavioural change for single-quote batches.

Signed-off-by: Peter van Mourik <peter@chainlayer.io>
@changeset-bot

changeset-bot Bot commented Jun 28, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 2bb335d

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 6 packages
Name Type
@chainlink/coinmarketcap-adapter Patch
@chainlink/token-allocation-adapter Patch
@chainlink/bsol-price-adapter Patch
@chainlink/crypto-volatility-index-adapter Patch
@chainlink/savax-price-adapter Patch
@chainlink/xsushi-price-adapter Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant