solc-versions.js 537 B

123456789101112131415
  1. const { exec } = require('child_process');
  2. const semver = require('semver');
  3. const { range } = require('./helpers');
  4. module.exports = {
  5. versions: ['0.4.26', '0.5.16', '0.6.12', '0.7.6', '0.8.30']
  6. .map(semver.parse)
  7. .flatMap(({ major, minor, patch }) => range(patch + 1).map(p => `${major}.${minor}.${p}`)),
  8. compile: (source, version) =>
  9. new Promise((resolve, reject) =>
  10. exec(`forge build ${source} --use ${version} --out out/solc-${version}`, error =>
  11. error ? reject(error) : resolve(),
  12. ),
  13. ),
  14. };