Skip to content

Commit

Permalink
Support evm chains in /chains api
Browse files Browse the repository at this point in the history
  • Loading branch information
delivan committed Jul 26, 2024
1 parent 1ea78ab commit 3103306
Showing 1 changed file with 32 additions and 8 deletions.
40 changes: 32 additions & 8 deletions pages/api/chains.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,40 @@ export default async function (
});
});

const jsonDirectory = path.join(process.cwd(), "cosmos");

const fetchChains = (await fs.readdir(jsonDirectory)).map((fileName) =>
fs.readFile(`${jsonDirectory}/${fileName}`, "utf8"),
const cosmosChainsDirectory = path.join(process.cwd(), "cosmos");
const cosmosChains = (await fs.readdir(cosmosChainsDirectory)).map(
(fileName) => fs.readFile(`${cosmosChainsDirectory}/${fileName}`, "utf8"),
);

const chainInfos: ChainInfo[] = (await Promise.all(fetchChains)).map(
const cosmosChainInfos: ChainInfo[] = (await Promise.all(cosmosChains)).map(
(chainInfo) => JSON.parse(chainInfo),
);

//Return the content of the data file in json format
res.status(200).json({ chains: chainInfos });
const evmChainsDirectory = path.join(process.cwd(), "evm");
const evmChains = await Promise.all(
(
await fs.readdir(evmChainsDirectory)
).map((fileName) =>
fs.readFile(`${evmChainsDirectory}/${fileName}`, "utf8"),
),
);
const evmChainInfos: ChainInfo[] = (await Promise.all(evmChains)).map(
(chainInfo) => {
const evmChainInfo = JSON.parse(chainInfo);
const evmChainId = parseInt(evmChainInfo.chainId.replace("eip155:", ""));
const { websocket, features, ...restEVMChainInfo } = evmChainInfo;
return {
...restEVMChainInfo,
rest: evmChainInfo.rpc,
evm: {
chainId: evmChainId,
rpc: evmChainInfo.rpc,
websocket,
},
features: ["eth-address-gen", "eth-key-sign"].concat(features ?? []),
};
},
);

// Return the content of the data file in json format
res.status(200).json({ chains: cosmosChainInfos.concat(evmChainInfos) });
}

0 comments on commit 3103306

Please sign in to comment.