コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }