@tevm/solc
Version:
Utilities around solc
1 lines • 9.32 kB
Source Map (JSON)
{"version":3,"sources":["../src/solc.js"],"names":["_solc","s"],"mappings":";;;;;;;;;AAUO,IAAM,QAAW,GAAA;AAAA,EACvB,QAAU,EAAA,4BAAA;AAAA,EACV,QAAU,EAAA,4BAAA;AAAA,EACV,QAAU,EAAA,4BAAA;AAAA,EACV,QAAU,EAAA,2BAAA;AAAA,EACV,QAAU,EAAA,4BAAA;AAAA,EACV,QAAU,EAAA,4BAAA;AAAA,EACV,QAAU,EAAA,4BAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,QAAU,EAAA,yBAAA;AAAA,EACV,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,wBAAA;AAAA,EACT,OAAS,EAAA,uBAAA;AAAA,EACT,OAAS,EAAA;AACV;AAQa,IAAA,WAAA,GAAc,CAAC,IAAA,EAAM,KAAU,KAAA;AAC3C,EAAI,IAAA;AACH,IAAO,OAAA,IAAA,CAAK,MAAM,IAAK,CAAA,OAAA,CAAQ,KAAK,SAAU,CAAA,KAAK,CAAC,CAAC,CAAA;AAAA,WAC7C,CAAG,EAAA;AAEX,IAAO,OAAA,IAAA,CAAK,MAAMA,sBAAM,CAAA,OAAA,CAAQ,KAAK,SAAU,CAAA,KAAK,CAAC,CAAC,CAAA;AAAA;AAExD;AAMa,IAAA,UAAA,GAAa,OAAO,OAAY,KAAA;AAC5C,EAAM,MAAA,CAAA,GAAI,MAAM,IAAI,OAAA;AAAA,IAAQ,CAAC,OAAS,EAAA,MAAA,KACrCA,sBAAM,CAAA,iBAAA,CAAkB,SAAS,OAAO,CAAA,EAAG,CAAmB,CAAA,EAAqBC,EAAM,KAAA;AACxF,MAAA,IAAI,CAAG,EAAA;AACN,QAAA,MAAA,CAAO,CAAC,CAAA;AAAA,OACF,MAAA;AACN,QAAA,OAAA,CAAQA,EAAC,CAAA;AAAA;AACV,KACA;AAAA,GACF;AACA,EAAO,OAAA;AAAA,IACN,GAAG,CAAA;AAAA,IACH,OAAS,EAAA,CAAC,KAAU,KAAA,WAAA,CAAY,GAAG,KAAK;AAAA,GACzC;AACD","file":"index.cjs","sourcesContent":["import _solc from 'solc'\n\n/**\n * @type {''}\n */\nexport const fileLevelOption = ''\n\n/**\n * @type {import(\"./solcTypes.js\").Releases}\n */\nexport const releases = {\n\t'0.8.30': 'v0.8.30+commit.73712a01.js',\n\t'0.8.29': 'v0.8.29+commit.ab55807c.js',\n\t'0.8.28': 'v0.8.28+commit.c33e5a8c.js',\n\t'0.8.27': 'v0.8.27+commit.4a35a09.js',\n\t'0.8.26': 'v0.8.26+commit.8a97fa7a.js',\n\t'0.8.25': 'v0.8.25+commit.b61c2a91.js',\n\t'0.8.24': 'v0.8.24+commit.e11b9ed9.js',\n\t'0.8.23': 'v0.8.23+commit.f704f362',\n\t'0.8.22': 'v0.8.22+commit.4fc1097e',\n\t'0.8.21': 'v0.8.21+commit.d9974bed',\n\t'0.8.20': 'v0.8.20+commit.a1b79de6',\n\t'0.8.19': 'v0.8.19+commit.7dd6d404',\n\t'0.8.18': 'v0.8.18+commit.87f61d96',\n\t'0.8.17': 'v0.8.17+commit.8df45f5f',\n\t'0.8.16': 'v0.8.16+commit.07a7930e',\n\t'0.8.15': 'v0.8.15+commit.e14f2714',\n\t'0.8.14': 'v0.8.14+commit.80d49f37',\n\t'0.8.13': 'v0.8.13+commit.abaa5c0e',\n\t'0.8.12': 'v0.8.12+commit.f00d7308',\n\t'0.8.11': 'v0.8.11+commit.d7f03943',\n\t'0.8.10': 'v0.8.10+commit.fc410830',\n\t'0.8.9': 'v0.8.9+commit.e5eed63a',\n\t'0.8.8': 'v0.8.8+commit.dddeac2f',\n\t'0.8.7': 'v0.8.7+commit.e28d00a7',\n\t'0.8.6': 'v0.8.6+commit.11564f7e',\n\t'0.8.5': 'v0.8.5+commit.a4f2e591',\n\t'0.8.4': 'v0.8.4+commit.c7e474f2',\n\t'0.8.3': 'v0.8.3+commit.8d00100c',\n\t'0.8.2': 'v0.8.2+commit.661d1103',\n\t'0.8.1': 'v0.8.1+commit.df193b15',\n\t'0.8.0': 'v0.8.0+commit.c7dfd78e',\n\t'0.7.6': 'v0.7.6+commit.7338295f',\n\t'0.7.5': 'v0.7.5+commit.eb77ed08',\n\t'0.7.4': 'v0.7.4+commit.3f05b770',\n\t'0.7.3': 'v0.7.3+commit.9bfce1f6',\n\t'0.7.2': 'v0.7.2+commit.51b20bc0',\n\t'0.7.1': 'v0.7.1+commit.f4a555be',\n\t'0.7.0': 'v0.7.0+commit.9e61f92b',\n\t'0.6.12': 'v0.6.12+commit.27d51765',\n\t'0.6.11': 'v0.6.11+commit.5ef660b1',\n\t'0.6.10': 'v0.6.10+commit.00c0fcaf',\n\t'0.6.9': 'v0.6.9+commit.3e3065ac',\n\t'0.6.8': 'v0.6.8+commit.0bbfe453',\n\t'0.6.7': 'v0.6.7+commit.b8d736ae',\n\t'0.6.6': 'v0.6.6+commit.6c089d02',\n\t'0.6.5': 'v0.6.5+commit.f956cc89',\n\t'0.6.4': 'v0.6.4+commit.1dca32f3',\n\t'0.6.3': 'v0.6.3+commit.8dda9521',\n\t'0.6.2': 'v0.6.2+commit.bacdbe57',\n\t'0.6.1': 'v0.6.1+commit.e6f7d5a4',\n\t'0.6.0': 'v0.6.0+commit.26b70077',\n\t'0.5.17': 'v0.5.17+commit.d19bba13',\n\t'0.5.16': 'v0.5.16+commit.9c3226ce',\n\t'0.5.15': 'v0.5.15+commit.6a57276f',\n\t'0.5.14': 'v0.5.14+commit.01f1aaa4',\n\t'0.5.13': 'v0.5.13+commit.5b0b510c',\n\t'0.5.12': 'v0.5.12+commit.7709ece9',\n\t'0.5.11': 'v0.5.11+commit.c082d0b4',\n\t'0.5.10': 'v0.5.10+commit.5a6ea5b1',\n\t'0.5.9': 'v0.5.9+commit.e560f70d',\n\t'0.5.8': 'v0.5.8+commit.23d335f2',\n\t'0.5.7': 'v0.5.7+commit.6da8b019',\n\t'0.5.6': 'v0.5.6+commit.b259423e',\n\t'0.5.5': 'v0.5.5+commit.47a71e8f',\n\t'0.5.4': 'v0.5.4+commit.9549d8ff',\n\t'0.5.3': 'v0.5.3+commit.10d17f24',\n\t'0.5.2': 'v0.5.2+commit.1df8f40c',\n\t'0.5.1': 'v0.5.1+commit.c8a2cb62',\n\t'0.5.0': 'v0.5.0+commit.1d4f565a',\n\t'0.4.26': 'v0.4.26+commit.4563c3fc',\n\t'0.4.25': 'v0.4.25+commit.59dbf8f1',\n\t'0.4.24': 'v0.4.24+commit.e67f0147',\n\t'0.4.23': 'v0.4.23+commit.124ca40d',\n\t'0.4.22': 'v0.4.22+commit.4cb486ee',\n\t'0.4.21': 'v0.4.21+commit.dfe3193c',\n\t'0.4.20': 'v0.4.20+commit.3155dd80',\n\t'0.4.19': 'v0.4.19+commit.c4cbbb05',\n\t'0.4.18': 'v0.4.18+commit.9cf6e910',\n\t'0.4.17': 'v0.4.17+commit.bdeb9e52',\n\t'0.4.16': 'v0.4.16+commit.d7661dd9',\n\t'0.4.15': 'v0.4.15+commit.bbb8e64f',\n\t'0.4.14': 'v0.4.14+commit.c2215d46',\n\t'0.4.13': 'v0.4.13+commit.0fb4cb1a',\n\t'0.4.12': 'v0.4.12+commit.194ff033',\n\t'0.4.11': 'v0.4.11+commit.68ef5810',\n\t'0.4.10': 'v0.4.10+commit.f0d539ae',\n\t'0.4.9': 'v0.4.9+commit.364da425',\n\t'0.4.8': 'v0.4.8+commit.60cc1668',\n\t'0.4.7': 'v0.4.7+commit.822622cf',\n\t'0.4.6': 'v0.4.6+commit.2dabbdf0',\n\t'0.4.5': 'v0.4.5+commit.b318366e',\n\t'0.4.4': 'v0.4.4+commit.4633f3de',\n\t'0.4.3': 'v0.4.3+commit.2353da71',\n\t'0.4.2': 'v0.4.2+commit.af6afb04',\n\t'0.4.1': 'v0.4.1+commit.4fc6fc2c',\n\t'0.4.0': 'v0.4.0+commit.acd334c9',\n\t'0.3.6': 'v0.3.6+commit.3fc68da5',\n\t'0.3.5': 'v0.3.5+commit.5f97274a',\n\t'0.3.4': 'v0.3.4+commit.7dab8902',\n\t'0.3.3': 'v0.3.3+commit.4dc1cb14',\n\t'0.3.2': 'v0.3.2+commit.81ae2a78',\n\t'0.3.1': 'v0.3.1+commit.c492d9be',\n\t'0.3.0': 'v0.3.0+commit.11d67369',\n\t'0.2.2': 'v0.2.2+commit.ef92f566',\n\t'0.2.1': 'v0.2.1+commit.91a6b35f',\n\t'0.2.0': 'v0.2.0+commit.4dc2445e',\n\t'0.1.7': 'v0.1.7+commit.b4e666cc',\n\t'0.1.6': 'v0.1.6+commit.d41f8b7c',\n\t'0.1.5': 'v0.1.5+commit.23865e39',\n\t'0.1.4': 'v0.1.4+commit.5f6c3cdf',\n\t'0.1.3': 'v0.1.3+commit.028f561d',\n\t'0.1.2': 'v0.1.2+commit.d0d36e3',\n\t'0.1.1': 'v0.1.1+commit.6ff4cd6',\n}\n\n/**\n * Typesafe wrapper around solc.compile\n * @param {any} solc\n * @param {import(\"./solcTypes.js\").SolcInputDescription} input\n * @returns {import(\"./solcTypes.js\").SolcOutput}\n */\nexport const solcCompile = (solc, input) => {\n\ttry {\n\t\treturn JSON.parse(solc.compile(JSON.stringify(input)))\n\t} catch (e) {\n\t\t// temporary hack to fix a bug in ts-plugin\n\t\treturn JSON.parse(_solc.compile(JSON.stringify(input)))\n\t}\n}\n\n/**\n * @param {keyof import(\"./solcTypes.js\").Releases} release\n * @returns {Promise<import(\"./solcTypes.js\").Solc>} An instance of solc\n */\nexport const createSolc = async (release) => {\n\tconst s = await new Promise((resolve, reject) =>\n\t\t_solc.loadRemoteVersion(releases[release], (/** @type {any}*/ e, /** @type {any}*/ s) => {\n\t\t\tif (e) {\n\t\t\t\treject(e)\n\t\t\t} else {\n\t\t\t\tresolve(s)\n\t\t\t}\n\t\t}),\n\t)\n\treturn {\n\t\t...s,\n\t\tcompile: (input) => solcCompile(s, input),\n\t}\n}\n"]}