예제 #1
0
        // 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);
        }
예제 #2
0
        // 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);
        }