public GeneratorConfiguration FromAbiFilesInProject(string projectFileName, string assemblyName, CodeGenLanguage language) { var config = new GeneratorConfiguration(); var projectFolder = Path.GetDirectoryName(projectFileName); var projectName = Path.GetFileNameWithoutExtension(projectFileName); var abiFiles = Directory.GetFiles(projectFolder, "*.abi", SearchOption.AllDirectories); var abiConfigurations = new List <ABIConfiguration>(abiFiles.Length); config.ABIConfigurations = abiConfigurations; foreach (var abiFile in abiFiles) { var abiConfig = CreateAbiConfiguration(abiFile, projectFolder, projectName, assemblyName, language); abiConfigurations.Add(abiConfig); } return(config); }
public GeneratorConfiguration FromAbi(string contractName, string abiFilePath, string binFilePath, string baseNamespace, string outputFolder) { var config = new GeneratorConfiguration(); var abi = GeneratorConfigurationUtils.GetFileContent(outputFolder, abiFilePath); if (string.IsNullOrEmpty(abi)) { throw new ArgumentException("Could not find abi file or abi content is empty"); } if (string.IsNullOrEmpty(binFilePath)) { binFilePath = abiFilePath.Replace(".abi", ".bin"); } var byteCode = GeneratorConfigurationUtils.GetFileContent(outputFolder, binFilePath); if (string.IsNullOrEmpty(contractName)) { contractName = Path.GetFileNameWithoutExtension(abiFilePath); } var abiConfig = new ABIConfiguration { ABI = abi, ByteCode = byteCode, ContractName = contractName }; abiConfig.ResolveEmptyValuesWithDefaults(baseNamespace, outputFolder); config.ABIConfigurations = new List <ABIConfiguration>(); config.ABIConfigurations.Add(abiConfig); return(config); }