(chainIds: Set<number>)
| 216 | } |
| 217 | |
| 218 | async function getChainTargetById(chainIds: Set<number>) { |
| 219 | const chainExports = getChainExports() |
| 220 | const chains = (await import(chainsIndexFile.href)) as Record<string, unknown> |
| 221 | const chainTargetById = new Map<number, ChainTarget>() |
| 222 | |
| 223 | for (const chainExport of chainExports) { |
| 224 | const chain = chains[chainExport.exportedName] |
| 225 | if (!isChain(chain)) continue |
| 226 | if (!chainIds.has(chain.id)) continue |
| 227 | if (chainTargetById.has(chain.id)) continue |
| 228 | chainTargetById.set(chain.id, { |
| 229 | chain, |
| 230 | chainId: chain.id, |
| 231 | name: chainExport.exportedName, |
| 232 | }) |
| 233 | } |
| 234 | |
| 235 | return chainTargetById |
| 236 | } |
| 237 | |
| 238 | function getChainExports() { |
| 239 | const source = readFileSync(chainsIndexFile, 'utf8') |
no test coverage detected