// create miner creates new miners based on device type and algorithm/miner path public static Miner CreateMiner(ComputeDevice device, Algorithm algorithm) { var minerPath = MinerPaths.GetOptimizedMinerPath(device, algorithm); if (minerPath != MinerPaths.NONE) { return(CreateMiner(device.DeviceType, minerPath)); } return(null); }
// this will not check Ethminer path private static bool IsSameBinPath(ComputeDevice a, ComputeDevice b) { // same group uses same Miner class and therefore same binary path for same algorithm bool sameGroup = a.DeviceGroupType == b.DeviceGroupType; if (!sameGroup) { var a_algoType = a.MostProfitableAlgorithm.NiceHashID; var b_algoType = b.MostProfitableAlgorithm.NiceHashID; // a and b algorithm settings should be the same if we call this function return(MinerPaths.GetOptimizedMinerPath(a_algoType, a.DeviceType, a.DeviceGroupType, a.Codename, a.IsOptimizedVersion) == MinerPaths.GetOptimizedMinerPath(b_algoType, b.DeviceType, b.DeviceGroupType, b.Codename, b.IsOptimizedVersion)); } return(true); }