import solc from "solc" const solcCache: Record = {} export const loadSolc = async (version: string): Promise => { return await new Promise((resolve, reject) => { if (solcCache[version] !== undefined) resolve(solcCache[version]) else solc.loadRemoteVersion(`v${version}`, (error: any, soljson: any) => { solcCache[version] = soljson return (error) ? reject(error) : resolve(soljson); }); }); }