From c9685c51e1dd3575b4db6b6483ae6b405c581a4a Mon Sep 17 00:00:00 2001 From: Tim Date: Mon, 18 Mar 2024 18:06:45 -0400 Subject: [PATCH] metadata has chainId as first key --- src/charts/datafeed.js | 22 ++++++++++++++-------- src/version.js | 14 +++++++++----- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/charts/datafeed.js b/src/charts/datafeed.js index 944d747..1c00a26 100644 --- a/src/charts/datafeed.js +++ b/src/charts/datafeed.js @@ -143,10 +143,16 @@ function addSymbol(p, base, quote, inverted) { async function getAllSymbols() { if (_symbols===null) { + const chainId = useStore().chainId.value; + const md = metadata[chainId] + if(!md) { + console.log('could not get metadata for chain', chainId) + return [] + } _symbols = {} - for (const t of metadata.t) + for (const t of md.t) tokenMap[t.a] = t - metadata.p.forEach((p)=>{ + md.p.forEach((p)=>{ poolMap[p.a] = p const base = tokenMap[p.b]; const quote = tokenMap[p.q]; @@ -173,24 +179,24 @@ export function lookupSymbol(key) { // lookup by fullname } export function lookupBaseQuote(baseAddr, quoteAddr) { - - return _symbols[key] + return _symbols[`${baseAddr}${quoteAddr}`] } function poolIsInverted(pool) { + const chainId = useStore().chainId.value let p - for (p of metadata.p) { - if (p.a==pool.substr(0,42)) { + for (p of metadata[chainId].p) { + if (p.a===pool.substr(0,42)) { let fullname = `${p.q}${p.b}` let symbol = lookupSymbol(fullname) if (symbol in [undefined, null]) { - throw error(`poolIsInverted: pool fullname not found: ${fullname}`) + throw Error(`poolIsInverted: pool fullname not found: ${fullname}`) } return symbol.inverted // return p.x.data.inverted ^ symbol.inverted } } - throw error(`poolIsInverted: pool not found in metadata.json: ${pool}`) + throw Error(`poolIsInverted: pool not found in metadata.json: ${pool}`) } export function maybeInvertBar (pool, bar) { diff --git a/src/version.js b/src/version.js index 37f43e6..06116e2 100644 --- a/src/version.js +++ b/src/version.js @@ -19,8 +19,12 @@ export const metadata = await metadataPromise console.log('metadata', metadata) export const metadataMap = {} -for (const poolMeta of metadata.p) - metadataMap[poolMeta.a] = poolMeta -for (const tokenMeta of metadata.t) - metadataMap[tokenMeta.a] = tokenMeta -console.log('metadataMap', metadataMap) \ No newline at end of file +for (const [chain, info] of Object.entries(metadata)) { + const map = {} + for (const poolMeta of info.p) + map[poolMeta.a] = poolMeta + for (const tokenMeta of info.t) + map[tokenMeta.a] = tokenMeta + metadataMap[chain] = map +} +console.log('metadataMap', metadataMap)