public static int Main(string[] args) { if (args.Length < 2) { ShowUsage(); return(1); } ExternalToolsManager.EnsureAllExisted(); string solidityFile, entryPointContractName; bool tryProofFlag, tryRefutation; int recursionBound; ILogger logger; HashSet <Tuple <string, string> > ignoredMethods; bool printTransactionSequence = false; TranslatorFlags translatorFlags = new TranslatorFlags(); ParseCommandLineArgs(args, out solidityFile, out entryPointContractName, out tryProofFlag, out tryRefutation, out recursionBound, out logger, out ignoredMethods, out printTransactionSequence, ref translatorFlags); var verisolExecuter = new VeriSolExecutor( Path.Combine(Directory.GetCurrentDirectory(), solidityFile), entryPointContractName, recursionBound, ignoredMethods, tryRefutation, tryProofFlag, logger, printTransactionSequence, translatorFlags); return(verisolExecuter.Execute()); }
public static int Main(string[] args) { if (args.Length < 2) { ShowUsage(); return(1); } string solidityFile, entryPointContractName, solcName; bool tryProofFlag, tryRefutation; int recursionBound; ILogger logger; HashSet <Tuple <string, string> > ignoredMethods; bool printTransactionSequence = false; TranslatorFlags translatorFlags = new TranslatorFlags(); ParseCommandLineArgs(args, out solidityFile, out entryPointContractName, out tryProofFlag, out tryRefutation, out recursionBound, out solcName, out logger, out ignoredMethods, out printTransactionSequence, ref translatorFlags); var assemblyLocation = Assembly.GetExecutingAssembly().Location; string solcPath = Path.Combine( Path.GetDirectoryName(assemblyLocation), solcName); if (!File.Exists(solcPath)) { ShowUsage(); Console.WriteLine($"Cannot find {solcName} at {solcPath}"); return(1); } string corralPath = Path.Combine( Path.GetDirectoryName(assemblyLocation), "corral.dll"); if (!File.Exists(corralPath)) { ShowUsage(); Console.WriteLine($"Cannot find corral.dll at {corralPath}"); return(1); } string boogiePath = Path.Combine( Path.GetDirectoryName(assemblyLocation), "BoogieDriver.dll"); if (!File.Exists(boogiePath)) { ShowUsage(); Console.WriteLine($"Cannot find BoogieDriver.dll at {boogiePath}"); return(1); } var verisolExecuter = new VeriSolExecutor( Path.Combine(Directory.GetCurrentDirectory(), solidityFile), entryPointContractName, corralPath, boogiePath, solcPath, solcName, recursionBound, ignoredMethods, tryRefutation, tryProofFlag, logger, printTransactionSequence, translatorFlags); return(verisolExecuter.Execute()); }
public static int Main(string[] args) { if (args.Length < 2) { ShowUsage(); return(1); } string solidityFile, entryPointContractName, solcName; bool tryProofFlag, tryRefutation; int recursionBound; ILogger logger; HashSet <Tuple <string, string> > ignoredMethods; bool generateInlineAttribues; ParseCommandLineArgs(args, out solidityFile, out entryPointContractName, out tryProofFlag, out tryRefutation, out recursionBound, out solcName, out logger, out ignoredMethods, out generateInlineAttribues); var assemblyLocation = Assembly.GetExecutingAssembly().Location; string solcPath = Path.Combine( Path.GetDirectoryName(assemblyLocation), "solc", solcName); if (!File.Exists(solcPath)) { ShowUsage(); Console.WriteLine($"Cannot find {solcName} at {solcPath}"); return(1); } string corralPath = Path.Combine( Path.GetDirectoryName(assemblyLocation), "corral", "corral.exe"); if (!File.Exists(corralPath)) { ShowUsage(); Console.WriteLine($"Cannot find Corral.exe at {corralPath}"); return(1); } string boogiePath = Path.Combine( Path.GetDirectoryName(assemblyLocation), "boogie", "Boogie.exe"); if (!File.Exists(boogiePath)) { ShowUsage(); Console.WriteLine($"Cannot find Boogie.exe at {boogiePath}"); return(1); } var verisolExecuter = new VeriSolExecutor( Path.Combine(Directory.GetCurrentDirectory(), solidityFile), entryPointContractName, corralPath, boogiePath, solcPath, solcName, recursionBound, ignoredMethods, tryRefutation, tryProofFlag, generateInlineAttribues, logger); return(verisolExecuter.Execute()); }