// NEW START //////////////////////////////////////////// // Pure functions //public static bool IsMinerAlgorithmAvaliable(List<Algorithm> algos, MinerBaseType minerBaseType, AlgorithmType algorithmType) { // return algos.FindIndex((a) => a.MinerBaseType == minerBaseType && a.NiceHashID == algorithmType) > -1; //} public static string GetPathFor(MinerBaseType minerBaseType, AlgorithmType algoType, DeviceGroupType devGroupType, bool def = false) { if (!def & ConfigurableMiners.Contains(minerBaseType)) { // Override with internals var path = MinerPathPackages.Find(p => p.DeviceType == devGroupType) .MinerTypes.Find(p => p.Type == minerBaseType) .Algorithms.Find(p => p.Algorithm == algoType); if (path != null) { if (File.Exists(path.Path)) { return(path.Path); } Helpers.ConsolePrint("PATHS", $"Path {path.Path} not found, using defaults"); } } // Temp workaround if (minerBaseType == MinerBaseType.XmrStak && algoType == AlgorithmType.CryptoNightHeavy) { return(Data.XmrStakHeavy); } if (minerBaseType == MinerBaseType.CryptoDredge && algoType == AlgorithmType.CryptoNightV8) { // return NvidiaGroups.CryptoDredgeV8(algoType, devGroupType); return(Data.CryptoDredge); } switch (minerBaseType) { case MinerBaseType.ccminer: return(NvidiaGroups.Ccminer_path(algoType, devGroupType)); case MinerBaseType.sgminer: return(AmdGroup.SgminerPath(algoType)); case MinerBaseType.nheqminer: return(Data.NhEqMiner); case MinerBaseType.ethminer: return(Data.Ethminer); case MinerBaseType.Claymore: return(AmdGroup.ClaymorePath(algoType)); case MinerBaseType.OptiminerAMD: return(Data.OptiminerZcashMiner); //case MinerBaseType.excavator: // return Data.Excavator; case MinerBaseType.XmrStak: return(Data.XmrStak); case MinerBaseType.ccminer_alexis: return(NvidiaGroups.CcminerUnstablePath(algoType, devGroupType)); case MinerBaseType.experimental: return(Experimental.GetPath(algoType, devGroupType)); case MinerBaseType.EWBF: return(Data.Ewbf); case MinerBaseType.Prospector: return(Data.Prospector); case MinerBaseType.Xmrig: return(Data.Xmrig); case MinerBaseType.XmrigAMD: return(Data.XmrigAMD); case MinerBaseType.SRBMiner: return(Data.SRBMiner); case MinerBaseType.dstm: return(Data.Dstm); case MinerBaseType.cpuminer: return(Data.CpuMiner); case MinerBaseType.CastXMR: return(Data.CastXMR); case MinerBaseType.lyclMiner: return(Data.lyclMiner); case MinerBaseType.hsrneoscrypt: return(NvidiaGroups.hsrneoscrypt_path(algoType, devGroupType)); case MinerBaseType.CryptoDredge: return(NvidiaGroups.CryptoDredge(algoType, devGroupType)); case MinerBaseType.ZEnemy: return(NvidiaGroups.ZEnemy(algoType, devGroupType)); case MinerBaseType.trex: return(NvidiaGroups.trex(algoType, devGroupType)); case MinerBaseType.mkxminer: return(Data.mkxminer); case MinerBaseType.teamredminer: return(Data.teamredminer); case MinerBaseType.Phoenix: return(Data.Phoenix); case MinerBaseType.GMiner: return(Data.GMiner); case MinerBaseType.lolMiner: return(Data.lolMiner); case MinerBaseType.WildRig: return(Data.WildRig); case MinerBaseType.lolMinerBEAM: return(Data.lolMinerBEAM); case MinerBaseType.Bminer: return(Data.Bminer); case MinerBaseType.TTMiner: return(Data.TTMiner); case MinerBaseType.XmrigNVIDIA: return(Data.XmrigNVIDIA); case MinerBaseType.NBMiner: return(Data.NBMiner); case MinerBaseType.miniZ: return(Data.miniZ); } return(Data.None); }
// NEW START //////////////////////////////////////////// // Pure functions //public static bool IsMinerAlgorithmAvaliable(List<Algorithm> algos, MinerBaseType minerBaseType, AlgorithmType algorithmType) { // return algos.FindIndex((a) => a.MinerBaseType == minerBaseType && a.NiceHashID == algorithmType) > -1; //} public static string GetPathFor(MinerBaseType minerBaseType, AlgorithmType algoType, DeviceGroupType devGroupType, bool def = false) { if (!def & ConfigurableMiners.Contains(minerBaseType)) { // Override with internals var path = MinerPathPackages.Find(p => p.DeviceType == devGroupType) .MinerTypes.Find(p => p.Type == minerBaseType) .Algorithms.Find(p => p.Algorithm == algoType); if (path != null) { if (File.Exists(path.Path)) { return(path.Path); } Helpers.ConsolePrint("PATHS", $"Path {path.Path} not found, using defaults"); } } // Temp workaround if (minerBaseType == MinerBaseType.XmrStak && algoType == AlgorithmType.CryptoNightHeavy) { return(Data.XmrStakHeavy); } switch (minerBaseType) { case MinerBaseType.ccminer: return(NvidiaGroups.Ccminer_path(algoType, devGroupType)); case MinerBaseType.sgminer: return(AmdGroup.SgminerPath(algoType)); case MinerBaseType.nheqminer: return(Data.NhEqMiner); case MinerBaseType.ethminer: return(Data.Ethminer); case MinerBaseType.Claymore: return(AmdGroup.ClaymorePath(algoType)); case MinerBaseType.OptiminerAMD: return(Data.OptiminerZcashMiner); //case MinerBaseType.excavator: // return Data.Excavator; case MinerBaseType.XmrStak: return(Data.XmrStak); case MinerBaseType.ccminer_alexis: return(NvidiaGroups.CcminerUnstablePath(algoType, devGroupType)); case MinerBaseType.experimental: return(Experimental.GetPath(algoType, devGroupType)); case MinerBaseType.EWBF: return(Data.Ewbf); case MinerBaseType.Prospector: return(Data.Prospector); case MinerBaseType.Xmrig: return(Data.Xmrig); case MinerBaseType.dtsm: return(Data.Dtsm); case MinerBaseType.cpuminer: return(Data.CpuMiner); } return(Data.None); }
// NEW START //////////////////////////////////////////// // Pure functions //public static bool IsMinerAlgorithmAvaliable(List<Algorithm> algos, MinerBaseType minerBaseType, AlgorithmType algorithmType) { // return algos.FindIndex((a) => a.MinerBaseType == minerBaseType && a.NiceHashID == algorithmType) > -1; //} public static string GetPathFor(MinerBaseType minerBaseType, AlgorithmType algoType, DeviceGroupType devGroupType, bool def = false) { // TODO feature obsolete //if (!def & ConfigurableMiners.Contains(minerBaseType)) //{ // // Override with internals // var path = MinerPathPackages.Find(p => p.DeviceType == devGroupType) // .MinerTypes.Find(p => p.Type == minerBaseType) // .Algorithms.Find(p => p.Algorithm == algoType); // if (path != null) // { // if (File.Exists(path.Path)) // { // return path.Path; // } // Helpers.ConsolePrint("PATHS", $"Path {path.Path} not found, using defaults"); // } //} switch (minerBaseType) { case MinerBaseType.TTMiner: return(Data.TTMiner); case MinerBaseType.ccminer: return(NvidiaGroups.Ccminer_path(algoType, devGroupType)); case MinerBaseType.sgminer: return(AmdGroup.SgminerPath(algoType)); //case MinerBaseType.nheqminer: // return Data.NhEqMiner; case MinerBaseType.ethminer: return(Data.Ethminer); case MinerBaseType.Claymore: return(AmdGroup.ClaymorePath(algoType)); //case MinerBaseType.OptiminerAMD: // return Data.OptiminerZcashMiner; //case MinerBaseType.excavator: // return Data.Excavator; case MinerBaseType.XmrStak: return(Data.XmrStak); case MinerBaseType.ccminer_alexis: return(NvidiaGroups.CcminerUnstablePath(algoType, devGroupType)); case MinerBaseType.EWBF: if (algoType == AlgorithmType.ZHash) { return(Data.Ewbf144); } break; case MinerBaseType.Prospector: return(Data.Prospector); //case MinerBaseType.Xmrig: // return Data.Xmrig; //case MinerBaseType.dtsm: // return Data.Dtsm; //case MinerBaseType.cpuminer: // return Data.CpuMiner; case MinerBaseType.trex: return(Data.Trex); case MinerBaseType.Phoenix: return(Data.Phoenix); case MinerBaseType.GMiner: return(Data.GMiner); case MinerBaseType.BMiner: return(Data.BMiner); case MinerBaseType.NBMiner: return(Data.NBMiner); } return(Data.None); }