From 6e99a94420d94388155dafb6b9109b2048291c43 Mon Sep 17 00:00:00 2001 From: Useless Guru <30080938+UselessGuru@users.noreply.github.com> Date: Sat, 5 Oct 2024 09:47:20 +0200 Subject: [PATCH] v6.3.7 Improvements: - Core & Miner APIs: Remove obsolete code & minor code optimizations - Core / Includes.psm1: Function 'Update-DAGdata' sets CUDAversion property. No need for 'CUDAversion.json' anymore - Core: Streamline failed miner reason text in switching log file - Log viewer (SnakeTail): Change color for 'WARN' messages to match color in text console Miner changes: - NanoMiner-v3.9.3 - SRBMinerMulti-v2.6.7 - TeamBlackMiner-v2.27 --- Balances/HashCryptos.ps1 | 4 +- Balances/HiveON.ps1 | 4 +- Balances/MiningDutch.ps1 | 4 +- Balances/NiceHash External.ps1 | 4 +- Balances/NiceHash Internal.ps1 | 4 +- Balances/ProHashing.ps1 | 4 +- Balances/ZergPool.ps1 | 4 +- Balances/Zpool.ps1 | 4 +- Brains/HashCryptos.ps1 | 4 +- Brains/MiningDutch.ps1 | 4 +- Brains/ProHashing.ps1 | 4 +- Brains/ZPool.ps1 | 4 +- Brains/ZergPool.ps1 | 4 +- Changelog.txt | 16 +- Config/Config.json | 2 +- Data/CurrencyAlgorithm.json | 6 +- Data/DagData.json | 356 +++++++++--------- Includes/APIServer.psm1 | 4 +- Includes/BalancesTracker.ps1 | 4 +- Includes/Core.ps1 | 54 +-- Includes/Downloader.ps1 | 4 +- Includes/Include.psm1 | 193 +++------- Includes/LegacyGUI.ps1 | 4 +- Includes/MinerAPIs/BzMiner.ps1 | 8 +- Includes/MinerAPIs/Ccminer.ps1 | 6 +- Includes/MinerAPIs/EthMiner.ps1 | 8 +- Includes/MinerAPIs/FireIce.ps1 | 6 +- Includes/MinerAPIs/Gminer.ps1 | 8 +- Includes/MinerAPIs/HellMiner.ps1 | 6 +- Includes/MinerAPIs/MiniZ.ps1 | 6 +- Includes/MinerAPIs/NBMiner.ps1 | 9 +- Includes/MinerAPIs/NanoMiner.ps1 | 6 +- Includes/MinerAPIs/OneZero.ps1 | 6 +- Includes/MinerAPIs/Rigel.ps1 | 6 +- Includes/MinerAPIs/SRBMiner.ps1 | 8 +- Includes/MinerAPIs/TeamBlackMiner.ps1 | 6 +- Includes/MinerAPIs/Trex.ps1 | 8 +- Includes/MinerAPIs/Xgminer.ps1 | 8 +- Includes/MinerAPIs/XmRig.ps1 | 6 +- Includes/MinerAPIs/lolMiner.ps1 | 8 +- Miners/BzMiner-v21.4.0.ps1 | 6 +- Miners/CcminerAlexis78-v1.5.2.ps1 | 4 +- Miners/CcminerDyn-v1.0.2.ps1 | 4 +- Miners/CcminerKlausT-v8.25.ps1 | 8 +- Miners/CcminerKlausT-v8.26x2.ps1 | 16 +- Miners/CcminerLyra2z330-v8.21r9.ps1 | 4 +- Miners/CcminerLyraYesscrypt-v8.21r18v5.ps1 | 4 +- Miners/CcminerMemeHash-v2.5.5.9.ps1 | 4 +- Miners/CcminerNeoscryptXaya-v0.2.ps1 | 4 +- Miners/CcminerVerusCpu-v3.8.3.ps1 | 6 +- Miners/CcminerVerusGpu-v3.8.3.ps1 | 4 +- Miners/ClaymoreNeoscrypt-v1.2.ps1 | 6 +- Miners/CpuMiner-v1.4.ps1 | 4 +- Miners/CpuMinerAurum-v3.23.1.ps1 | 4 +- Miners/CryptoDredge-v0.16.0.ps1 | 10 +- Miners/CryptoDredge-v0.27.0.ps1 | 8 +- Miners/EthMiner-v0.19.0.18.ps1 | 12 +- Miners/EvrProgPow-v1p3p0.ps1 | 4 +- Miners/FrkHashMiner-v1.3.14.ps1 | 6 +- Miners/GMiner-v2.75.ps1 | 6 +- Miners/GMiner-v3.44.ps1 | 4 +- Miners/HellMiner-v0.59.1.ps1 | 4 +- Miners/JayddeeCpu-v24.5.ps1 | 4 +- Miners/KawpowMiner-v1.2.4cl.ps1 | 4 +- Miners/KawpowMiner-v1.2.4cuda.ps1 | 4 +- Miners/Kudaraidee-v1.2.0a.ps1 | 6 +- Miners/MeowPowMiner-v2.0.0cl.ps1 | 4 +- Miners/MeowPowMiner-v2.0.0cuda.ps1 | 4 +- Miners/MiniZ-v2.4d.ps1 | 4 +- Miners/NBMiner-v42.3.ps1 | 8 +- Miners/NSFMiner-v1.3.14.ps1 | 12 +- Miners/NanoMiner-v3.9.2.ps1 | 166 -------- Miners/NanoMiner-v3.9.3.ps1 | 152 ++++++++ Miners/Ninjarig-1.0.3.ps1 | 4 +- Miners/NosuchCpu-v3.8.8.1.ps1 | 4 +- Miners/OneZeroMiner-v1.3.7.ps1 | 6 +- Miners/PhoenixMiner-v6.2c.ps1 | 4 +- Miners/Radiator-v1.0.0.ps1 | 10 +- Miners/Raptor3umCpu-v2.0.ps1 | 4 +- Miners/Rigel-v1.19.1.ps1 | 4 +- Miners/RplantCpu-v5.0.41.ps1 | 4 +- Miners/RrkzCpu-v4.2.ps1 | 4 +- Miners/SCCminer-v1.1.0.ps1 | 8 +- Miners/SRBMinerMulti-v0.9.4.ps1 | 4 +- ...ti-v2.6.6.ps1 => SRBMinerMulti-v2.6.7.ps1} | 6 +- Miners/SgMinerFancyIX-v0.9.4.ps1 | 4 +- Miners/Suprminer-v2.31v2.ps1 | 8 +- Miners/TTMiner-v2024.3.2.ps1 | 8 +- Miners/TTMiner-v5.0.3.ps1 | 4 +- Miners/TeamBlackMiner-v2.25.ps1 | 6 +- ...ner-v2.26.ps1 => TeamBlackMiner-v2.27.ps1} | 108 +++--- Miners/TeamRedMiner-v0.10.21.ps1 | 4 +- Miners/TeleMerakiMiner-v1.5.0.ps1 | 4 +- Miners/Trex-v0.26.8.ps1 | 4 +- Miners/Wildrig-v0.40.8.ps1 | 6 +- Miners/XLArig-v5.2.4.ps1 | 4 +- Miners/XmRig-v6.22.0.3.ps1 | 46 +-- Miners/XmrStak-v2.10.8.ps1 | 4 +- Miners/ZealotEnemy-v2.6.3.ps1 | 8 +- Miners/lolMiner-v1.91.ps1 | 4 +- Pools/HashCryptos.ps1 | 6 +- Pools/HiveON.ps1 | 6 +- Pools/MiningDutch.ps1 | 6 +- Pools/MiningPoolHub.ps1 | 4 +- Pools/NiceHash.ps1 | 4 +- Pools/ProHashing.ps1 | 6 +- Pools/ZPool.ps1 | 6 +- Pools/ZergPool.ps1 | 6 +- README.md | 2 +- UG-Miner.ps1 | 185 +++++---- Utils/UG-Miner_LogReader.xml | 16 +- Utils/UG-Miner_LogReader.xml.bak | 219 +++++++++++ Version.txt | 2 +- Web/APIdocs.html | 2 +- Web/devices.html | 10 +- Web/scripts/demo.ps1 | 4 +- 116 files changed, 1117 insertions(+), 965 deletions(-) delete mode 100644 Miners/NanoMiner-v3.9.2.ps1 create mode 100644 Miners/NanoMiner-v3.9.3.ps1 rename Miners/{SRBMinerMulti-v2.6.6.ps1 => SRBMinerMulti-v2.6.7.ps1} (99%) rename Miners/{TeamBlackMiner-v2.26.ps1 => TeamBlackMiner-v2.27.ps1} (61%) create mode 100644 Utils/UG-Miner_LogReader.xml.bak diff --git a/Balances/HashCryptos.ps1 b/Balances/HashCryptos.ps1 index 76b0a025..45a226ed 100644 --- a/Balances/HashCryptos.ps1 +++ b/Balances/HashCryptos.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Balances\HashCryptos.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Balances/HiveON.ps1 b/Balances/HiveON.ps1 index 84af44f4..8473a27c 100644 --- a/Balances/HiveON.ps1 +++ b/Balances/HiveON.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Balances\Hiveon.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Balances/MiningDutch.ps1 b/Balances/MiningDutch.ps1 index 978cb62e..9134ee36 100644 --- a/Balances/MiningDutch.ps1 +++ b/Balances/MiningDutch.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Balances\MiningDutch.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Balances/NiceHash External.ps1 b/Balances/NiceHash External.ps1 index 6dbf1ee0..3b636ebb 100644 --- a/Balances/NiceHash External.ps1 +++ b/Balances/NiceHash External.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Balances\NiceHash Internal.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Balances/NiceHash Internal.ps1 b/Balances/NiceHash Internal.ps1 index 2c06dd23..4c3ea91a 100644 --- a/Balances/NiceHash Internal.ps1 +++ b/Balances/NiceHash Internal.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Balances\NiceHash Internal.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Balances/ProHashing.ps1 b/Balances/ProHashing.ps1 index 08f3efa2..01fc8dfd 100644 --- a/Balances/ProHashing.ps1 +++ b/Balances/ProHashing.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Balances\ProHashing.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Balances/ZergPool.ps1 b/Balances/ZergPool.ps1 index ca704f50..f0eca737 100644 --- a/Balances/ZergPool.ps1 +++ b/Balances/ZergPool.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Balances\ZergPool.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Balances/Zpool.ps1 b/Balances/Zpool.ps1 index 094b6ef2..f38ed3b2 100644 --- a/Balances/Zpool.ps1 +++ b/Balances/Zpool.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Balances\Zpool.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Brains/HashCryptos.ps1 b/Brains/HashCryptos.ps1 index 66972c17..a195b091 100644 --- a/Brains/HashCryptos.ps1 +++ b/Brains/HashCryptos.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Brains\MiningDutch.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> using module ..\Includes\Include.psm1 diff --git a/Brains/MiningDutch.ps1 b/Brains/MiningDutch.ps1 index 1c031a1e..45df4354 100644 --- a/Brains/MiningDutch.ps1 +++ b/Brains/MiningDutch.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Brains\MiningDutch.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> using module ..\Includes\Include.psm1 diff --git a/Brains/ProHashing.ps1 b/Brains/ProHashing.ps1 index b56a13cf..8df44a26 100644 --- a/Brains/ProHashing.ps1 +++ b/Brains/ProHashing.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Brains\ProHashing.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> using module ..\Includes\Include.psm1 diff --git a/Brains/ZPool.ps1 b/Brains/ZPool.ps1 index bee6956c..0b7d85bb 100644 --- a/Brains/ZPool.ps1 +++ b/Brains/ZPool.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Brains\ZPool.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> using module ..\Includes\Include.psm1 diff --git a/Brains/ZergPool.ps1 b/Brains/ZergPool.ps1 index c542ecce..843b7291 100644 --- a/Brains/ZergPool.ps1 +++ b/Brains/ZergPool.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Brains\ZergPool.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> using module ..\Includes\Include.psm1 diff --git a/Changelog.txt b/Changelog.txt index 0e98203f..361cbd2e 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -3,6 +3,20 @@ Known issues: - UG-Miner has issues with new Windows Terminal when the default terminal application is set to 'Let windows decide' or 'Windows Terminal'. -> It is recommended to set it to 'Windows Console Host' +Changelog UG-Miner 6.3.7 2024/10/05 +=================================== + +Improvements: +- Core & Miner APIs: Remove obsolete code & minor code optimizations +- Core / Includes.psm1: Function 'Update-DAGdata' sets CUDAversion property. No need for 'CUDAversion.json' anymore +- Core: Streamline failed miner reason text in switching log file +- Log viewer (SnakeTail): Change color for 'WARN' messages to match color in text console + +Miner changes: +- NanoMiner-v3.9.3 +- SRBMinerMulti-v2.6.7 +- TeamBlackMiner-v2.27 + Changelog UG-Miner 6.3.6 2024/10/01 =================================== @@ -33,7 +47,7 @@ Changes: - Legacy GUI: Use --P instead of -- button to suspend core (same as in console window) Improvements: -- Web GUI / Miners tables: Optimize colum width handling +- Web GUI / Miners tables: Optimize column width handling - Core: Use 'Close-CoreRunspace' instead of 'Stop-Core' on error in 'Core.ps1' Miner changes: diff --git a/Config/Config.json b/Config/Config.json index 8c262b22..a8c99bc9 100644 --- a/Config/Config.json +++ b/Config/Config.json @@ -21,7 +21,7 @@ "BalancesTrackerPollInterval": 0, "BenchmarkAllPoolAlgorithmCombinations": true, "CalculatePowerCost": true, - "ConfigFileVersion": "6.3.6", + "ConfigFileVersion": "6.3.7", "CPUMinerProcessPriority": -2, "CPUMiningReserveCPUcore": 1, "CryptoCompareAPIKeyParam": "af9b92255132dac6d1560c6eb1e04067d9fc0fb4c6630df00fb1d055bf858352", diff --git a/Data/CurrencyAlgorithm.json b/Data/CurrencyAlgorithm.json index 4c4bd4c0..c2690e14 100644 --- a/Data/CurrencyAlgorithm.json +++ b/Data/CurrencyAlgorithm.json @@ -8,7 +8,7 @@ "AIDP": "KawPow", "AIPG": "KawPow", "AITT": "KawPow", - "AKA": "Ethash", + "AKA": null, "ALPH": "Blake3", "ALT": "Ethash", "ANI": "Anime", @@ -20,9 +20,9 @@ "ARRR": "Equihash2009", "ARW": "Equihash1927", "ATH": "Ethash", - "AUR": "Qubit", + "AUR": "Scrypt", "AUS": "Scrypt", - "AVN": "X16rt", + "AVN": "MinotaurX", "AVS": "Ethash", "AXE": "X11", "AYA": "Scrypt", diff --git a/Data/DagData.json b/Data/DagData.json index a5976630..6a157f07 100644 --- a/Data/DagData.json +++ b/Data/DagData.json @@ -1,7 +1,7 @@ { "Algorithm": { "Autolykos2": { - "BlockHeight": 1363947, + "BlockHeight": 1366396, "CoinName": [ "Ergo" ], @@ -9,10 +9,10 @@ "ERG" ], "DAGsize": 4324915245, - "Epoch": 926 + "Epoch": 929 }, "EtcHash": { - "BlockHeight": 20794589, + "BlockHeight": 20816759, "CoinName": [ "EthereumClassic" ], @@ -23,51 +23,51 @@ "Epoch": 348 }, "Ethash": { - "BlockHeight": 20382562, + "BlockHeight": 20405193, "CoinName": [ "EthereumPow" ], "Currency": [ "ETHW" ], - "DAGsize": 6786383488, - "Epoch": 681 + "DAGsize": 6794770816, + "Epoch": 682 }, "EthashB3": { - "BlockHeight": 4340788, + "BlockHeight": 4374216, "CoinName": [ "Hypra" ], "Currency": [ "HYP" ], - "DAGsize": 2298476672, - "Epoch": 146 + "DAGsize": 2306867072, + "Epoch": 147 }, "EvrProgPow": { - "BlockHeight": 1003416, + "BlockHeight": 1008317, "CoinName": [ "Evrmore" ], "Currency": [ "EVR" ], - "DAGsize": 3934256512, - "Epoch": 85 + "DAGsize": 3942645376, + "Epoch": 86 }, "FiroPow": { - "BlockHeight": 966994, + "BlockHeight": 968935, "CoinName": [ "Firo" ], "Currency": [ "FIRO" ], - "DAGsize": 7323253888, - "Epoch": 745 + "DAGsize": 7340029568, + "Epoch": 747 }, "FishHash": { - "BlockHeight": 765687, + "BlockHeight": 770609, "CoinName": [ "Ironfish" ], @@ -78,7 +78,7 @@ "Epoch": 448 }, "HeavyHashKarlsenV2": { - "BlockHeight": 28596723, + "BlockHeight": 28892106, "CoinName": [ "Karlsen" ], @@ -86,18 +86,18 @@ "KLS" ], "DAGsize": 4831838208, - "Epoch": 955 + "Epoch": 965 }, "KawPow": { - "BlockHeight": 3521883, + "BlockHeight": 3526776, "CoinName": [ "Raven" ], "Currency": [ "RVN" ], - "DAGsize": 5024763776, - "Epoch": 471 + "DAGsize": 5033164672, + "Epoch": 472 }, "MeowPow": { "BlockHeight": 971453, @@ -111,7 +111,7 @@ "Epoch": 131 }, "Octopus": { - "BlockHeight": 105951271, + "BlockHeight": 106201367, "CoinName": [ "Conflux" ], @@ -122,18 +122,18 @@ "Epoch": 204 }, "ProgPowSero": { - "BlockHeight": 13544921, + "BlockHeight": 13567660, "CoinName": [ "Sero" ], "Currency": [ "SERO" ], - "DAGsize": 4873780096, - "Epoch": 453 + "DAGsize": 4882169728, + "Epoch": 454 }, "ProgPowTelestai": { - "BlockHeight": 84450, + "BlockHeight": 89327, "CoinName": [ "Telestai" ], @@ -144,7 +144,7 @@ "Epoch": 9 }, "ProgPowZ": { - "BlockHeight": 2833978, + "BlockHeight": 2838911, "CoinName": [ "Zano" ], @@ -155,15 +155,15 @@ "Epoch": 96 }, "SCCpow": { - "BlockHeight": 999993, + "BlockHeight": 1002435, "CoinName": [ "StakeCubeCoin" ], "Currency": [ "SCC" ], - "DAGsize": 3674207872, - "Epoch": 310 + "DAGsize": 3682597504, + "Epoch": 311 }, "UbqHash": { "BlockHeight": 5517628, @@ -185,36 +185,36 @@ }, "Currency": { "*": { - "BlockHeight": 105951271, + "BlockHeight": 106201367, "Currency": "*", "DAGsize": 7717511936, - "Epoch": 955 + "Epoch": 965 }, "AIDP": { "Algorithm": "KawPow", - "BlockHeight": 225935, + "BlockHeight": 230862, "CoinName": "AiDepin", "DAGsize": 1342176128, - "Date": "2024-10-01T08:08:41.1751808Z", + "Date": "2024-10-04T18:11:28.111975Z", "Epoch": 32, "Url": "https://whattomine.com/coins.json" }, "AIPG": { "Algorithm": "KawPow", - "BlockHeight": 424786, + "BlockHeight": 429668, "CoinName": "Aipowergrid", - "DAGsize": 1560278656, - "Date": "2024-10-01T08:08:41.2177182Z", - "Epoch": 58, + "DAGsize": 1568669056, + "Date": "2024-10-04T18:11:28.1351249Z", + "Epoch": 59, "Url": "https://whattomine.com/coins.json" }, "AITT": { "Algorithm": "KawPow", - "BlockHeight": 1216729, + "BlockHeight": 1236305, "CoinName": "AittCoin", - "DAGsize": 2449472384, - "Date": "2024-10-01T08:08:41.215685Z", - "Epoch": 164, + "DAGsize": 2466247808, + "Date": "2024-10-04T18:11:28.1378734Z", + "Epoch": 166, "Url": "https://whattomine.com/coins.json" }, "AKA": { @@ -222,7 +222,7 @@ "BlockHeight": 11735607, "CoinName": "", "DAGsize": 4370458496, - "Date": "2024-10-01T08:08:41.3539597Z", + "Date": "2024-10-01T17:13:49.7434653Z", "Epoch": 393, "Url": "https://minerstat.com/dag-size-calculator" }, @@ -237,11 +237,11 @@ }, "ANOK": { "Algorithm": "KawPow", - "BlockHeight": 253276, + "BlockHeight": 257609, "CoinName": "Anokas", - "DAGsize": 1367339392, - "Date": "2024-10-01T08:08:41.186785Z", - "Epoch": 35, + "DAGsize": 1375731584, + "Date": "2024-10-04T18:11:28.0995511Z", + "Epoch": 36, "Url": "https://whattomine.com/coins.json" }, "AVS": { @@ -255,37 +255,37 @@ }, "BLOCX": { "Algorithm": "Autolykos2", - "BlockHeight": 322418, + "BlockHeight": 327102, "CoinName": "Blocx", "DAGsize": 2147483648, - "Date": "2024-10-01T08:08:42.7574748Z", + "Date": "2024-10-04T18:11:31.0260223Z", "Epoch": 0, "Url": "https://api-explorer.blocxscan.com/api/getblockcount" }, "BTN": { "Algorithm": "Ethash", - "BlockHeight": 2987576, + "BlockHeight": 3010487, "CoinName": "BitnetBtn", - "DAGsize": 1920988544, - "Date": "2024-10-01T08:08:41.2354144Z", - "Epoch": 101, + "DAGsize": 1929379456, + "Date": "2024-10-04T18:11:28.1490485Z", + "Epoch": 102, "Url": "https://whattomine.com/coins.json" }, "CAU": { "Algorithm": "Ethash", - "BlockHeight": 5526243, + "BlockHeight": 5575337, "CoinName": "", - "DAGsize": 2634022016, - "Date": "2024-10-01T08:07:15.4619948Z", - "Epoch": 186, + "DAGsize": 2642407552, + "Date": "2024-10-04T18:07:25.1979819Z", + "Epoch": 187, "Url": "https://minerstat.com/dag-size-calculator" }, "CFX": { "Algorithm": "Octopus", - "BlockHeight": 105951271, + "BlockHeight": 106201367, "CoinName": "Conflux", "DAGsize": 7717511936, - "Date": "2024-10-01T08:08:42.4679468Z", + "Date": "2024-10-04T18:11:29.7670395Z", "Epoch": 204, "Url": "https://prohashing.com/api/v1/currencies" }, @@ -300,10 +300,10 @@ }, "CLORE": { "Algorithm": "KawPow", - "BlockHeight": 946779, + "BlockHeight": 951674, "CoinName": "Clore", "DAGsize": 2147483264, - "Date": "2024-10-01T08:08:41.1666923Z", + "Date": "2024-10-04T18:11:28.092483Z", "Epoch": 128, "Url": "https://whattomine.com/coins.json" }, @@ -318,38 +318,38 @@ }, "DINT": { "Algorithm": "KawPow", - "BlockHeight": 425685, + "BlockHeight": 430358, "CoinName": "Dinartether", - "DAGsize": 1560278656, - "Date": "2024-10-01T08:08:41.3836994Z", - "Epoch": 58, + "DAGsize": 1568669056, + "Date": "2024-10-04T18:07:25.7720512Z", + "Epoch": 59, "Url": "https://minerstat.com/dag-size-calculator" }, "DOGETHER": { "Algorithm": "Ethash", - "BlockHeight": 1409838, + "BlockHeight": 1426319, "CoinName": "Dogether", - "DAGsize": 1476394112, - "Date": "2024-10-01T08:08:41.2264227Z", - "Epoch": 48, + "DAGsize": 1484782976, + "Date": "2024-10-04T18:11:28.1665642Z", + "Epoch": 49, "Url": "https://whattomine.com/coins.json" }, "EGAZ": { "Algorithm": "EtcHash", - "BlockHeight": 6014087, + "BlockHeight": 6037183, "CoinName": "Etica", - "DAGsize": 2768232832, - "Date": "2024-10-01T08:08:41.2388967Z", - "Epoch": 202, + "DAGsize": 2776625536, + "Date": "2024-10-04T18:11:28.1713509Z", + "Epoch": 203, "Url": "https://whattomine.com/coins.json" }, "EGEM": { "Algorithm": "Ethash", - "BlockHeight": 16488421, + "BlockHeight": 16511193, "CoinName": "EtherGem", - "DAGsize": 5695864448, - "Date": "2024-10-01T08:08:41.2406778Z", - "Epoch": 551, + "DAGsize": 5704251008, + "Date": "2024-10-04T18:11:28.1422513Z", + "Epoch": 552, "Url": "https://whattomine.com/coins.json" }, "ELH": { @@ -363,11 +363,11 @@ }, "ERG": { "Algorithm": "Autolykos2", - "BlockHeight": 1363947, + "BlockHeight": 1366396, "CoinName": "Ergo", "DAGsize": 4324915245, - "Date": "2024-10-01T08:06:53.1618765Z", - "Epoch": 926, + "Date": "2024-10-04T18:11:29.7568377Z", + "Epoch": 929, "Url": "https://prohashing.com/api/v1/currencies" }, "ESN": { @@ -375,16 +375,16 @@ "BlockHeight": 6408009, "CoinName": "EtherSocial", "DAGsize": 2877286784, - "Date": "2024-10-01T08:08:41.3597637Z", + "Date": "2024-10-04T18:11:28.345881Z", "Epoch": 215, "Url": "https://minerstat.com/dag-size-calculator" }, "ETC": { "Algorithm": "EtcHash", - "BlockHeight": 20794589, + "BlockHeight": 20816759, "CoinName": "EthereumClassic", "DAGsize": 3992974976, - "Date": "2024-10-01T08:08:42.4696546Z", + "Date": "2024-10-04T18:11:29.7691959Z", "Epoch": 348, "Url": "https://prohashing.com/api/v1/currencies" }, @@ -408,11 +408,11 @@ }, "ETHW": { "Algorithm": "Ethash", - "BlockHeight": 20382562, + "BlockHeight": 20405193, "CoinName": "EthereumPow", - "DAGsize": 6786383488, - "Date": "2024-10-01T08:08:42.4597806Z", - "Epoch": 681, + "DAGsize": 6794770816, + "Date": "2024-10-04T18:11:29.7588506Z", + "Epoch": 682, "Url": "https://prohashing.com/api/v1/currencies" }, "ETNT": { @@ -426,20 +426,20 @@ }, "ETP": { "Algorithm": "Ethash", - "BlockHeight": 10035457, + "BlockHeight": 10049635, "CoinName": "", "DAGsize": 3892313728, - "Date": "2024-10-01T08:07:15.4480508Z", + "Date": "2024-10-04T18:07:25.1514828Z", "Epoch": 336, "Url": "https://minerstat.com/dag-size-calculator" }, "EVR": { "Algorithm": "EvrProgPow", - "BlockHeight": 1003416, + "BlockHeight": 1008317, "CoinName": "Evrmore", - "DAGsize": 3934256512, - "Date": "2024-10-01T08:08:42.9007749Z", - "Epoch": 85, + "DAGsize": 3942645376, + "Date": "2024-10-04T18:11:31.2382283Z", + "Epoch": 86, "Url": "https://evr.cryptoscope.io/api/getblockcount" }, "EXP": { @@ -453,11 +453,11 @@ }, "FIRO": { "Algorithm": "FiroPow", - "BlockHeight": 966994, + "BlockHeight": 968935, "CoinName": "Firo", - "DAGsize": 7323253888, - "Date": "2024-10-01T08:08:41.1947489Z", - "Epoch": 745, + "DAGsize": 7340029568, + "Date": "2024-10-04T18:11:28.1262483Z", + "Epoch": 747, "Url": "https://whattomine.com/coins.json" }, "FLORA": { @@ -465,17 +465,17 @@ "BlockHeight": 789635, "CoinName": "", "DAGsize": 1308619904, - "Date": "2024-10-01T08:08:41.3893085Z", + "Date": "2024-10-04T18:11:28.3675552Z", "Epoch": 28, "Url": "https://minerstat.com/dag-size-calculator" }, "FREN": { "Algorithm": "KawPow", - "BlockHeight": 1464330, + "BlockHeight": 1474092, "CoinName": "Fren", - "DAGsize": 2726293376, - "Date": "2024-10-01T08:08:41.2131393Z", - "Epoch": 197, + "DAGsize": 2734685056, + "Date": "2024-10-04T18:11:28.1325209Z", + "Epoch": 198, "Url": "https://whattomine.com/coins.json" }, "GPN": { @@ -498,47 +498,47 @@ }, "HYP": { "Algorithm": "EthashB3", - "BlockHeight": 4340788, + "BlockHeight": 4374216, "CoinName": "Hypra", - "DAGsize": 2298476672, - "Date": "2024-10-01T08:08:41.2217332Z", - "Epoch": 146, + "DAGsize": 2306867072, + "Date": "2024-10-04T18:11:28.1398535Z", + "Epoch": 147, "Url": "https://whattomine.com/coins.json" }, "IRON": { "Algorithm": "FishHash", - "BlockHeight": 765687, + "BlockHeight": 770609, "CoinName": "Ironfish", "DAGsize": 4831838208, - "Date": "2024-10-01T08:08:41.1792888Z", + "Date": "2024-10-04T18:11:28.1151155Z", "Epoch": 448, "Url": "https://whattomine.com/coins.json" }, "KIIRO": { "Algorithm": "FiroPow", - "BlockHeight": 252035, + "BlockHeight": 253952, "CoinName": "KiiroCoin", - "DAGsize": 2709518464, - "Date": "2024-10-01T08:08:41.1971499Z", - "Epoch": 195, + "DAGsize": 2726293376, + "Date": "2024-10-04T18:11:28.1204961Z", + "Epoch": 197, "Url": "https://whattomine.com/coins.json" }, "KLS": { "Algorithm": "HeavyHashKarlsenV2", - "BlockHeight": 28596723, + "BlockHeight": 28892106, "CoinName": "Karlsen", "DAGsize": 4831838208, - "Date": "2024-10-01T08:08:41.1812139Z", - "Epoch": 955, + "Date": "2024-10-04T18:11:28.0967764Z", + "Epoch": 965, "Url": "https://whattomine.com/coins.json" }, "LRS": { "Algorithm": "Ethash", - "BlockHeight": 1757683, + "BlockHeight": 1780880, "CoinName": "Larissa", - "DAGsize": 1577056384, - "Date": "2024-10-01T08:08:41.2335088Z", - "Epoch": 60, + "DAGsize": 1585446272, + "Date": "2024-10-04T18:11:28.1687353Z", + "Epoch": 61, "Url": "https://whattomine.com/coins.json" }, "META": { @@ -561,38 +561,38 @@ }, "MOAC": { "Algorithm": "Ethash", - "BlockHeight": 14338808, + "BlockHeight": 14351474, "CoinName": "", - "DAGsize": 5091883904, - "Date": "2024-10-01T08:07:15.4318365Z", - "Epoch": 479, + "DAGsize": 5100273536, + "Date": "2024-10-04T18:07:25.1159872Z", + "Epoch": 480, "Url": "https://minerstat.com/dag-size-calculator" }, "NEOX": { "Algorithm": "KawPow", - "BlockHeight": 1239947, + "BlockHeight": 1244823, "CoinName": "Neoxa", "DAGsize": 2474637184, - "Date": "2024-10-01T08:08:41.173363Z", + "Date": "2024-10-04T18:11:28.1095791Z", "Epoch": 167, "Url": "https://whattomine.com/coins.json" }, "NILU": { "Algorithm": "Ethash", - "BlockHeight": 6244833, + "BlockHeight": 6244842, "CoinName": "", "DAGsize": 2835349376, - "Date": "2024-10-01T08:08:41.3610165Z", + "Date": "2024-10-04T18:11:28.3474087Z", "Epoch": 210, "Url": "https://minerstat.com/dag-size-calculator" }, "NIR": { "Algorithm": "ProgPowZ", - "BlockHeight": 742703, + "BlockHeight": 752688, "CoinName": "Nirmata", - "DAGsize": 1291844992, - "Date": "2024-10-01T08:08:41.1650413Z", - "Epoch": 26, + "DAGsize": 1300234112, + "Date": "2024-10-04T18:11:28.0904654Z", + "Epoch": 27, "Url": "https://whattomine.com/coins.json" }, "NUKO": { @@ -600,26 +600,26 @@ "BlockHeight": 8848535, "CoinName": "", "DAGsize": 3556763264, - "Date": "2024-10-01T08:08:41.3573967Z", + "Date": "2024-10-04T18:11:28.3367585Z", "Epoch": 296, "Url": "https://minerstat.com/dag-size-calculator" }, "OCTA": { "Algorithm": "Ethash", - "BlockHeight": 5575059, + "BlockHeight": 5597980, "CoinName": "Octaspace", - "DAGsize": 2642407552, - "Date": "2024-10-01T08:08:41.228548Z", - "Epoch": 187, + "DAGsize": 2650796416, + "Date": "2024-10-04T18:11:28.1643849Z", + "Epoch": 188, "Url": "https://whattomine.com/coins.json" }, "PAPRY": { "Algorithm": "KawPow", - "BlockHeight": 843988, + "BlockHeight": 848912, "CoinName": "Paprika", - "DAGsize": 2030039936, - "Date": "2024-10-01T08:07:15.4792558Z", - "Epoch": 114, + "DAGsize": 2038430848, + "Date": "2024-10-04T18:07:25.7550574Z", + "Epoch": 115, "Url": "https://minerstat.com/dag-size-calculator" }, "PGC": { @@ -642,12 +642,12 @@ }, "QKC": { "Algorithm": "Ethash", - "BlockHeight": 17455474, + "BlockHeight": 17485845, "CoinName": "Quarkchain", - "DAGsize": 5964299392, - "Date": "2024-10-01T08:07:15.428671Z", - "Epoch": 583, - "Url": "https://minerstat.com/dag-size-calculator" + "DAGsize": 5972688256, + "Date": "2024-10-04T18:11:28.1444361Z", + "Epoch": 584, + "Url": "https://whattomine.com/coins.json" }, "REDEV2": { "Algorithm": "Ethash", @@ -669,38 +669,38 @@ }, "RVN": { "Algorithm": "KawPow", - "BlockHeight": 3521883, + "BlockHeight": 3526776, "CoinName": "Raven", - "DAGsize": 5024763776, - "Date": "2024-10-01T08:08:42.4658719Z", - "Epoch": 471, + "DAGsize": 5033164672, + "Date": "2024-10-04T18:11:29.7609399Z", + "Epoch": 472, "Url": "https://prohashing.com/api/v1/currencies" }, "SATOX": { "Algorithm": "KawPow", - "BlockHeight": 895210, + "BlockHeight": 900063, "CoinName": "Sato", - "DAGsize": 2088762752, - "Date": "2024-10-01T08:08:41.1923527Z", - "Epoch": 121, - "Url": "https://whattomine.com/coins.json" + "DAGsize": 2097149056, + "Date": "2024-10-04T18:07:25.220171Z", + "Epoch": 122, + "Url": "https://minerstat.com/dag-size-calculator" }, "SCC": { "Algorithm": "SCCpow", - "BlockHeight": 999993, + "BlockHeight": 1002435, "CoinName": "StakeCubeCoin", - "DAGsize": 3674207872, - "Date": "2024-10-01T08:08:42.6434431Z", - "Epoch": 310, + "DAGsize": 3682597504, + "Date": "2024-10-04T18:13:38.9762846Z", + "Epoch": 311, "Url": "https://scc.ccore.online/api/getblockcount" }, "SERO": { "Algorithm": "ProgPowSero", - "BlockHeight": 13544921, + "BlockHeight": 13567660, "CoinName": "Sero", - "DAGsize": 4873780096, - "Date": "2024-10-01T08:08:41.1632956Z", - "Epoch": 453, + "DAGsize": 4882169728, + "Date": "2024-10-04T18:11:28.107361Z", + "Epoch": 454, "Url": "https://whattomine.com/coins.json" }, "SLX": { @@ -714,10 +714,10 @@ }, "TLS": { "Algorithm": "ProgPowTelestai", - "BlockHeight": 84450, + "BlockHeight": 89327, "CoinName": "Telestai", "DAGsize": 1149232768, - "Date": "2024-10-01T08:08:42.5575815Z", + "Date": "2024-10-04T18:11:29.9033713Z", "Epoch": 9, "Url": "https://telestai.cryptoscope.io/api/getblockcount/" }, @@ -726,7 +726,7 @@ "BlockHeight": 5517628, "CoinName": "", "DAGsize": 2625631616, - "Date": "2024-10-01T08:08:41.3633982Z", + "Date": "2024-10-04T18:11:28.3503024Z", "Epoch": 185, "Url": "https://minerstat.com/dag-size-calculator" }, @@ -741,11 +741,11 @@ }, "XNA": { "Algorithm": "KawPow", - "BlockHeight": 761053, + "BlockHeight": 765927, "CoinName": "Neurai", - "DAGsize": 1937765504, - "Date": "2024-10-01T08:08:41.1691624Z", - "Epoch": 103, + "DAGsize": 1946156672, + "Date": "2024-10-04T18:11:28.0950227Z", + "Epoch": 104, "Url": "https://whattomine.com/coins.json" }, "XPB": { @@ -759,23 +759,23 @@ }, "ZANO": { "Algorithm": "ProgPowZ", - "BlockHeight": 2833978, + "BlockHeight": 2838911, "CoinName": "Zano", "DAGsize": 1879048064, - "Date": "2024-10-01T08:08:41.1717345Z", + "Date": "2024-10-04T18:11:28.0837366Z", "Epoch": 96, "Url": "https://whattomine.com/coins.json" } }, "Updated": { - "https://api-explorer.blocxscan.com/api/getblockcount": "2024-10-01T08:08:42.7604807Z", - "https://evr.cryptoscope.io/api/getblockcount": "2024-10-01T08:08:42.9010547Z", + "https://api-explorer.blocxscan.com/api/getblockcount": "2024-10-04T18:11:31.0264435Z", + "https://evr.cryptoscope.io/api/getblockcount": "2024-10-04T18:11:31.2386255Z", "https://mewc.cryptoscope.io/api/getblockcount": "2024-07-14T13:29:49.1181315Z", - "https://minerstat.com/dag-size-calculator": "2024-10-01T08:08:41.405417Z", - "https://prohashing.com/api/v1/currencies": "2024-10-01T08:08:42.4699238Z", - "https://scc.ccore.online/api/getblockcount": "2024-10-01T08:08:42.6437279Z", - "https://telestai.cryptoscope.io/api/getblockcount/": "2024-10-01T08:08:42.5578785Z", - "https://whattomine.com/coins.json": "2024-10-01T08:08:41.2428977Z", + "https://minerstat.com/dag-size-calculator": "2024-10-04T18:11:28.3819826Z", + "https://prohashing.com/api/v1/currencies": "2024-10-04T18:11:29.769584Z", + "https://scc.ccore.online/api/getblockcount": "2024-10-04T18:13:38.9766748Z", + "https://telestai.cryptoscope.io/api/getblockcount/": "2024-10-04T18:11:29.903817Z", + "https://whattomine.com/coins.json": "2024-10-04T18:11:28.182667Z", "https://www.coinexplorer.net/api/v1/SCC/getblockcount": "2024-09-02T06:05:35.3039058Z", "https://zergpool.com/api/currencies": "2024-08-26T19:03:15.0996499Z" } diff --git a/Includes/APIServer.psm1 b/Includes/APIServer.psm1 index 11349bcc..61b30b16 100644 --- a/Includes/APIServer.psm1 +++ b/Includes/APIServer.psm1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\APIServer.psm1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Function Start-APIServer { diff --git a/Includes/BalancesTracker.ps1 b/Includes/BalancesTracker.ps1 index 5ecde9c9..e82c3733 100644 --- a/Includes/BalancesTracker.ps1 +++ b/Includes/BalancesTracker.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\BalancesTracker.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> using module .\Include.psm1 diff --git a/Includes/Core.ps1 b/Includes/Core.ps1 index 04f96ee2..a4570294 100644 --- a/Includes/Core.ps1 +++ b/Includes/Core.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: Core.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> using module .\Include.psm1 @@ -465,25 +465,28 @@ Try { If ($Config.Algorithm -like "+*") { # Filter non-enabled algorithms $Pools.Where({ $Config.Algorithm -notcontains "+$($_.Algorithm)" }).ForEach({ $_.Reasons.Add("Algorithm not enabled in generic config") }) - $Pools.Where({ $Variables.PoolsConfig[$_.Name].Algorithm -like "+*" -and $Variables.PoolsConfig.$($_.Name).Algorithm -notcontains "+$($_.Algorithm)" }).ForEach({ $_.Reasons.Add("Algorithm not enabled in $($_.Name) pool config") }) } - Else { + ElseIf ($Config.Algorithm -like "-*") { # Filter disabled algorithms $Pools.Where({ $Config.Algorithm -contains "-$($_.Algorithm)" }).ForEach({ $_.Reasons.Add("Algorithm disabled (``-$($_.Algorithm)`` in generic config)") }) - $Pools.Where({ $Variables.PoolsConfig[$_.Name].Algorithm -contains "-$($_.Algorithm)" }).ForEach({ $_.Reasons.Add("Algorithm disabled (``-$($_.Algorithm)`` in $($_.Name) pool config)") }) $Pools.Where({ $Config.Algorithm -contains "-$($_.AlgorithmVariant)" }).ForEach({ $_.Reasons.Add("Algorithm disabled (``-$($_.AlgorithmVariant)`` in generic config)") }) - $Pools.Where({ $Variables.PoolsConfig[$_.Name].Algorithm -contains "-$($_.AlgorithmVariant)" }).ForEach({ $_.Reasons.Add("Algorithm disabled (``-$($_.AlgorithmVariant)`` in $($_.Name) pool config)") }) } + # Per pool config algorithm filter + $Pools.Where({ $Variables.PoolsConfig[$_.Name].Algorithm -like "+*" -and $Variables.PoolsConfig.$($_.Name).Algorithm -notcontains "+$($_.Algorithm)" }).ForEach({ $_.Reasons.Add("Algorithm not enabled in $($_.Name) pool config") }) + $Pools.Where({ $Variables.PoolsConfig[$_.Name].Algorithm -contains "-$($_.Algorithm)" }).ForEach({ $_.Reasons.Add("Algorithm disabled (``-$($_.Algorithm)`` in $($_.Name) pool config)") }) + $Pools.Where({ $Variables.PoolsConfig[$_.Name].Algorithm -contains "-$($_.AlgorithmVariant)" }).ForEach({ $_.Reasons.Add("Algorithm disabled (``-$($_.AlgorithmVariant)`` in $($_.Name) pool config)") }) + If ($Config.Currency -like "+*") { # Filter non-enabled currencies $Pools.Where({ $Config.Currency -notcontains "+$($_.Currency)" }).ForEach({ $_.Reasons.Add("Currency not enabled in generic config") }) - $Pools.Where({ $Variables.PoolsConfig[$_.Name].Currency -like "+*" -and $Variables.PoolsConfig.$($_.Name).Currency -notcontains "+$($_.Currency)" }).ForEach({ $_.Reasons.Add("Currency not enabled in $($_.Name) pool config") }) } - Else { + ElseIf ($Config.Currency -like ".*") { # Filter disabled currencies - $Pools.Where({ $Config.Currency -contains "-$($_.Currency)" }).ForEach({ $_.Reasons.Add("Currency disabled (``-$($_.Currency)`` in generic config)") }) - $Pools.Where({ $Variables.PoolsConfig[$_.Name].Currency -contains "-$($_.Currency)" }).ForEach({ $_.Reasons.Add("Currency disabled (``-$($_.Currency)`` in $($_.Name) pool config)") }) + If ($Config.Currency) { $Pools.Where({ $Config.Currency -contains "-$($_.Currency)" }).ForEach({ $_.Reasons.Add("Currency disabled (``-$($_.Currency)`` in generic config)") }) } } + # Per pool config currency filter + $Pools.Where({ $Variables.PoolsConfig[$_.Name].Currency -like "+*" -and $Variables.PoolsConfig.$($_.Name).Currency -notcontains "+$($_.Currency)" }).ForEach({ $_.Reasons.Add("Currency not enabled in $($_.Name) pool config") }) + $Pools.Where({ $Variables.PoolsConfig[$_.Name].Currency -contains "-$($_.Currency)" }).ForEach({ $_.Reasons.Add("Currency disabled (``-$($_.Currency)`` in $($_.Name) pool config)") }) # MinWorkers $Pools.Where({ $null -ne $_.Workers -and $_.Workers -lt $Variables.PoolsConfig[$_.Name].MinWorker }).ForEach({ $_.Reasons.Add("Not enough workers at pool (MinWorker ``$($Variables.PoolsConfig[$_.Name].MinWorker)`` in $($_.Name) pool config)") }) $Pools.Where({ $null -ne $_.Workers -and $_.Workers -lt $Config.MinWorker }).ForEach({ $_.Reasons.Add("Not enough workers at pool (MinWorker ``$($Config.MinWorker)`` in generic config)") }) @@ -613,7 +616,7 @@ Try { If ($Shares = ($Miner.Data | Select-Object -Last 1).Shares) { ForEach ($Algorithm in $Miner.Algorithms) { If ($Shares.$Algorithm -and $Shares.$Algorithm[1] -gt 0 -and $Shares.$Algorithm[3] -gt [Math]::Floor(1 / $Config.BadShareRatioThreshold) -and $Shares.$Algorithm[1] / $Shares.$Algorithm[3] -gt $Config.BadShareRatioThreshold) { - $Miner.StatusInfo = "'$($Miner.Info)' stopped. Too many bad shares: A$($Shares.$Algorithm[0])+R$($Shares.$Algorithm[1])+I$($Shares.$Algorithm[2])=T$($Shares.$Algorithm[3])" + $Miner.StatusInfo = "'$($Miner.Info)' stopped. Too many bad shares: ($($Algorithm): A$($Shares.$Algorithm[0])+R$($Shares.$Algorithm[1])+I$($Shares.$Algorithm[2])=T$($Shares.$Algorithm[3]))" $Miner.SetStatus([MinerStatus]::Failed) $Variables.Devices.Where({ $Miner.DeviceNames -contains $_.Name }).ForEach({ $_.Status = $Miner.Status; $_.StatusInfo = $Miner.StatusInfo; $_.SubStatus = $Miner.SubStatus }) } @@ -752,7 +755,7 @@ Try { } $Miner.PSObject.Properties.Remove("Fee") $Miner | Add-Member BaseName_Version_Device (($Miner.Name -split "-")[0..2] -join "-") - $Miner | Add-Member Info "$($Miner.BaseName_Version_Device) {$($Miner.Workers.ForEach({ $_.Pool.AlgorithmVariant, $_.Pool.Name -join "@" }) -join " & ")}$(If (($Miner.Name -split "-")[4]) { " (Dual intensity $(($Miner.Name -split "-")[4]))" })" + $Miner | Add-Member Info "$($Miner.BaseName_Version_Device) {$($Miner.Workers.ForEach({ $_.Pool.AlgorithmVariant, $_.Pool.Name -join "@" }) -join " & ")}$(If (($Miner.Name -split "-")[4]) { " ($(($Miner.Name -split "-")[4]))" })" $Miner -as $_.API } Catch { @@ -886,7 +889,7 @@ Try { DownloadList = $DownloadList Variables = $Variables } - $Variables.Downloader = Start-ThreadJob -Name Downloader -StreamingHost $null -FilePath ".\Includes\Downloader.ps1" -InitializationScript ([ScriptBlock]::Create("Set-Location '$($Variables.MainPath)'")) -ArgumentList $DownloaderParameters -ThrottleLimit (2 * $Variables.Devices.Count + 2) + $Variables.Downloader = Start-ThreadJob -Name Downloader -StreamingHost $null -FilePath ".\Includes\Downloader.ps1" -InitializationScript ([ScriptBlock]::Create("Set-Location '$($Variables.MainPath)'")) -ArgumentList $DownloaderParameters Remove-Variable DownloaderParameters } } @@ -1261,6 +1264,9 @@ Try { Start-Sleep -Seconds $Config.Delay ForEach ($Miner in $Variables.MinersBest) { + + $DataCollectInterval = If ($Miner.Benchmark -or $Miner.MeasurePowerConsumption) { If ($Config.DryRun -and $Config.BenchmarkAllPoolAlgorithmCombinations) { 0.5 } Else { 1 } } Else { 5 } + If ($Miner.Status -ne [MinerStatus]::DryRun -and $Miner.GetStatus() -ne [MinerStatus]::Running) { If ($Config.DryRun -and -not ($Miner.Benchmark -or $Miner.MeasurePowerConsumption)) { $Miner.SetStatus([MinerStatus]::DryRun) @@ -1296,12 +1302,13 @@ Try { # Add extra time when CPU mining and miner requires DAG creation If ($Variables.MinersBest.Type -contains "CPU") { $Miner.WarmupTimes[0] += 15 <# seconds #> } # Add extra time when notebook runs on battery - If ((Get-CimInstance Win32_Battery).BatteryStatus -eq 1) { $Miner.WarmupTimes[0] += 90 <# seconds #> } + If ((Get-CimInstance Win32_Battery).BatteryStatus -eq 1) { $Miner.WarmupTimes[0] += 60 <# seconds #> } } # Do not wait for stable hash rates, for quick and dirty benchmarking If ($Config.DryRun -and $Variables.BenchmarkAllPoolAlgorithmCombinations) { $Miner.WarmupTimes[1] = 0 } + $Miner.DataCollectInterval = $DataCollectInterval $Miner.SetStatus([MinerStatus]::Running) } $Variables.Devices.Where({ $Miner.DeviceNames -contains $_.Name }).ForEach({ $_.Status = $Miner.Status; $_.StatusInfo = $Miner.StatusInfo; $_.SubStatus = $Miner.SubStatus }) @@ -1331,15 +1338,12 @@ Try { Remove-Variable Worker -ErrorAction Ignore } } - Else { - $DataCollectInterval = If ($Miner.Benchmark -or $Miner.MeasurePowerConsumption) { 1 } Else { 5 } - If ($Miner.DataCollectInterval -ne $DataCollectInterval) { - $Miner.DataCollectInterval = $DataCollectInterval - $Miner.RestartDataReader() - } - Remove-Variable DataCollectInterval + ElseIf ($Miner.DataCollectInterval -ne $DataCollectInterval) { + $Miner.DataCollectInterval = $DataCollectInterval + $Miner.RestartDataReader() } } + Remove-Variable DataCollectInterval ForEach ($Miner in $Variables.MinersBest) { If ($Message = "$(If ($Miner.Benchmark) { "Benchmarking" })$(If ($Miner.Benchmark -and $Miner.MeasurePowerConsumption) { " and measuring power consumption" } ElseIf ($Miner.MeasurePowerConsumption) { "Measuring power consumption" })") { @@ -1382,7 +1386,7 @@ Try { Write-Message -Level Info "Collecting miner data while waiting for next cycle..." Do { - $LoopEnd = If ($Config.DryRun -and $Variables.BenchmarkAllPoolAlgorithmCombinations) { [DateTime]::Now.AddSeconds(0.5) } Else { [DateTime]::Now.AddSeconds(1) } + $LoopEnd = If ($Config.DryRun -and $Config.BenchmarkAllPoolAlgorithmCombinations) { [DateTime]::Now.AddSeconds(0.5) } Else { [DateTime]::Now.AddSeconds(1) } Try { ForEach ($Miner in $Variables.MinersRunning.Where({ $_.Status -ne [MinerStatus]::DryRun })) { If ($Miner.GetStatus() -ne [MinerStatus]::Running) { @@ -1399,15 +1403,15 @@ Try { } Else { If ($Miner.DataReaderJob.HasMoreData) { - If ($Samples = @($Miner.DataReaderJob | Receive-Job).Where({ $_.Date })) { + If ($Samples = @($Miner.DataReaderJob | Receive-Job).Where({ $_.HashRate.PSObject.Properties.Name })) { $Sample = $Samples[-1] $Miner.Hashrates_Live = $Sample.Hashrate.PSObject.Properties.Value $Miner.DataSampleTimestamp = $Sample.Date If ($Miner.ReadPowerConsumption) { $Miner.PowerConsumption_Live = $Sample.PowerConsumption } # Need hashrates for all algorithms to count as a valid sample - If ($Sample.Hashrate.PSObject.Properties.Value -notcontains 0 -and $Miner.ValidDataSampleTimestamp -eq [DateTime]0) { $Miner.ValidDataSampleTimestamp = $Sample.Date.AddSeconds($Miner.WarmupTimes[1]) } + If ($Miner.ValidDataSampleTimestamp -eq [DateTime]0 -and $Sample.Hashrate.PSObject.Properties.Value -notcontains 0) { $Miner.ValidDataSampleTimestamp = $Sample.Date.AddSeconds($Miner.WarmupTimes[1]) } If (($Miner.ValidDataSampleTimestamp -ne [DateTime]0 -and ($Sample.Date - $Miner.ValidDataSampleTimestamp) -ge 0)) { - $Samples.Where({ $_.Hashrate.PSObject.Properties.Value -notcontains 0 }).ForEach({ $Miner.Data.Add($_) }) + $Samples.Where({ $_.Date -ge $Miner.ValidDataSampleTimestamp -and $_.Hashrate.PSObject.Properties.Value -notcontains 0 }).ForEach({ $Miner.Data.Add($_) }) Write-Message -Level Verbose "$($Miner.Name) data sample collected [$(($Sample.Hashrate.PSObject.Properties.Name.ForEach({ "$($_): $(($Sample.Hashrate.$_ | ConvertTo-Hash) -replace " ")$(If ($Config.ShowShares) { " (Shares: A$($Sample.Shares.$_[0])+R$($Sample.Shares.$_[1])+I$($Sample.Shares.$_[2])=T$($Sample.Shares.$_[3]))" })" })) -join " & ")$(If ($Sample.PowerConsumption) { " | Power: $($Sample.PowerConsumption.ToString("N2"))W" })] ($($Miner.Data.Count) Sample$(If ($Miner.Data.Count -ne 1) { "s" }))" If ($Miner.Activated -gt 0 -and ($Miner.Benchmark -or $Miner.MeasurePowerConsumption)) { $Miner.StatusInfo = "$(If ($Miner.Benchmark) { "Benchmarking" })$(If ($Miner.Benchmark -and $Miner.MeasurePowerConsumption) { " and measuring power consumption" } ElseIf ($Miner.MeasurePowerConsumption) { "Measuring power consumption" }) '$($Miner.Info)'" diff --git a/Includes/Downloader.ps1 b/Includes/Downloader.ps1 index 910ac708..b422bf23 100644 --- a/Includes/Downloader.ps1 +++ b/Includes/Downloader.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\Downloader.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> using module .\Includes\Include.psm1 diff --git a/Includes/Include.psm1 b/Includes/Include.psm1 index fd2b7987..490f0df9 100644 --- a/Includes/Include.psm1 +++ b/Includes/Include.psm1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\include.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> $Global:DebugPreference = "SilentlyContinue" @@ -154,7 +154,7 @@ Class Device { [Int]$Bus_Platform_Index [Int]$Bus_Vendor_Index [PSCustomObject]$CIM - [Version]$CUDAVersion + [System.Version]$CUDAversion [Double]$ConfiguredPowerConsumption = 0 # Workaround if device does not expose power consumption [PSCustomObject]$CPUfeatures [Int]$Id @@ -233,7 +233,7 @@ Class Pool : IDisposable { [String]$WorkerName = "" [Nullable[UInt]]$Workers [String]$ZAPcurrency - + Dispose() { $this = $null } @@ -281,7 +281,7 @@ Class Miner : IDisposable { [Boolean]$Best = $false [String]$CommandLine [UInt]$ContinousCycle = 0 # Counter, miner has been running continously for n loops - [UInt16]$DataCollectInterval = 5 # Seconds + [Double]$DataCollectInterval = 5 # Seconds, allow fractions of seconds [DateTime]$DataSampleTimestamp = 0 # Newest sample [String[]]$DeviceNames = @() # derived from devices [PSCustomObject[]]$Devices @@ -381,8 +381,6 @@ Class Miner : IDisposable { Remove-Variable Miner, LoopEnd -ErrorAction Ignore } - $this.DataCollectInterval = If ($this.Benchmark -or $this.MeasurePowerConsumption) { 1 } Else { 5 } - # Start Miner data reader, devices property required for GetPowerConsumption/ConfiguredPowerConsumption $this.DataReaderJob = Start-ThreadJob -ErrorVariable $null -InformationVariable $null -WarningVariable $null -Name "$($this.NameAdDevice)_DataReader" -StreamingHost $null -InitializationScript ([ScriptBlock]::Create("Set-Location('$(Get-Location)')")) -ScriptBlock $ScriptBlock -ArgumentList ($this.API), ($this | Select-Object -Property Algorithms, DataCollectInterval, Devices, Name, Path, Port, ReadPowerConsumption | ConvertTo-Json -Depth 5 -WarningAction Ignore) @@ -533,14 +531,15 @@ Class Miner : IDisposable { Pools = ($this.WorkersRunning.Pool.Name | Select-Object -Unique) -join " " Profit = $this.Profit Profit_Bias = $this.Profit_Bias - Reason = If ($this.Status -eq [MinerStatus]::Failed) { $this.StatusInfo -replace '.+\) ' -replace '.+sample*\) ' } Else { "" } + Reason = If ($this.Status -eq [MinerStatus]::Failed) { + $this.StatusInfo = $this.StatusInfo.Replace("'$($this.Name)' ", "") -replace '.+stopped. ' -replace '.+sample.*\) ' + $this.StatusInfo.substring(0,1).toUpper() + $this.StatusInfo.substring(1) + } Else { "" } Type = $this.Type } | Export-Csv -Path ".\Logs\SwitchingLog.csv" -Append -NoTypeInformation - If ($this.Status -eq [MinerStatus]::Idle) { - $this.StatusInfo = "Idle" - $this.SubStatus = $this.Status - } + $this.StatusInfo = "Idle" + $this.SubStatus = $this.Status $this.WorkersRunning = [Worker[]]@() } @@ -946,19 +945,22 @@ Function Close-BalancesTrackerRunspace { Function Start-BalancesTracker { - Try { - Open-BalancesTrackerRunspace + Open-BalancesTrackerRunspace - If ($Global:BalancesTrackerRunspace.Job.IsCompleted -ne $false) { - $Global:BalancesTrackerRunspace | Add-Member Job ($Global:BalancesTrackerRunspace.PowerShell.BeginInvoke()) -Force - $Global:BalancesTrackerRunspace | Add-Member StartTime ([DateTime]::Now.ToUniversalTime()) -Force + If ($Global:BalancesTrackerRunspace) { + Try { - $Variables.Summary = "Balances tracker background process started." - Write-Message -Level Info $Variables.Summary + If ($Global:BalancesTrackerRunspace.Job.IsCompleted -ne $false) { + $Global:BalancesTrackerRunspace | Add-Member Job ($Global:BalancesTrackerRunspace.PowerShell.BeginInvoke()) -Force + $Global:BalancesTrackerRunspace | Add-Member StartTime ([DateTime]::Now.ToUniversalTime()) -Force + + $Variables.Summary = "Balances tracker background process started." + Write-Message -Level Info $Variables.Summary + } + } + Catch { + Write-Message -Level Error "Failed to start Balances tracker [$($Error[0])]." } - } - Catch { - Write-Message -Level Error "Failed to start Balances tracker [$($Error[0])]." } } @@ -1025,7 +1027,7 @@ Function Get-Rate { $Currencies.Where({ $_ -ne "BTC" }).ForEach( { $Currency = $_ - $Rates | Add-Member $Currency ($Rates.BTC | ConvertTo-Json -WarningAction SilentlyContinue | ConvertFrom-Json) -Force + $Rates | Add-Member $Currency $Rates.BTC.PSObject.Copy() -Force $Rates.$Currency.PSObject.Properties.Name.ForEach( { $Rates.$Currency | Add-Member $_ (($Rates.BTC.$_ / $Rates.BTC.$Currency) -as [Double]) -Force @@ -1040,7 +1042,7 @@ Function Get-Rate { { $Currency = $_ $mCurrency = "m$Currency" - $Rates | Add-Member $mCurrency ($Rates.$Currency | ConvertTo-Json -WarningAction SilentlyContinue | ConvertFrom-Json) -Force + $Rates | Add-Member $mCurrency $Rates.$Currency.PSObject.Copy() -Force $Rates.$mCurrency.PSOBject.Properties.Name.ForEach({ $Rates.$mCurrency | Add-Member $_ ([Double]$Rates.$Currency.$_ / 1000) -Force }) } ) @@ -1056,7 +1058,7 @@ Function Get-Rate { } ) } - Write-Message -Level Info "Loaded currency exchange rates from 'min-api.cryptocompare.com'.$(If ($Variables.RatesMissingCurrencies = Compare-Object @($Currencies | Select-Object) @($Variables.AllCurrencies | Select-Object) -PassThru) { " API does not provide rates for $($Variables.RatesMissingCurrencies -join ", " -replace ",([^,]*)$", ' &$1')." })" + Write-Message -Level Info "Loaded currency exchange rates from 'min-api.cryptocompare.com'.$(If ($Variables.RatesMissingCurrencies = Compare-Object @($Currencies | Select-Object) @($Variables.AllCurrencies | Select-Object) -PassThru) { " API does not provide rates for $($Variables.RatesMissingCurrencies -join ", " -replace ",([^,]*)$", ' &$1'). $($Variables.Branding.ProductLabel) cannot calculate FIAT or BTC value for $(If ($Variables.RatesMissingCurrencies.Count -ne 1) { "these currencies" } Else { "this currency" } )." })" $Variables.Rates = $Rates $Variables.RatesUpdated = [DateTime]::Now.ToUniversalTime() @@ -1200,7 +1202,7 @@ Function Write-MonitoringData { } } Catch { - Write-Message -Level Warn "Monitoring: Unable to send status to '$($Config.MonitoringServer)' [ID $($Config.MonitoringUser)]." + Write-Message -Level Warn "Monitoring: Unable to send status to monitoring server '$($Config.MonitoringServer)' [ID $($Config.MonitoringUser)]." } } @@ -1313,7 +1315,6 @@ Function Get-RandomDonationPoolsConfig { } } ) - Return $DonationRandomPoolsConfig } @@ -1422,7 +1423,6 @@ Function Read-Config { $PoolsConfig.$PoolName = $PoolConfig } ) - Return $PoolsConfig } @@ -1683,7 +1683,6 @@ Function Get-SortedObject { $SortedObject = $Object } } - Return $SortedObject } @@ -2249,7 +2248,7 @@ Function Get-Device { Try { (Get-CimInstance CIM_Processor).ForEach( { - $Device_CIM = $_ | ConvertTo-Json -WarningAction SilentlyContinue | ConvertFrom-Json + $Device_CIM = [CimInstance]::new($_) # Add normalised values $Variables.Devices += $Device = [PSCustomObject]@{ @@ -2281,9 +2280,7 @@ Function Get-Device { $Device.Name = "$($Device.Type)#$('{0:D2}' -f $Device.Type_Id)" $Device.Model = ((($Device.Model -split " " -replace "Processor", "CPU" -replace "Graphics", "GPU") -notmatch $Device.Type -notmatch $Device.Vendor) -join " " -replace "\(R\)|\(TM\)|\(C\)|Series|GeForce|Radeon|Intel" -replace "[^ A-Z0-9\.]" -replace " \s+").trim() - If (-not $Type_Vendor_Id.($Device.Type)) { - $Type_Vendor_Id.($Device.Type) = @{ } - } + If (-not $Type_Vendor_Id.($Device.Type)) { $Type_Vendor_Id.($Device.Type) = @{ } } $Id ++ $Vendor_Id.($Device.Vendor) ++ @@ -2291,7 +2288,6 @@ Function Get-Device { If ($Variables."Supported$($Device.Type)DeviceVendors" -contains $Device.Vendor) { $Type_Id.($Device.Type) ++ } # Read CPU features - # $Device | Add-Member CPUfeatures ((Get-CpuId).Features | Sort-Object) $Device | Add-Member CPUfeatures $Variables.CPUfeatures # Add raw data @@ -2303,21 +2299,17 @@ Function Get-Device { (Get-CimInstance CIM_VideoController).ForEach( { - $Device_CIM = $_ | ConvertTo-Json -WarningAction SilentlyContinue | ConvertFrom-Json - + $Device_CIM = [CimInstance]::new($_) $Device_PNP = [PSCustomObject]@{ } (Get-PnpDevice $Device_CIM.PNPDeviceID | Get-PnpDeviceProperty).ForEach({ $Device_PNP | Add-Member $_.KeyName $_.Data }) - $Device_PNP = $Device_PNP | ConvertTo-Json -WarningAction SilentlyContinue | ConvertFrom-Json - - $Device_Reg = Get-ItemProperty "Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\$($Device_PNP.DEVPKEY_Device_Driver)" | ConvertTo-Json -WarningAction SilentlyContinue | ConvertFrom-Json - - # Add normalised values + $Device_PNP = $Device_PNP.PSObject.Copy() + $Device_Reg = (Get-ItemProperty "Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\$($Device_PNP.DEVPKEY_Device_Driver)").PSObject.Copy() $Variables.Devices += $Device = [PSCustomObject]@{ Name = $null Model = $Device_CIM.Name Type = "GPU" Bus = $( - If ($Device_PNP.DEVPKEY_Device_BusNumber -is [Int64] -or $Device_PNP.DEVPKEY_Device_BusNumber -is [Int32]) { + If ($Device_PNP.DEVPKEY_Device_BusNumber -is [UInt64] -or $Device_PNP.DEVPKEY_Device_BusNumber -is [UInt32]) { [Int64]$Device_PNP.DEVPKEY_Device_BusNumber } ) @@ -2341,21 +2333,15 @@ Function Get-Device { Vendor_Id = [Int]$Vendor_Id.($Device.Vendor) Type_Vendor_Id = [Int]$Type_Vendor_Id.($Device.Type).($Device.Vendor) } + #Unsupported devices start with DeviceID 100 (to not disrupt device order when running in a Citrix or RDP session) - If ($Variables."Supported$($Device.Type)DeviceVendors" -contains $Device.Vendor) { - $Device.Name = "$($Device.Type)#$('{0:D2}' -f $Device.Type_Id)" - } - ElseIf ($Device.Type -eq "CPU") { - $Device.Name = "$($Device.Type)#$('{0:D2}' -f $UnsupportedCPUVendorID ++)" - } - Else { - $Device.Name = "$($Device.Type)#$('{0:D2}' -f $UnsupportedGPUVendorID ++)" - } + If ($Variables."Supported$($Device.Type)DeviceVendors" -contains $Device.Vendor) { $Device.Name = "$($Device.Type)#$('{0:D2}' -f $Device.Type_Id)" } + ElseIf ($Device.Type -eq "CPU") { $Device.Name = "$($Device.Type)#$('{0:D2}' -f $UnsupportedCPUVendorID ++)" } + Else { $Device.Name = "$($Device.Type)#$('{0:D2}' -f $UnsupportedGPUVendorID ++)" } + $Device.Model = ((($Device.Model -split " " -replace "Processor", "CPU" -replace "Graphics", "GPU") -notmatch $Device.Type -notmatch $Device.Vendor -notmatch "$([UInt64]($Device.Memory/1GB))GB") + "$([UInt64]($Device.Memory/1GB))GB" -join " " -replace "\(R\)|\(TM\)|\(C\)|Series|GeForce|Radeon|Intel" -replace "[^ A-Z0-9\.]" -replace " \s+").trim() - If (-not $Type_Vendor_Id.($Device.Type)) { - $Type_Vendor_Id.($Device.Type) = @{ } - } + If (-not $Type_Vendor_Id.($Device.Type)) { $Type_Vendor_Id.($Device.Type) = @{ } } $Id ++ $Vendor_Id.($Device.Vendor) ++ @@ -2422,31 +2408,21 @@ Function Get-Device { Vendor_Id = [Int]$Vendor_Id.($Device.Vendor) Type_Vendor_Id = [Int]$Type_Vendor_Id.($Device.Type).($Device.Vendor) } + #Unsupported devices get DeviceID 100 (to not disrupt device order when running in a Citrix or RDP session) - If ($Variables."Supported$($Device.Type)DeviceVendors" -contains $Device.Vendor) { - $Device.Name = "$($Device.Type)#$('{0:D2}' -f $Device.Type_Id)" - } - ElseIf ($Device.Type -eq "CPU") { - $Device.Name = "$($Device.Type)#$('{0:D2}' -f $UnsupportedCPUVendorID ++)" - } - Else { - $Device.Name = "$($Device.Type)#$('{0:D2}' -f $UnsupportedGPUVendorID ++)" - } + If ($Variables."Supported$($Device.Type)DeviceVendors" -contains $Device.Vendor) { $Device.Name = "$($Device.Type)#$('{0:D2}' -f $Device.Type_Id)" } + ElseIf ($Device.Type -eq "CPU") { $Device.Name = "$($Device.Type)#$('{0:D2}' -f $UnsupportedCPUVendorID ++)" } + Else {$Device.Name = "$($Device.Type)#$('{0:D2}' -f $UnsupportedGPUVendorID ++)" } + $Device.Model = ((($Device.Model -split " " -replace "Processor", "CPU" -replace "Graphics", "GPU") -notmatch $Device.Type -notmatch $Device.Vendor -notmatch "$([UInt64]($Device.Memory/1GB))GB") + "$([UInt64]($Device.Memory/1GB))GB") -join " " -replace "\(R\)|\(TM\)|\(C\)|Series|GeForce|Radeon|Intel" -replace "[^A-Z0-9 ]" - If (-not $Type_Vendor_Id.($Device.Type)) { - $Type_Vendor_Id.($Device.Type) = @{ } - } + If (-not $Type_Vendor_Id.($Device.Type)) { $Type_Vendor_Id.($Device.Type) = @{ } } - If ($Variables.Devices.Where({ $_.Type -eq $Device.Type -and $_.Bus -eq $Device.Bus })) { - $Device = $Variables.Devices.Where({ $_.Type -eq $Device.Type -and $_.Bus -eq $Device.Bus }) - } - ElseIf ($Device.Type -eq "GPU" -and "AMD", "INTEL", "NVIDIA" -contains $Device.Vendor) { + If ($Variables.Devices.Where({ $_.Type -eq $Device.Type -and $_.Bus -eq $Device.Bus })) { $Device = $Variables.Devices.Where({ $_.Type -eq $Device.Type -and $_.Bus -eq $Device.Bus }) } + ElseIf ($Device.Type -eq "GPU" -and $Variables.SupportedGPUDeviceVendors -contains $Device.Vendor) { $Variables.Devices += $Device - If (-not $Type_Vendor_Index.($Device.Type)) { - $Type_Vendor_Index.($Device.Type) = @{ } - } + If (-not $Type_Vendor_Index.($Device.Type)) { $Type_Vendor_Index.($Device.Type) = @{ } } $Id ++ $Vendor_Id.($Device.Vendor) ++ @@ -2465,17 +2441,13 @@ Function Get-Device { Type_PlatformId_Index = [Int]$Type_PlatformId_Index.($Device.Type).($PlatformId) } -Force - # Add raw data - $Device | Add-Member @{ - OpenCL = $Device_OpenCL - } -Force + # # Add raw data + $Device | Add-Member @{ OpenCL = $Device_OpenCL } -Force - If (-not $Type_Vendor_Index.($Device.Type)) { - $Type_Vendor_Index.($Device.Type) = @{ } - } - If (-not $Type_PlatformId_Index.($Device.Type)) { - $Type_PlatformId_Index.($Device.Type) = @{ } - } + If ($Device_OpenCL.PlatForm.Name -eq "NVIDIA CUDA") { $Device | Add-Member CUDAversion ([System.Version]($Device_OpenCL.PlatForm.Version -replace '.+CUDA ')) -Force } + + If (-not $Type_Vendor_Index.($Device.Type)) { $Type_Vendor_Index.($Device.Type) = @{ } } + If (-not $Type_PlatformId_Index.($Device.Type)) { $Type_PlatformId_Index.($Device.Type) = @{ } } $Index ++ $Type_Index.($Device.Type) ++ @@ -2488,7 +2460,7 @@ Function Get-Device { $PlatformId ++ } Catch { - Write-Message -Level Warn "Device detection for OpenCL platform'$($OpenCLplatform.Version)' has failed." + Write-Message -Level Warn "Device detection for OpenCL platform '$($OpenCLplatform.Version)' has failed." } } ) @@ -2497,15 +2469,9 @@ Function Get-Device { ($Variables.Devices.Where({ $_.Model -ne "Remote Display Adapter 0GB" -and $_.Vendor -ne "CitrixSystemsInc" -and $_.Bus -Is [Int64] }) | Sort-Object -Property Bus).ForEach( { If ($_.Type -eq "GPU") { - If ($_.Vendor -eq "NVIDIA") { - $_ | Add-Member "Architecture" (Get-GPUArchitectureNvidia -Model $_.Model -ComputeCapability $_.OpenCL.DeviceCapability) - } - ElseIf ($_.Vendor -eq "AMD") { - $_ | Add-Member "Architecture" (Get-GPUArchitectureAMD -Model $_.Model -Architecture $_.OpenCL.Architecture) - } - Else { - $_ | Add-Member "Architecture" "Other" - } + If ($_.Vendor -eq "NVIDIA") { $_ | Add-Member "Architecture" (Get-GPUArchitectureNvidia -Model $_.Model -ComputeCapability $_.OpenCL.DeviceCapability) } + ElseIf ($_.Vendor -eq "AMD") { $_ | Add-Member "Architecture" (Get-GPUArchitectureAMD -Model $_.Model -Architecture $_.OpenCL.Architecture) } + Else { $_ | Add-Member "Architecture" "Other" } } $_ | Add-Member @{ @@ -2515,9 +2481,7 @@ Function Get-Device { Type_Vendor_Slot = [Int]$Type_Vendor_Slot.($_.Type).($_.Vendor) } - If (-not $Type_Vendor_Slot.($_.Type)) { - $Type_Vendor_Slot.($_.Type) = @{ } - } + If (-not $Type_Vendor_Slot.($_.Type)) { $Type_Vendor_Slot.($_.Type) = @{ } } $Slot ++ $Type_Slot.($_.Type) ++ @@ -2933,7 +2897,7 @@ Function Get-Version { $Variables.CheckedForUpdate = [DateTime]::Now - If ($Variables.Branding.ProductLabel -and [Version]$UpdateVersion.Version -gt $Variables.Branding.Version) { + If ($Variables.Branding.ProductLabel -and [System.Version]$UpdateVersion.Version -gt $Variables.Branding.Version) { If ($UpdateVersion.AutoUpdate) { If ($Config.AutoUpdate) { Write-Message -Level Verbose "Version checker: New version $($UpdateVersion.Version) found. Starting update..." @@ -3207,32 +3171,6 @@ Function Update-DAGdata { } } - # # Update on script start, once every 24hrs or if unable to get data from source - # $Currency = "SCC" - # $Url = "https://www.coinexplorer.net/api/v1/SCC/getblockcount" - # If (-not $Variables.DAGdata.Currency.$Currency.BlockHeight -or $Variables.DAGdata.Updated.$Url -lt $Variables.ScriptStartTime -or $Variables.DAGdata.Updated.$Url -lt [DateTime]::Now.ToUniversalTime().AddDays(-1)) { - # # Get block data from StakeCube block explorer - # Try { - # Write-Message -Level Info "Loading DAG data from '$Url'..." - # $DAGdataResponse = Invoke-RestMethod -Uri $Url -TimeoutSec 15 -SkipCertificateCheck - # If ((Get-AlgorithmFromCurrency -Currency $Currency) -and $DAGdataResponse -gt $Variables.DAGdata.Currency.$Currency.BlockHeight) { - # $DAGdata = Get-DAGdata -BlockHeight $DAGdataResponse -Currency $Currency -EpochReserve 2 - # If ($DAGdata.Epoch) { - # $DAGdata | Add-Member Date ([DateTime]::Now.ToUniversalTime()) -Force - # $DAGdata | Add-Member Url $Url -Force - # $Variables.DAGdata.Currency | Add-Member $Currency $DAGdata -Force - # $Variables.DAGdata.Updated | Add-Member $Url ([DateTime]::Now.ToUniversalTime()) -Force - # } - # Else { - # Write-Message -Level Warn "Failed to load DAG data for '$Currency' from '$Url'." - # } - # } - # } - # Catch { - # Write-Message -Level Warn "Failed to load DAG data from '$Url'." - # } - # } - # Update on script start, once every 24hrs or if unable to get data from source $Currency = "TLS" $Url = "https://telestai.cryptoscope.io/api/getblockcount/" @@ -3753,15 +3691,6 @@ Function Initialize-Environment { If (Test-Path -LiteralPath ".\Data\Balances.json" -PathType Leaf) { $Variables.Balances = [System.IO.File]::ReadAllLines("$PWD\Data\Balances.json") | ConvertFrom-Json } Else { Write-Host "Loaded balances data." } - # Load CUDA version table - $Variables.CUDAVersionTable = [System.IO.File]::ReadAllLines("$PWD\Data\CUDAVersion.json") | ConvertFrom-Json -AsHashtable | Get-SortedObject - If (-not $Variables.CUDAVersionTable) { - Write-Message -Level Error "Terminating Error - Cannot continue! File '.\Data\CUDAVersion.json' is not a valid JSON file. Please restore it from your original download." - $WscriptShell.Popup("File '.\Data\CUDAVersion.json' is not a valid JSON file.`nPlease restore it from your original download.", 0, "Terminating error - Cannot continue!", 4112) | Out-Null - Exit - } - Else { Write-Host "Loaded CUDA version table." } - # Load NVidia GPU architecture table $Variables.GPUArchitectureDbNvidia = [System.IO.File]::ReadAllLines("$PWD\Data\GPUArchitectureNvidia.json") | ConvertFrom-Json -ErrorAction Ignore If (-not $Variables.GPUArchitectureDbNvidia) { diff --git a/Includes/LegacyGUI.ps1 b/Includes/LegacyGUI.ps1 index 544c7b58..9b6be32d 100644 --- a/Includes/LegacyGUI.ps1 +++ b/Includes/LegacyGUI.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\LegacyGUI.psm1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> [Void][System.Reflection.Assembly]::Load("System.Windows.Forms") diff --git a/Includes/MinerAPIs/BzMiner.ps1 b/Includes/MinerAPIs/BzMiner.ps1 index ff6567e1..64cff9cb 100644 --- a/Includes/MinerAPIs/BzMiner.ps1 +++ b/Includes/MinerAPIs/BzMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\BzMiner.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Class BzMiner : Miner { @@ -48,7 +48,7 @@ Class BzMiner : Miner { $Shares = [PSCustomObject]@{ } $HashRateValue = [Double]($Devices.ForEach({ $_.hashrate[0] }) | Measure-Object -Sum | Select-Object -ExpandProperty Sum) - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $SharesAccepted = [Int64]($Devices.ForEach({ $_.valid_solutions[0] }) | Measure-Object -Sum | Select-Object -ExpandProperty Sum) $SharesRejected = [Int64]($Devices.ForEach({ $_.rejected_solutions[0] }) | Measure-Object -Sum | Select-Object -ExpandProperty Sum) @@ -57,7 +57,7 @@ Class BzMiner : Miner { If ($HashRateName = [String]($this.Algorithms -ne $HashRateName)) { $HashRateValue = [Double]($Devices.ForEach({ $_.hashrate[1] }) | Measure-Object -Sum | Select-Object -ExpandProperty Sum) - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $SharesAccepted = [Int64]($Devices.ForEach({ $_.valid_solutions[1] }) | Measure-Object -Sum | Select-Object -ExpandProperty Sum) $SharesRejected = [Int64]($Devices.ForEach({ $_.rejected_solutions[1] }) | Measure-Object -Sum | Select-Object -ExpandProperty Sum) diff --git a/Includes/MinerAPIs/Ccminer.ps1 b/Includes/MinerAPIs/Ccminer.ps1 index cde5a3d8..2c6107bb 100644 --- a/Includes/MinerAPIs/Ccminer.ps1 +++ b/Includes/MinerAPIs/Ccminer.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\CCminer.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Class CcMiner : Miner { @@ -43,7 +43,7 @@ Class CcMiner : Miner { $HashRateName = [String]$this.Algorithms[0] $HashRateValue = [Double]$Data.HS If (-not $HashRateValue) { $HashRateValue = [Double]$Data.KHS * 1000 } - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $Shares = [PSCustomObject]@{ } $SharesAccepted = [Int64]($Data.ACC | Measure-Object -Sum | Select-Object -ExpandProperty Sum) diff --git a/Includes/MinerAPIs/EthMiner.ps1 b/Includes/MinerAPIs/EthMiner.ps1 index 5275a8ef..ef23c8c3 100644 --- a/Includes/MinerAPIs/EthMiner.ps1 +++ b/Includes/MinerAPIs/EthMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\EthMiner.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Class EthMiner : Miner { @@ -44,7 +44,7 @@ Class EthMiner : Miner { $HashRateValue = [Double]($Data.result[2] -split ";")[0] If ($Data.result[0] -notmatch "^TT-Miner" -and $HashRateName -match "^Blake2s|^Ethash|^EtcHash|^Firopow|^Kawpow|^Keccak|^Neoscrypt|^ProgPow|^SCCpow|^Ubqhash") { $HashRateValue *= 1000 } - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $Shares = [PSCustomObject]@{ } $SharesAccepted = [Int64]($Data.result[2] -split ";")[1] @@ -55,7 +55,7 @@ Class EthMiner : Miner { If ($HashRateName = [String]($this.Algorithms -ne $HashRateName)) { $HashRateValue = [Double]($Data.result[4] -split ";")[0] If ($this.Algorithms[0] -match "^Blake2s|^Keccak") { $HashRateValue *= 1000 } - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $SharesAccepted = [Int64]($Data.result[4] -split ";")[1] $SharesRejected = [Int64]($Data.result[4] -split ";")[2] diff --git a/Includes/MinerAPIs/FireIce.ps1 b/Includes/MinerAPIs/FireIce.ps1 index 41ac778f..ba246be3 100644 --- a/Includes/MinerAPIs/FireIce.ps1 +++ b/Includes/MinerAPIs/FireIce.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\FireIce.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Class Fireice : Miner { @@ -123,7 +123,7 @@ Class Fireice : Miner { $HashRateValue = [Double]$Data.hashrate.total[0] If (-not $HashRateValue) { $HashRateValue = [Double]$Data.hashrate.total[1] } #fix If (-not $HashRateValue) { $HashRateValue = [Double]$Data.hashrate.total[2] } #fix - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $Shares = [PSCustomObject]@{ } $SharesAccepted = [Int64]$Data.results.shares_good diff --git a/Includes/MinerAPIs/Gminer.ps1 b/Includes/MinerAPIs/Gminer.ps1 index 4d2a49e5..0cffc2c3 100644 --- a/Includes/MinerAPIs/Gminer.ps1 +++ b/Includes/MinerAPIs/Gminer.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\GMiner.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Class GMiner : Miner { @@ -40,7 +40,7 @@ Class GMiner : Miner { $HashRate = [PSCustomObject]@{ } $HashRateName = [String]$this.Algorithms[0] $HashRateValue = [Double]($Data.devices.speed | Measure-Object -Sum | Select-Object -ExpandProperty Sum) - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $Shares = [PSCustomObject]@{ } $SharesAccepted = [Int64]$Data.total_accepted_shares @@ -50,7 +50,7 @@ Class GMiner : Miner { If ($HashRateName = [String]($this.Algorithms -ne $HashRateName)) { $HashRateValue = [Double]($Data.devices.speed2 | Measure-Object -Sum | Select-Object -ExpandProperty Sum) - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $SharesAccepted = [Int64]$Data.total_accepted_shares2 $SharesRejected = [Int64]$Data.total_rejected_shares2 diff --git a/Includes/MinerAPIs/HellMiner.ps1 b/Includes/MinerAPIs/HellMiner.ps1 index 04868084..81629fe6 100644 --- a/Includes/MinerAPIs/HellMiner.ps1 +++ b/Includes/MinerAPIs/HellMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\lolMiner.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Class HellMiner : Miner { @@ -40,7 +40,7 @@ Class HellMiner : Miner { $HashRate = [PSCustomObject]@{ } $HashRateName = [String]$this.Algorithms[0] $HashRateValue = [Double]($Data.total_mhs * [Math]::Pow(10, 6)) - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $Shares = [PSCustomObject]@{ } $SharesAccepted = [Int64]$Data.total_accepted diff --git a/Includes/MinerAPIs/MiniZ.ps1 b/Includes/MinerAPIs/MiniZ.ps1 index 9d6dd6f5..61625927 100644 --- a/Includes/MinerAPIs/MiniZ.ps1 +++ b/Includes/MinerAPIs/MiniZ.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\MiniZ.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Class MiniZ : Miner { @@ -43,7 +43,7 @@ Class MiniZ : Miner { $HashRateName = [String]$this.Algorithms[0] $HashRateValue = [Double]($Data.result.speed_sps | Measure-Object -Sum | Select-Object -ExpandProperty Sum) If (-not $HashRateValue) { $HashRateValue = [Double]($Data.result.sol_ps | Measure-Object -Sum | Select-Object -ExpandProperty Sum) } #fix - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $Shares = [PSCustomObject]@{ } $SharesAccepted = [Int64]($Data.result.accepted_shares | Measure-Object -Sum | Select-Object -ExpandProperty Sum) diff --git a/Includes/MinerAPIs/NBMiner.ps1 b/Includes/MinerAPIs/NBMiner.ps1 index d7390130..87bd17ef 100644 --- a/Includes/MinerAPIs/NBMiner.ps1 +++ b/Includes/MinerAPIs/NBMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\NBMiner.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Class NBMiner : Miner { @@ -40,7 +40,7 @@ Class NBMiner : Miner { $HashRate = [PSCustomObject]@{ } $HashRateName = [String]$this.Algorithms[0] $HashRateValue = [Double]$Data.miner.total_hashrate_raw - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $Shares = [PSCustomObject]@{ } $SharesAccepted = [Int64]$Data.stratum.accepted_shares @@ -50,7 +50,8 @@ Class NBMiner : Miner { If ($Data.stratum.dual_mine) { $HashRateName = [String]($this.Algorithms -ne $HashRateName) - $HashRate | Add-Member @{ $HashRateName = [Double]$Data.miner.total_hashrate2_raw } + $HashRateValue = [Double]$Data.miner.total_hashrate2_raw + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $SharesAccepted = [Int64]$Data.stratum.accepted_shares2 $SharesRejected = [Int64]$Data.stratum.rejected_shares2 diff --git a/Includes/MinerAPIs/NanoMiner.ps1 b/Includes/MinerAPIs/NanoMiner.ps1 index ec77de51..456501a1 100644 --- a/Includes/MinerAPIs/NanoMiner.ps1 +++ b/Includes/MinerAPIs/NanoMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\NanoMiner.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Class NanoMiner : Miner { @@ -66,7 +66,7 @@ Class NanoMiner : Miner { ForEach ($Algorithm in $Algorithms) { $HashRateName = $this.Algorithms[$Algorithms.IndexOf($Algorithm)] $HashRateValue = [Double]($Data.Algorithms.$Algorithm.Total.Hashrate | Measure-Object -Sum | Select-Object -ExpandProperty Sum) - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $SharesAccepted = [Int64]($Data.Algorithms.$Algorithm.Total.Accepted | Measure-Object -Sum | Select-Object -ExpandProperty Sum) $SharesRejected = [Int64]($Data.Algorithms.$Algorithm.Total.Denied | Measure-Object -Sum | Select-Object -ExpandProperty Sum) diff --git a/Includes/MinerAPIs/OneZero.ps1 b/Includes/MinerAPIs/OneZero.ps1 index 0defc6d0..80f268c6 100644 --- a/Includes/MinerAPIs/OneZero.ps1 +++ b/Includes/MinerAPIs/OneZero.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\Trex.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Class OneZero : Miner { @@ -40,7 +40,7 @@ Class OneZero : Miner { $HashRate = [PSCustomObject]@{ } $HashRateName = [String]$this.Algorithms[0] $HashRateValue = [Double]$Data.algos[0].total_hashrate - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $Shares = [PSCustomObject]@{ } $SharesAccepted = [Int64]$Data.algos[0].total_accepted_shares diff --git a/Includes/MinerAPIs/Rigel.ps1 b/Includes/MinerAPIs/Rigel.ps1 index f20b8a5c..175818cc 100644 --- a/Includes/MinerAPIs/Rigel.ps1 +++ b/Includes/MinerAPIs/Rigel.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\Rigel.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Class Rigel : Miner { @@ -49,7 +49,7 @@ Class Rigel : Miner { ForEach ($Algorithm in $Algorithms) { $HashRateName = $this.Algorithms[$Algorithms.IndexOf($Algorithm)] $HashRateValue = [Double]$Data.hashrate.$Algorithm - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $SharesAccepted = [Int64]$Data.solution_stat.$Algorithm.accepted $SharesRejected = [Int64]$Data.solution_stat.$Algorithm.rejected diff --git a/Includes/MinerAPIs/SRBMiner.ps1 b/Includes/MinerAPIs/SRBMiner.ps1 index 3ffa8208..a5719fc5 100644 --- a/Includes/MinerAPIs/SRBMiner.ps1 +++ b/Includes/MinerAPIs/SRBMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\SRBminer.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Class SRBMiner : Miner { @@ -42,7 +42,7 @@ Class SRBMiner : Miner { $HashRate = [PSCustomObject]@{ } $HashRateName = [String]$this.Algorithms[0] $HashRateValue = [Double]$Data.algorithms[0].hashrate.$Type.total - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $Shares = [PSCustomObject]@{ } $SharesAccepted = [Int64]$Data.algorithms[0].shares.accepted @@ -53,7 +53,7 @@ Class SRBMiner : Miner { If ($HashRateName = [String]($this.Algorithms -ne $HashRateName)) { $HashRateName = [String]$this.Algorithms[1] $HashRateValue = [Double]$Data.algorithms[1].hashrate.$Type.total - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $SharesAccepted = [Int64]$Data.algorithms[1].shares.accepted $SharesRejected = [Int64]$Data.algorithms[1].shares.rejected diff --git a/Includes/MinerAPIs/TeamBlackMiner.ps1 b/Includes/MinerAPIs/TeamBlackMiner.ps1 index f0b5fc21..61187b14 100644 --- a/Includes/MinerAPIs/TeamBlackMiner.ps1 +++ b/Includes/MinerAPIs/TeamBlackMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\lolMiner.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Class TeamBlackMiner : Miner { @@ -52,7 +52,7 @@ Class TeamBlackMiner : Miner { If ($Data.pool.$_.Algo -eq $Algorithm) { $HashRateName = [String]$Algorithm $HashRateValue = [Double]($Data.pool.$_.total_hashrate) - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $SharesAccepted = [Int64]($Data.pool.$_.total_accepted) $SharesRejected = [Int64]($Data.pool.$_.total_rejected) diff --git a/Includes/MinerAPIs/Trex.ps1 b/Includes/MinerAPIs/Trex.ps1 index 86b85fde..661c4608 100644 --- a/Includes/MinerAPIs/Trex.ps1 +++ b/Includes/MinerAPIs/Trex.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\Trex.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Class Trex : Miner { @@ -41,7 +41,7 @@ Class Trex : Miner { $HashRateName = [String]$this.Algorithms[0] $HashRateValue = [Double]$Data.hashrate_minute If (-not $Data.hashrate_minute) { $HashRateValue = [Double]$Data.hashrate } - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $Shares = [PSCustomObject]@{ } $SharesAccepted = [Int64]$Data.accepted_count @@ -52,7 +52,7 @@ Class Trex : Miner { If ($HashRateName = [String]($this.Algorithms -ne $HashRateName)) { $HashRateValue = [Double]$Data.dual_stat.hashrate_minute If (-not $HashRateValue) { $HashRateValue = [Double]$Data.dual_stat.hashrate } - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $SharesAccepted = [Int64]$Data.dual_stat.accepted_count $SharesRejected = [Int64]$Data.dual_stat.rejected_count diff --git a/Includes/MinerAPIs/Xgminer.ps1 b/Includes/MinerAPIs/Xgminer.ps1 index 40eee734..bb913144 100644 --- a/Includes/MinerAPIs/Xgminer.ps1 +++ b/Includes/MinerAPIs/Xgminer.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\Xgminer.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Class XgMiner : Miner { @@ -60,7 +60,7 @@ Class XgMiner : Miner { ElseIf ($DataSummary.GHS_av) { [Double]$DataSummary.GHS_av * [Math]::Pow(1000, 3) } ElseIf ($DataSummary.THS_av) { [Double]$DataSummary.THS_av * [Math]::Pow(1000, 4) } ElseIf ($DataSummary.PHS_av) { [Double]$DataSummary.PHS_av * [Math]::Pow(1000, 5) } - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $Shares = [PSCustomObject]@{ } $SharesAccepted = [Int64]$DataSummary.accepted @@ -87,7 +87,7 @@ Class XgMiner : Miner { ElseIf ($DataSummary.GHS_av) { [Double]$DataSummary.GHS_av * [Math]::Pow(1000, 3) } ElseIf ($DataSummary.THS_av) { [Double]$DataSummary.THS_av * [Math]::Pow(1000, 4) } ElseIf ($DataSummary.PHS_av) { [Double]$DataSummary.PHS_av * [Math]::Pow(1000, 5) } - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $SharesAccepted = [Int64]$DataSummary.accepted $SharesRejected = [Int64]$DataSummary.rejected diff --git a/Includes/MinerAPIs/XmRig.ps1 b/Includes/MinerAPIs/XmRig.ps1 index 01536473..02d06628 100644 --- a/Includes/MinerAPIs/XmRig.ps1 +++ b/Includes/MinerAPIs/XmRig.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\XmRig.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Class XmRig : Miner { @@ -122,7 +122,7 @@ Class XmRig : Miner { $HashRateValue = [Double]$Data.hashrate.total[0] If (-not $HashRateValue) { $HashRateValue = [Double]$Data.hashrate.total[1] } #fix If (-not $HashRateValue) { $HashRateValue = [Double]$Data.hashrate.total[2] } #fix - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $Shares = [PSCustomObject]@{ } $SharesAccepted = [Int64]$Data.results.shares_good diff --git a/Includes/MinerAPIs/lolMiner.ps1 b/Includes/MinerAPIs/lolMiner.ps1 index ba816b55..44f1892d 100644 --- a/Includes/MinerAPIs/lolMiner.ps1 +++ b/Includes/MinerAPIs/lolMiner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Includes\MinerAPIs\lolMiner.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Class lolMiner : Miner { @@ -53,7 +53,7 @@ Class lolMiner : Miner { Default { $HashRateUnit = [UInt64]1 } } $HashRateValue = [Double]($Data.Algorithms[0].Total_Performance * $HashRateUnit) - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $Shares = [PSCustomObject]@{ } $SharesAccepted = [Int64]$Data.Algorithms[0].Total_Accepted @@ -75,7 +75,7 @@ Class lolMiner : Miner { Default { $HashRateUnit = 1 } } $HashRateValue = [Double]($Data.Algorithms[1].Total_Performance * $HashRateUnit) - $HashRate | Add-Member @{ $HashRateName = [Double]$HashRateValue } + $HashRate | Add-Member @{ $HashRateName = $HashRateValue } $SharesAccepted = [Int64]$Data.Algorithms[1].Total_Accepted $SharesRejected = [Int64]$Data.Algorithms[1].Total_Rejected diff --git a/Miners/BzMiner-v21.4.0.ps1 b/Miners/BzMiner-v21.4.0.ps1 index 5c74a755..2d2ea5db 100644 --- a/Miners/BzMiner-v21.4.0.ps1 +++ b/Miners/BzMiner-v21.4.0.ps1 @@ -17,11 +17,11 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> -If (-not ($Devices = $Variables.EnabledDevices.Where({ "AMD", "INTEL" -contains $_.Type -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.OpenCL.DriverVersion -ge [Version]"460.27.03") }))) { Return } +If (-not ($Devices = $Variables.EnabledDevices.Where({ "AMD", "INTEL" -contains $_.Type -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.OpenCL.DriverVersion -ge [System.Version]"460.27.03") }))) { Return } $URI = "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/BzMiner/bzminer_v21.4.0_windows.zip" $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Miners/CcminerAlexis78-v1.5.2.ps1 b/Miners/CcminerAlexis78-v1.5.2.ps1 index e33490eb..62a5c6cf 100644 --- a/Miners/CcminerAlexis78-v1.5.2.ps1 +++ b/Miners/CcminerAlexis78-v1.5.2.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.1" }))) { Return } diff --git a/Miners/CcminerDyn-v1.0.2.ps1 b/Miners/CcminerDyn-v1.0.2.ps1 index a5be578b..c08b4aba 100644 --- a/Miners/CcminerDyn-v1.0.2.ps1 +++ b/Miners/CcminerDyn-v1.0.2.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } # Cuda error in func 'argon2d_hash_cuda' at line 89 : an illegal instruction was encountered on GTX 750 diff --git a/Miners/CcminerKlausT-v8.25.ps1 b/Miners/CcminerKlausT-v8.25.ps1 index bb9d33a8..fc4cb93f 100644 --- a/Miners/CcminerKlausT-v8.25.ps1 +++ b/Miners/CcminerKlausT-v8.25.ps1 @@ -17,15 +17,15 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -and $_.OpenCL.ComputeCapability -lt "6.0" -and $_.Architecture -ne "Other" }))) { Return } $URI = Switch ($Variables.DriverVersion.CUDA) { - { $_ -ge "10.0" } { "https://github.com/KlausT/ccminer/releases/download/8.25/ccminer-825-cuda100-x64.zip"; Break } - Default { Return } + { $_ -ge [System.Version]"10.0" } { "https://github.com/KlausT/ccminer/releases/download/8.25/ccminer-825-cuda100-x64.zip"; Break } + Default { Return } } $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName $Path = "Bin\$Name\ccminer.exe" diff --git a/Miners/CcminerKlausT-v8.26x2.ps1 b/Miners/CcminerKlausT-v8.26x2.ps1 index 1d390d82..b16a73a5 100644 --- a/Miners/CcminerKlausT-v8.26x2.ps1 +++ b/Miners/CcminerKlausT-v8.26x2.ps1 @@ -17,18 +17,18 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> -If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge [Version]"6.0" }))) { Return } +If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge [System.Version]"6.0" }))) { Return } $URI = Switch ($Variables.DriverVersion.CUDA) { - { $_ -ge "11.8" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/CcminerKlausT/ccminerklaust-826x2-cuda118-x64.7z"; Break } - { $_ -ge "11.7" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/CcminerKlausT/ccminerklaust-826x2-cuda117-x64.7z"; Break } - { $_ -ge "11.6" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/CcminerKlausT/ccminerklaust-826x2-cuda116-x64.7z"; Break } - { $_ -ge "11.5" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/CcminerKlausT/ccminerklaust-826x2-cuda115-x64.7z"; Break } - Default { Return } + { $_ -ge [System.Version]"11.8" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/CcminerKlausT/ccminerklaust-826x2-cuda118-x64.7z"; Break } + { $_ -ge [System.Version]"11.7" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/CcminerKlausT/ccminerklaust-826x2-cuda117-x64.7z"; Break } + { $_ -ge [System.Version]"11.6" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/CcminerKlausT/ccminerklaust-826x2-cuda116-x64.7z"; Break } + { $_ -ge [System.Version]"11.5" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/CcminerKlausT/ccminerklaust-826x2-cuda115-x64.7z"; Break } + Default { Return } } $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName $Path = "Bin\$Name\ccminer.exe" diff --git a/Miners/CcminerLyra2z330-v8.21r9.ps1 b/Miners/CcminerLyra2z330-v8.21r9.ps1 index 3d3bf07c..f0a6b688 100644 --- a/Miners/CcminerLyra2z330-v8.21r9.ps1 +++ b/Miners/CcminerLyra2z330-v8.21r9.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.1" }))) { Return } diff --git a/Miners/CcminerLyraYesscrypt-v8.21r18v5.ps1 b/Miners/CcminerLyraYesscrypt-v8.21r18v5.ps1 index 3e46db07..6c51ce42 100644 --- a/Miners/CcminerLyraYesscrypt-v8.21r18v5.ps1 +++ b/Miners/CcminerLyraYesscrypt-v8.21r18v5.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.1" }))) { Return } diff --git a/Miners/CcminerMemeHash-v2.5.5.9.ps1 b/Miners/CcminerMemeHash-v2.5.5.9.ps1 index 5018d04a..a82be350 100644 --- a/Miners/CcminerMemeHash-v2.5.5.9.ps1 +++ b/Miners/CcminerMemeHash-v2.5.5.9.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } diff --git a/Miners/CcminerNeoscryptXaya-v0.2.ps1 b/Miners/CcminerNeoscryptXaya-v0.2.ps1 index a4cf5a49..f770561e 100644 --- a/Miners/CcminerNeoscryptXaya-v0.2.ps1 +++ b/Miners/CcminerNeoscryptXaya-v0.2.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" -and $_.Architecture -ne "Other" }))) { Return } # Cuda error in func 'neoscrypt_hash_k4' at line 1518 : an illegal instruction was encountered on GTX 750 diff --git a/Miners/CcminerVerusCpu-v3.8.3.ps1 b/Miners/CcminerVerusCpu-v3.8.3.ps1 index d53a0376..0c814740 100644 --- a/Miners/CcminerVerusCpu-v3.8.3.ps1 +++ b/Miners/CcminerVerusCpu-v3.8.3.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($AvailableMinerDevices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } @@ -29,7 +29,7 @@ $Path = "Bin\$Name\ccminer.exe" $DeviceEnumerator = "Type_Vendor_Index" $Algorithms = @( - @{ Algorithm = "VerusHash"; MinerSet = 1; WarmupTimes = @(90, 300); ExcludePools = @("NiceHash"); Arguments = " --algo verus" } # SRBMinerMulti-v2.6.2 is fastest, but has 0.85% miner fee + @{ Algorithm = "VerusHash"; MinerSet = 1; WarmupTimes = @(90, 300); ExcludePools = @("NiceHash"); Arguments = " --algo verus" } # SRBMinerMulti-v2.6.7 is fastest, but has 0.85% miner fee ) $Algorithms = $Algorithms.Where({ $_.MinerSet -le $Config.MinerSet }) diff --git a/Miners/CcminerVerusGpu-v3.8.3.ps1 b/Miners/CcminerVerusGpu-v3.8.3.ps1 index 821aa4a0..9db6c6cc 100644 --- a/Miners/CcminerVerusGpu-v3.8.3.ps1 +++ b/Miners/CcminerVerusGpu-v3.8.3.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "7.5" }))) { Return } diff --git a/Miners/ClaymoreNeoscrypt-v1.2.ps1 b/Miners/ClaymoreNeoscrypt-v1.2.ps1 index e9e6589e..22fdce40 100644 --- a/Miners/ClaymoreNeoscrypt-v1.2.ps1 +++ b/Miners/ClaymoreNeoscrypt-v1.2.ps1 @@ -17,11 +17,11 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> -If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -and $Variables.DriverVersion.CIM.AMD -lt [Version]"26.20.15011.10003" }))) { Return } +If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -and $Variables.DriverVersion.CIM.AMD -lt [System.Version]"26.20.15011.10003" }))) { Return } $URI = "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/ClaymoreNeoscrypt/Claymore-Neoscrypt-v1.2.zip" $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Miners/CpuMiner-v1.4.ps1 b/Miners/CpuMiner-v1.4.ps1 index b79ca10b..2acb57b2 100644 --- a/Miners/CpuMiner-v1.4.ps1 +++ b/Miners/CpuMiner-v1.4.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($AvailableMinerDevices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } diff --git a/Miners/CpuMinerAurum-v3.23.1.ps1 b/Miners/CpuMinerAurum-v3.23.1.ps1 index da2cab06..016c504e 100644 --- a/Miners/CpuMinerAurum-v3.23.1.ps1 +++ b/Miners/CpuMinerAurum-v3.23.1.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($AvailableMinerDevices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } diff --git a/Miners/CryptoDredge-v0.16.0.ps1 b/Miners/CryptoDredge-v0.16.0.ps1 index 43d1dd16..d78f1ac2 100644 --- a/Miners/CryptoDredge-v0.16.0.ps1 +++ b/Miners/CryptoDredge-v0.16.0.ps1 @@ -17,16 +17,16 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } $URI = Switch ($Variables.DriverVersion.CUDA) { - { $_ -ge "10.0" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/CryptoDredge/CryptoDredge_0.16.0_cuda_10.0_windows.zip"; Break } - { $_ -ge "9.2" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/CryptoDredge/CryptoDredge_0.16.0_cuda_9.2_windows.zip"; Break } - Default { Return } + { $_ -ge [System.Version]"10.0" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/CryptoDredge/CryptoDredge_0.16.0_cuda_10.0_windows.zip"; Break } + { $_ -ge [System.Version]"9.2" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/CryptoDredge/CryptoDredge_0.16.0_cuda_9.2_windows.zip"; Break } + Default { Return } } $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName $Path = "Bin\$Name\CryptoDredge.exe" diff --git a/Miners/CryptoDredge-v0.27.0.ps1 b/Miners/CryptoDredge-v0.27.0.ps1 index fe756c60..05321fb0 100644 --- a/Miners/CryptoDredge-v0.27.0.ps1 +++ b/Miners/CryptoDredge-v0.27.0.ps1 @@ -17,15 +17,15 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" -and $_.Architecture -ne "Other" }))) { Return } $URI = Switch ($Variables.DriverVersion.CUDA) { - { $_ -ge "11.4" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/CryptoDredge/CryptoDredge_0.27.0_cuda_11.4_windows.zip"; Break } - Default { Return } + { $_ -ge [System.Version]"11.4" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/CryptoDredge/CryptoDredge_0.27.0_cuda_11.4_windows.zip"; Break } + Default { Return } } $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName $Path = "Bin\$Name\CryptoDredge.exe" diff --git a/Miners/EthMiner-v0.19.0.18.ps1 b/Miners/EthMiner-v0.19.0.18.ps1 index 10d1ade3..edda2ef0 100644 --- a/Miners/EthMiner-v0.19.0.18.ps1 +++ b/Miners/EthMiner-v0.19.0.18.ps1 @@ -17,16 +17,16 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> -If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAVersion -ge [Version]"9.1") }))) { Return } +If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAversion -ge [System.Version]"9.1") }))) { Return } $URI = Switch ($Variables.DriverVersion.CUDA) { - { $_ -ge "11.6" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/EthMiner/ethminer-0.19.0-18-cuda11.6-windows-vs2019-amd64.zip"; Break } - { $_ -ge "10.0" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/EthMiner/ethminer-0.19.0-18-cuda10.0-windows-amd64.zip"; Break } - Default { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/EthMiner/ethminer-0.19.0-18-cuda9.1-windows-amd64.zip" } + { $_ -ge [System.Version]"11.6" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/EthMiner/ethminer-0.19.0-18-cuda11.6-windows-vs2019-amd64.zip"; Break } + { $_ -ge [System.Version]"10.0" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/EthMiner/ethminer-0.19.0-18-cuda10.0-windows-amd64.zip"; Break } + Default { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/EthMiner/ethminer-0.19.0-18-cuda9.1-windows-amd64.zip" } } $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName $Path = "Bin\$Name\ethminer.exe" diff --git a/Miners/EvrProgPow-v1p3p0.ps1 b/Miners/EvrProgPow-v1p3p0.ps1 index 53e3775f..c84449ec 100644 --- a/Miners/EvrProgPow-v1p3p0.ps1 +++ b/Miners/EvrProgPow-v1p3p0.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } diff --git a/Miners/FrkHashMiner-v1.3.14.ps1 b/Miners/FrkHashMiner-v1.3.14.ps1 index dea45a8e..f386819a 100644 --- a/Miners/FrkHashMiner-v1.3.14.ps1 +++ b/Miners/FrkHashMiner-v1.3.14.ps1 @@ -17,11 +17,11 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> -If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAVersion -ge [Version]"9.1" }))) { Return } +If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAversion -ge [System.Version]"9.1" }))) { Return } $URI = "https://github.com/frkhash/frkhashminer/releases/download/v1.3.14/frkminer.zip" $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Miners/GMiner-v2.75.ps1 b/Miners/GMiner-v2.75.ps1 index c4898abc..13de93d6 100644 --- a/Miners/GMiner-v2.75.ps1 +++ b/Miners/GMiner-v2.75.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ ($_.Type -eq "AMD" -and $_.OpenCL.ClVersion -ge "OpenCL C 1.2") -or $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } @@ -57,7 +57,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB # Windows 10 requires more memory on some algos - If ($_.Algorithm -match 'Cuckaroo.*|Cuckoo.*' -and [System.Environment]::OSVersion.Version -ge [Version]"10.0.0.0") { $MinMemGiB += 1 } + If ($_.Algorithm -match 'Cuckaroo.*|Cuckoo.*' -and [System.Environment]::OSVersion.Version -ge [System.Version]"10.0.0.0") { $MinMemGiB += 1 } If ($AvailableMinerDevices = $MinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { $MinerName = "$Name-$($AvailableMinerDevices.Count)x$Model-$($Pool.AlgorithmVariant)" diff --git a/Miners/GMiner-v3.44.ps1 b/Miners/GMiner-v3.44.ps1 index 078485bc..91d6f154 100644 --- a/Miners/GMiner-v3.44.ps1 +++ b/Miners/GMiner-v3.44.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ ($_.Type -eq "AMD" -and $_.OpenCL.ClVersion -ge "OpenCL C 1.2") -or $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } diff --git a/Miners/HellMiner-v0.59.1.ps1 b/Miners/HellMiner-v0.59.1.ps1 index 8ae2a9cc..923d9746 100644 --- a/Miners/HellMiner-v0.59.1.ps1 +++ b/Miners/HellMiner-v0.59.1.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($AvailableMinerDevices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } diff --git a/Miners/JayddeeCpu-v24.5.ps1 b/Miners/JayddeeCpu-v24.5.ps1 index 73f8bebe..edaf42e7 100644 --- a/Miners/JayddeeCpu-v24.5.ps1 +++ b/Miners/JayddeeCpu-v24.5.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($AvailableMinerDevices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } diff --git a/Miners/KawpowMiner-v1.2.4cl.ps1 b/Miners/KawpowMiner-v1.2.4cl.ps1 index fe9d6a60..b3f6ef8b 100644 --- a/Miners/KawpowMiner-v1.2.4cl.ps1 +++ b/Miners/KawpowMiner-v1.2.4cl.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" }))) { Return } diff --git a/Miners/KawpowMiner-v1.2.4cuda.ps1 b/Miners/KawpowMiner-v1.2.4cuda.ps1 index 44ccd9d0..6c7ec023 100644 --- a/Miners/KawpowMiner-v1.2.4cuda.ps1 +++ b/Miners/KawpowMiner-v1.2.4cuda.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } diff --git a/Miners/Kudaraidee-v1.2.0a.ps1 b/Miners/Kudaraidee-v1.2.0a.ps1 index 1e96b542..3a860044 100644 --- a/Miners/Kudaraidee-v1.2.0a.ps1 +++ b/Miners/Kudaraidee-v1.2.0a.ps1 @@ -17,11 +17,11 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> -If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.Type -eq "NVIDIA" -and $_.CUDAVersion -ge [Version]"10.2") }))) { Return } +If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.Type -eq "NVIDIA" -and $_.CUDAversion -ge [System.Version]"10.2") }))) { Return } $URI = "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/Kudaraidee/kudaraidee-v1.2.0a-win64.7z" $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Miners/MeowPowMiner-v2.0.0cl.ps1 b/Miners/MeowPowMiner-v2.0.0cl.ps1 index 42c38fd2..c54d4fd6 100644 --- a/Miners/MeowPowMiner-v2.0.0cl.ps1 +++ b/Miners/MeowPowMiner-v2.0.0cl.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" }))) { Return } diff --git a/Miners/MeowPowMiner-v2.0.0cuda.ps1 b/Miners/MeowPowMiner-v2.0.0cuda.ps1 index 0c8be322..7fdd7efc 100644 --- a/Miners/MeowPowMiner-v2.0.0cuda.ps1 +++ b/Miners/MeowPowMiner-v2.0.0cuda.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } diff --git a/Miners/MiniZ-v2.4d.ps1 b/Miners/MiniZ-v2.4d.ps1 index 097c21c9..74fb1113 100644 --- a/Miners/MiniZ-v2.4d.ps1 +++ b/Miners/MiniZ-v2.4d.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } diff --git a/Miners/NBMiner-v42.3.ps1 b/Miners/NBMiner-v42.3.ps1 index b9526b0b..14732f1c 100644 --- a/Miners/NBMiner-v42.3.ps1 +++ b/Miners/NBMiner-v42.3.ps1 @@ -17,11 +17,11 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> -If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.OpenCL.ComputeCapability -ge "6.0" -and $_.CUDAVersion -ge [Version]"10.0") }))) { Return } +If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.OpenCL.ComputeCapability -ge "6.0" -and $_.CUDAversion -ge [System.Version]"10.0") }))) { Return } $URI = "https://github.com/NebuTech/NBMiner/releases/download/v42.3/NBMiner_42.3_Win.zip" $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName @@ -68,7 +68,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB # Windows 10 requires more memory on some algos - If ([System.Environment]::OSVersion.Version -ge [Version]"10.0.0.0") { $MinMemGiB += $_.AdditionalWin10MemGB } + If ([System.Environment]::OSVersion.Version -ge [System.Version]"10.0.0.0") { $MinMemGiB += $_.AdditionalWin10MemGB } If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { $MinerName = "$Name-$($AvailableMinerDevices.Count)x$Model-$($Pool.AlgorithmVariant)" diff --git a/Miners/NSFMiner-v1.3.14.ps1 b/Miners/NSFMiner-v1.3.14.ps1 index ff97fe40..85523973 100644 --- a/Miners/NSFMiner-v1.3.14.ps1 +++ b/Miners/NSFMiner-v1.3.14.ps1 @@ -17,16 +17,16 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> -If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAVersion -ge [Version]"9.1") }))) { Return } +If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAversion -ge [System.Version]"9.1") }))) { Return } $URI = Switch ($Variables.DriverVersion.CUDA) { - { $_ -ge "11.3" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/NSFMiner/nsfminer_1.3.14-windows_10-cuda_11.3-opencl.zip"; Break } - { $_ -ge "11.2" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/NSFMiner/nsfminer_1.3.13-windows_10-cuda_11.2-opencl.1.zip"; Break } - Default { Return } + { $_ -ge [System.Version]"11.3" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/NSFMiner/nsfminer_1.3.14-windows_10-cuda_11.3-opencl.zip"; Break } + { $_ -ge [System.Version]"11.2" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/NSFMiner/nsfminer_1.3.13-windows_10-cuda_11.2-opencl.1.zip"; Break } + Default { Return } } $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName $Path = "Bin\$Name\nsfminer.exe" diff --git a/Miners/NanoMiner-v3.9.2.ps1 b/Miners/NanoMiner-v3.9.2.ps1 deleted file mode 100644 index 66aa6922..00000000 --- a/Miners/NanoMiner-v3.9.2.ps1 +++ /dev/null @@ -1,166 +0,0 @@ -<# -Copyright (c) 2018-2024 UselessGuru - -UG-Miner is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -UG-Miner is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -#> - -<# -Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 -#> - -If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" -or $_.Type -ne "NVIDIA" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.OpenCL.DriverVersion -ge [Version]"455.23") }))) { Return } - -$URI = "https://github.com/nanopool/nanominer/releases/download/v3.9.2/nanominer-windows-3.9.2.zip" -$Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName -$Path = "Bin\$Name\nanominer.exe" -$DeviceEnumerator = "Slot" - -$Algorithms = @( - @{ Algorithms = @("Autolykos2"); Type = "AMD"; Fee = @(0.025); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 20); ExcludeGPUarchitectures = @(); ExcludePools = @(@("NiceHash"), @()); Arguments = @(" -algo Autolykos") } # NBMiner-v42.3 is fastest -# @{ Algorithms = @("Autolykos2", "HeavyHashKaspa"); Type = "AMD"; Fee = @(0.025, 0.025); MinMemGiB = 1.24; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 10); ExcludeGPUarchitectures = @(); ExcludePools = @(@("NiceHash"), @("NiceHash", "ProHashing", "ZergPool")); Arguments = @(" -algo Autolykos", " -algo Kaspa -protocol JSON-RPC") } # NBMiner-v42.3 is fastest - @{ Algorithms = @("Blake3"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 2; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Alephium") } - @{ Algorithms = @("EtcHash"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Etchash") } # PhoenixMiner-v6.2c is fastest -# @{ Algorithms = @("EtcHash", "HeavyHashKaspa"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGiB = 1.24; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 60); ExcludeGPUarchitectures = @("GCN4"); ExcludePools = @(@(), @("NiceHash", "ProHashing", "ZergPool")); Arguments = @(" -algo Etchash"," -algo Kaspa -protocol JSON-RPC") } # ASIC - @{ Algorithms = @("Ethash"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Ethash") } # PhoenixMiner-v6.2c is fastest -# @{ Algorithms = @("Ethash", "HeavyHashKaspa"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGiB = 1.24; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 60); ExcludeGPUarchitectures = @("GCN4"); ExcludePools = @(@(), @("NiceHash", "ProHashing", "ZergPool")); Arguments = @(" -algo Ethash"," -algo Kaspa -protocol JSON-RPC") } # ASIC - @{ Algorithms = @("EthashB3"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 60); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo EthashB3") } -# @{ Algorithms = @("EthashB3", "HeavyHashKaspa"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGiB = 1.24; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 60); ExcludeGPUarchitectures = @("GCN4"); ExcludePools = @(@(), @("NiceHash", "ProHashing", "ZergPool")); Arguments = @(" -algo EthashB3", " -algo Kaspa -protocol JSON-RPC") } # ASIC - @{ Algorithms = @("EvrProgPow"); Type = "AMD"; Fee = @(0.02); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 60); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Evrprogpow") } - @{ Algorithms = @("FiroPow"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo FiroPow") } - @{ Algorithms = @("FishHash"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Fishhash") } # https://github.com/nanopool/nanominer/issues/427 - @{ Algorithms = @("HeavyHashKarlsen"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 2; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Karlsen") } - @{ Algorithms = @("HeavyHashPyrin"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 2; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Pyrin") } -# @{ Algorithms = @("HeavyHashKaspa"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 2; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@("NiceHash", "ProHashing", "ZergPool"), @()); Arguments = @(" -algo Kaspa -protocol JSON-RPC") } # ASIC - @{ Algorithms = @("KawPow"); Type = "AMD"; Fee = @(0.02); MinMemGiB = 1.08; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@("ProHashing"), @()); Arguments = @(" -algo KawPow") } # TeamRedMiner-v0.10.21 is fastest - @{ Algorithms = @("UbqHash"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Ubqhash") } # PhoenixMiner-v6.2c is fastest - @{ Algorithms = @("VertHash"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 3; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Verthash") } - -# @{ Algorithms = @("Randomx"); Type = "CPU"; Fee = @(0.02); MinerSet = 3; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Randomx") } # ASIC - @{ Algorithms = @("RandomNevo"); Type = "CPU"; Fee = @(0.02); MinerSet = 3; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo RandomNEVO") } - @{ Algorithms = @("VerusHash"); Type = "CPU"; Fee = @(0.02); MinerSet = 3; WarmupTimes = @(69, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Verushash") } - - @{ Algorithms = @("EtcHash"); Type = "INTEL"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Etchash") } -# @{ Algorithms = @("EtcHash", "HeavyHashKaspa"); Type = "INTEL"; Fee = @(0.01, 0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("NiceHash", "ProHashing", "ZergPool")); Arguments = @(" -algo Etchash", " -algo Kaspa -protocol JSON-RPC") } # ASIC - @{ Algorithms = @("Ethash"); Type = "INTEL"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Ethash") } -# @{ Algorithms = @("Ethash", "HeavyHashKaspa"); Type = "INTEL"; Fee = @(0.01, 0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 60); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("NiceHash", "ProHashing", "ZergPool")); Arguments = @(" -algo Ethash", " -algo Kaspa -protocol JSON-RPC") } # ASIC - @{ Algorithms = @("EthashB3"); Type = "INTEL"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo EthashB3") } -# @{ Algorithms = @("EthashB3", "HeavyHashKaspa"); Type = "INTEL"; Fee = @(0.01, 0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 60); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("NiceHash", "ProHashing", "ZergPool")); Arguments = @(" -algo EthashB3", " -algo Kaspa -protocol JSON-RPC") } # ASIC - @{ Algorithms = @("EvrProgPow"); Type = "INTEL"; Fee = @(0.02); MinMemGiB = 1.08; MinerSet = 2; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Evrprogpow") } - @{ Algorithms = @("FishHash"); Type = "INTEL"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 1; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Fishhash") } - @{ Algorithms = @("HeavyHashKarlsen"); Type = "INTEL"; Fee = @(0.01); MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Karlsen") } -# @{ Algorithms = @("HeavyHashKaspa"); Type = "INTEL"; Fee = @(0.01); MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@("NiceHash", "ProHashing", "ZergPool"), @()); Arguments = @(" -algo Kaspa -protocol JSON-RPC") } # ASIC - @{ Algorithms = @("KawPow"); Type = "INTEL"; Fee = @(0.02); MinMemGiB = 1.08; MinerSet = 2; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@("ProHashing"), @()); Arguments = @(" -algo KawPow") } # Trex-v0.26.8 is fastest - @{ Algorithms = @("Octopus"); Type = "INTEL"; Fee = @(0.02); MinMemGiB = 1.08; MinerSet = 2; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Octopus") } # NBMiner-v42.3 is faster - @{ Algorithms = @("UbqHash"); Type = "INTEL"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; WarmupTimes = @(75, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Ubqhash") } - - @{ Algorithms = @("Autolykos2"); Type = "NVIDIA"; Fee = @(0.025); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@("NiceHash"), @()); Arguments = @(" -algo Autolykos") } # Trex-v0.26.8 is fastest @{ Algorithms = @("Autolykos2", "HeavyHashKaspa"); Type = "NVIDIA"; Fee = @(0.025, 0.025); MinMemGiB = 1.24; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludePools = @(@("NiceHash"), @("NiceHash", "ProHashing", "ZergPool")); ExcludeGPUarchitectures = @(); Arguments = @(" -algo Autolykos", " -algo Kaspa -protocol JSON-RPC") } # ASIC - @{ Algorithms = @("Blake3"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 2; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" -algo Alephium") } - @{ Algorithms = @("EtcHash"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Etchash") } # PhoenixMiner-v6.2c is fastest -# @{ Algorithms = @("EtcHash", "HeavyHashKaspa"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGiB = 1.24; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 60); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("NiceHash", "ProHashing", "ZergPool")); Arguments = @(" -algo Etchash", " -algo Kaspa -protocol JSON-RPC") } # ASIC - @{ Algorithms = @("Ethash"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" -algo Ethash") } # PhoenixMiner-v6.2c is fastest -# @{ Algorithms = @("Ethash", "HeavyHashKaspa"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGiB = 1.24; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 60); ExcludeGPUarchitectures = @("Other"); ExcludePools = @(@(), @("NiceHash", "ProHashing", "ZergPool")); Arguments = @(" -algo Ethash", " -algo Kaspa -protocol JSON-RPC") } # ASIC - @{ Algorithms = @("EthashB3"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" -algo EthashB3") } -# @{ Algorithms = @("EthashB3", "HeavyHashKaspa"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGiB = 1.24; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 60); ExcludeGPUarchitectures = @("Other"); ExcludePools = @(@(), @("NiceHash", "ProHashing", "ZergPool")); Arguments = @(" -algo EthashB3", " -algo Kaspa -protocol JSON-RPC") } # ASIC - @{ Algorithms = @("EvrProgPow"); Type = "NVIDIA"; Fee = @(0.02); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Evrprogpow") } - @{ Algorithms = @("FiroPow"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 0; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo FiroPow") } - @{ Algorithms = @("FishHash"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Fishhash") } - @{ Algorithms = @("HeavyHashKarlsen"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 2; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Karlsen") } - @{ Algorithms = @("HeavyHashPyrin"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 2; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Pyrin") } -# @{ Algorithms = @("HeavyHashKaspa"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 2; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@("NiceHash", "ProHashing", "ZergPool"), @()); Arguments = @(" -algo Kaspa -protocol JSON-RPC") } # ASIC - @{ Algorithms = @("KawPow"); Type = "NVIDIA"; Fee = @(0.02); MinMemGiB = 1.08; MinerSet = 0; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@("ProHashing"), @()); Arguments = @(" -algo KawPow") } # Trex-v0.26.8 is fastest - @{ Algorithms = @("Octopus"); Type = "NVIDIA"; Fee = @(0.02); MinMemGiB = 1.08; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Octopus") } # NBMiner-v42.3 is faster - @{ Algorithms = @("UbqHash"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Ubqhash") } # PhoenixMiner-v6.2c is fastest -) - -$Algorithms = $Algorithms.Where({ $_.MinerSet -le $Config.MinerSet }) -$Algorithms.Where({ -not $_.Algorithms[1] }).ForEach({ $_.Algorithms += "" }) -$Algorithms = $Algorithms.Where({ $MinerPools[0][$_.Algorithms[0]] -and $_.Algorithms[1] -eq "" -or $MinerPools[1][$_.Algorithms[1]] }) -$Algorithms = $Algorithms.Where({ $Config.SSL -ne "Always" -or ($MinerPools[0][$_.Algorithms[0]].SSLselfSignedCertificate -ne $true -and (-not $_.Algorithms[1] -or $MinerPools[1][$_.Algorithms[1]].SSLselfSignedCertificate -eq $false)) }) - -If ($Algorithms) { - - ($Devices | Select-Object Type, Model -Unique).ForEach( - { - $Model = $_.Model - $MinerDevices = $Devices.Where({ $_.Type -eq $Type -and $_.Model -eq $Model }) - $MinerAPIPort = $Config.APIPort + ($MinerDevices.Id | Sort-Object -Top 1) + 1 - - $Algorithms.Where({ $_.Type -eq $Type }).ForEach( - { - $ExcludeGPUarchitectures = $_.ExcludeGPUarchitectures - If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Type -eq "CPU" -or $ExcludeGPUarchitectures -notcontains $_.Architecture })) { - - If ($_.Algorithm -eq "VertHash" -and (Get-Item -Path $Variables.VerthashDatPath -ErrorAction Ignore).length -ne 1283457024) { - $PrerequisitePath = $Variables.VerthashDatPath - $PrerequisiteURI = "https://github.com/UselessGuru/UG-Miner-Extras/releases/download/VertHashDataFile/VertHash.dat" - } - Else { - $PrerequisitePath = "" - $PrerequisiteURI = "" - } - - $ExcludePools = $_.ExcludePools - ForEach ($Pool0 in $MinerPools[0][$_.Algorithms[0]].Where({ $ExcludePools[0] -notcontains $_.Name[0] -and ($Config.SSL -ne "Always" -or $_.SSLselfSignedCertificate -ne $true) }) | Select-Object -Last $(If ($Config.BenchmarkAllPoolAlgorithmCombinations) { $MinerPools[0][$_.Algorithms[0]].Count } Else { 1 })) { - ForEach ($Pool1 in $MinerPools[1][$_.Algorithms[1]].Where({ $ExcludePools[1] -notcontains $_.Name[1] -and ($Config.SSL -ne "Always" -or $_.SSLselfSignedCertificate -ne $true) }) | Select-Object -Last $(If ($Config.BenchmarkAllPoolAlgorithmCombinations) { $MinerPools[1][$_.Algorithms[1]].Count } Else { 1 })) { - $Pools = @(($Pool0, $Pool1).Where({ $_ })) - - $MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB - If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.Type -eq "CPU" -or $_.MemoryGiB -ge $MinMemGiB })) { - - $MinerName = "$Name-$($AvailableMinerDevices.Count)x$Model-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })" - - $Arguments = "" - ForEach ($Pool in $Pools) { - $Arguments += "$($_.Arguments[$Pools.IndexOf($Pool)])" - $Arguments += If ($Pool.PoolPorts[1] -and $Pool.SSLselfSignedCertificate -ne $true) { " -pool1 $($Pool.Host):$($Pool.PoolPorts[1])" } Else { " -pool1 $($Pool.Host):$($Pool.PoolPorts[0]) -useSSL false" } - $Arguments += " -wallet $($Pool.User -replace '\..+')" - $Arguments += " -rigName $($Pool.User)$(If ($Pool.WorkerName -and $Pool.User -notmatch "\.$($Pool.WorkerName)$") { $Pool.WorkerName })" - $Arguments += " -rigPassword $($Pool.Pass)" - $Arguments += " -devices $(($AvailableMinerDevices | Sort-Object Name -Unique).ForEach({ '{0:x}' -f $_.$DeviceEnumerator }) -join ',')" - } - Remove-Variable Pool - - $Arguments += " -mport 0 -webPort $MinerAPIPort -checkForUpdates false -noLog true -watchdog false" - - # Apply tuning parameters - If ($Variables.ApplyMinerTweaks) { $Arguments += $_.Tuning } - - [PSCustomObject]@{ - API = "NanoMiner" - Arguments = $Arguments - DeviceNames = $AvailableMinerDevices.Name - Fee = $_.Fee # Dev fee - MinerSet = $_.MinerSet - MinerUri = "http://127.0.0.1:$($MinerAPIPort)/#/" - Name = $MinerName - Path = $Path - Port = $MinerAPIPort - PrerequisitePath = $PrerequisitePath - PrerequisiteURI = $PrerequisiteURI - Type = $_.Type - URI = $URI - WarmupTimes = $_.WarmupTimes # First value: Seconds until miner must send first sample, if no sample is received miner will be marked as failed; Second value: Seconds from first sample until miner sends stable hashrates that will count for benchmarking - Workers = @($Pools.ForEach({ @{ Pool = $_ } })) - } - } - } - } - } - } - ) - } - ) -} \ No newline at end of file diff --git a/Miners/NanoMiner-v3.9.3.ps1 b/Miners/NanoMiner-v3.9.3.ps1 new file mode 100644 index 00000000..564a5f0c --- /dev/null +++ b/Miners/NanoMiner-v3.9.3.ps1 @@ -0,0 +1,152 @@ +<# +Copyright (c) 2018-2024 UselessGuru + +UG-Miner is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +UG-Miner is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +#> + +<# +Product: UG-Miner +Version: 6.3.7 +Version date: 2024/10/05 +#> + +If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" -or $_.Type -ne "NVIDIA" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.OpenCL.DriverVersion -ge [System.Version]"455.23") }))) { Return } + +$URI = "https://github.com/nanopool/nanominer/releases/download/v3.9.3/nanominer-windows-3.9.3.zip" +$Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName +$Path = "Bin\$Name\nanominer.exe" +$DeviceEnumerator = "Slot" + +$Algorithms = @( + @{ Algorithms = @("Autolykos2"); Type = "AMD"; Fee = @(0.025); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 20); ExcludeGPUarchitectures = @(); ExcludePools = @(@("NiceHash"), @()); Arguments = @(" -algo Autolykos") } # NBMiner-v42.3 is fastest + @{ Algorithms = @("Blake3"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 2; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Alephium") } + @{ Algorithms = @("EtcHash"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Etchash") } # PhoenixMiner-v6.2c is fastest + @{ Algorithms = @("Ethash"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Ethash") } # PhoenixMiner-v6.2c is fastest + @{ Algorithms = @("EthashB3"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 60); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo EthashB3") } + @{ Algorithms = @("EvrProgPow"); Type = "AMD"; Fee = @(0.02); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 60); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Evrprogpow") } + @{ Algorithms = @("FiroPow"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo FiroPow") } + @{ Algorithms = @("FishHash"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Fishhash") } + @{ Algorithms = @("HeavyHashKarlsenV2"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 2; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Karlsen") } + @{ Algorithms = @("KawPow"); Type = "AMD"; Fee = @(0.02); MinMemGiB = 1.08; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@("ProHashing"), @()); Arguments = @(" -algo KawPow") } # TeamRedMiner-v0.10.21 is fastest + @{ Algorithms = @("UbqHash"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Ubqhash") } # PhoenixMiner-v6.2c is fastest + @{ Algorithms = @("VertHash"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 3; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100 -memTweak 2"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Verthash") } + +# @{ Algorithms = @("Randomx"); Type = "CPU"; Fee = @(0.02); MinerSet = 3; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Randomx") } # ASIC + @{ Algorithms = @("RandomNevo"); Type = "CPU"; Fee = @(0.02); MinerSet = 3; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo RandomNEVO") } + @{ Algorithms = @("VerusHash"); Type = "CPU"; Fee = @(0.02); MinerSet = 3; WarmupTimes = @(69, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Verushash") } + + @{ Algorithms = @("EtcHash"); Type = "INTEL"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Etchash") } + @{ Algorithms = @("Ethash"); Type = "INTEL"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Ethash") } + @{ Algorithms = @("EthashB3"); Type = "INTEL"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo EthashB3") } + @{ Algorithms = @("EvrProgPow"); Type = "INTEL"; Fee = @(0.02); MinMemGiB = 1.08; MinerSet = 2; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Evrprogpow") } + @{ Algorithms = @("FishHash"); Type = "INTEL"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 1; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Fishhash") } + @{ Algorithms = @("HeavyHashKarlsenV2"); Type = "INTEL"; Fee = @(0.01); MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Karlsen") } + @{ Algorithms = @("KawPow"); Type = "INTEL"; Fee = @(0.02); MinMemGiB = 1.08; MinerSet = 2; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@("ProHashing"), @()); Arguments = @(" -algo KawPow") } # Trex-v0.26.8 is fastest + @{ Algorithms = @("Octopus"); Type = "INTEL"; Fee = @(0.02); MinMemGiB = 1.08; MinerSet = 2; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Octopus") } # NBMiner-v42.3 is faster + @{ Algorithms = @("UbqHash"); Type = "INTEL"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; WarmupTimes = @(75, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Ubqhash") } + + @{ Algorithms = @("Autolykos2"); Type = "NVIDIA"; Fee = @(0.025); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@("NiceHash"), @()); Arguments = @(" -algo Autolykos") } # Trex-v0.26.8 is fastest + @{ Algorithms = @("Blake3"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 2; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" -algo Alephium") } + @{ Algorithms = @("EtcHash"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Etchash") } # PhoenixMiner-v6.2c is fastest + @{ Algorithms = @("Ethash"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" -algo Ethash") } # PhoenixMiner-v6.2c is fastest + @{ Algorithms = @("EthashB3"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" -algo EthashB3") } + @{ Algorithms = @("EvrProgPow"); Type = "NVIDIA"; Fee = @(0.02); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Evrprogpow") } + @{ Algorithms = @("FiroPow"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 0; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo FiroPow") } + @{ Algorithms = @("FishHash"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Fishhash") } + @{ Algorithms = @("HeavyHashKarlsenV2"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 2; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Karlsen") } + @{ Algorithms = @("KawPow"); Type = "NVIDIA"; Fee = @(0.02); MinMemGiB = 1.08; MinerSet = 0; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@("ProHashing"), @()); Arguments = @(" -algo KawPow") } # Trex-v0.26.8 is fastest + @{ Algorithms = @("Octopus"); Type = "NVIDIA"; Fee = @(0.02); MinMemGiB = 1.08; MinerSet = 2; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Octopus") } # NBMiner-v42.3 is faster + @{ Algorithms = @("UbqHash"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.08; MinerSet = 1; Tuning = " -coreClocks +20 -memClocks +100"; WarmupTimes = @(45, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = @(" -algo Ubqhash") } # PhoenixMiner-v6.2c is fastest +) + +$Algorithms = $Algorithms.Where({ $_.MinerSet -le $Config.MinerSet }) +$Algorithms.Where({ -not $_.Algorithms[1] }).ForEach({ $_.Algorithms += "" }) +$Algorithms = $Algorithms.Where({ $MinerPools[0][$_.Algorithms[0]] -and $_.Algorithms[1] -eq "" -or $MinerPools[1][$_.Algorithms[1]] }) +$Algorithms = $Algorithms.Where({ $Config.SSL -ne "Always" -or ($MinerPools[0][$_.Algorithms[0]].SSLselfSignedCertificate -ne $true -and (-not $_.Algorithms[1] -or $MinerPools[1][$_.Algorithms[1]].SSLselfSignedCertificate -eq $false)) }) + +If ($Algorithms) { + + ($Devices | Select-Object Type, Model -Unique).ForEach( + { + $Model = $_.Model + $Type = $_.Type + $MinerDevices = $Devices.Where({ $_.Type -eq $Type -and $_.Model -eq $Model }) + $MinerAPIPort = $Config.APIPort + ($MinerDevices.Id | Sort-Object -Top 1) + 1 + + $Algorithms.Where({ $_.Type -eq $Type }).ForEach( + { + $ExcludeGPUarchitectures = $_.ExcludeGPUarchitectures + If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Type -eq "CPU" -or $ExcludeGPUarchitectures -notcontains $_.Architecture })) { + + If ($_.Algorithm -eq "VertHash" -and (Get-Item -Path $Variables.VerthashDatPath -ErrorAction Ignore).length -ne 1283457024) { + $PrerequisitePath = $Variables.VerthashDatPath + $PrerequisiteURI = "https://github.com/UselessGuru/UG-Miner-Extras/releases/download/VertHashDataFile/VertHash.dat" + } + Else { + $PrerequisitePath = "" + $PrerequisiteURI = "" + } + + $ExcludePools = $_.ExcludePools + ForEach ($Pool0 in $MinerPools[0][$_.Algorithms[0]].Where({ $ExcludePools[0] -notcontains $_.Name -and ($Config.SSL -ne "Always" -or $_.SSLselfSignedCertificate -ne $true) }) | Select-Object -Last $(If ($Config.BenchmarkAllPoolAlgorithmCombinations) { $MinerPools[0][$_.Algorithms[0]].Count } Else { 1 })) { + ForEach ($Pool1 in $MinerPools[1][$_.Algorithms[1]].Where({ $ExcludePools[1] -notcontains $_.Name -and ($Config.SSL -ne "Always" -or $_.SSLselfSignedCertificate -ne $true) }) | Select-Object -Last $(If ($Config.BenchmarkAllPoolAlgorithmCombinations) { $MinerPools[1][$_.Algorithms[1]].Count } Else { 1 })) { + $Pools = @(($Pool0, $Pool1).Where({ $_ })) + + $MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB + If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.Type -eq "CPU" -or $_.MemoryGiB -ge $MinMemGiB })) { + + $MinerName = "$Name-$($AvailableMinerDevices.Count)x$Model-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })" + + $Arguments = "" + ForEach ($Pool in $Pools) { + $Arguments += "$($_.Arguments[$Pools.IndexOf($Pool)])" + $Arguments += If ($Pool.PoolPorts[1] -and $Pool.SSLselfSignedCertificate -ne $true) { " -pool1 $($Pool.Host):$($Pool.PoolPorts[1])" } Else { " -pool1 $($Pool.Host):$($Pool.PoolPorts[0]) -useSSL false" } + $Arguments += " -wallet $($Pool.User -replace '\..+')" + $Arguments += " -rigName $($Pool.User)$(If ($Pool.WorkerName -and $Pool.User -notmatch "\.$($Pool.WorkerName)$") { $Pool.WorkerName })" + $Arguments += " -rigPassword $($Pool.Pass)" + $Arguments += " -devices $(($AvailableMinerDevices | Sort-Object Name -Unique).ForEach({ '{0:x}' -f $_.$DeviceEnumerator }) -join ',')" + } + Remove-Variable Pool + + $Arguments += " -mport 0 -webPort $MinerAPIPort -checkForUpdates false -noLog true -watchdog false" + + # Apply tuning parameters + If ($Variables.ApplyMinerTweaks) { $Arguments += $_.Tuning } + + [PSCustomObject]@{ + API = "NanoMiner" + Arguments = $Arguments + DeviceNames = $AvailableMinerDevices.Name + Fee = $_.Fee # Dev fee + MinerSet = $_.MinerSet + MinerUri = "http://127.0.0.1:$($MinerAPIPort)/#/" + Name = $MinerName + Path = $Path + Port = $MinerAPIPort + PrerequisitePath = $PrerequisitePath + PrerequisiteURI = $PrerequisiteURI + Type = $_.Type + URI = $URI + WarmupTimes = $_.WarmupTimes # First value: Seconds until miner must send first sample, if no sample is received miner will be marked as failed; Second value: Seconds from first sample until miner sends stable hashrates that will count for benchmarking + Workers = @($Pools.ForEach({ @{ Pool = $_ } })) + } + } + } + } + } + } + ) + } + ) +} \ No newline at end of file diff --git a/Miners/Ninjarig-1.0.3.ps1 b/Miners/Ninjarig-1.0.3.ps1 index a14c0553..aa2da95b 100644 --- a/Miners/Ninjarig-1.0.3.ps1 +++ b/Miners/Ninjarig-1.0.3.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } diff --git a/Miners/NosuchCpu-v3.8.8.1.ps1 b/Miners/NosuchCpu-v3.8.8.1.ps1 index d844b113..4d712996 100644 --- a/Miners/NosuchCpu-v3.8.8.1.ps1 +++ b/Miners/NosuchCpu-v3.8.8.1.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($AvailableMinerDevices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } diff --git a/Miners/OneZeroMiner-v1.3.7.ps1 b/Miners/OneZeroMiner-v1.3.7.ps1 index d6eecd3d..60f629b1 100644 --- a/Miners/OneZeroMiner-v1.3.7.ps1 +++ b/Miners/OneZeroMiner-v1.3.7.ps1 @@ -17,11 +17,11 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> -If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "NVIDIA" -and $_.OpenCL.DriverVersion -ge [Version]"450.80.02" }))) { Return } +If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "NVIDIA" -and $_.OpenCL.DriverVersion -ge [System.Version]"450.80.02" }))) { Return } $URI = "https://github.com/OneZeroMiner/onezerominer/releases/download/v1.3.7/onezerominer-win64-1.3.7.zip" $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Miners/PhoenixMiner-v6.2c.ps1 b/Miners/PhoenixMiner-v6.2c.ps1 index f8bb67e6..6b047754 100644 --- a/Miners/PhoenixMiner-v6.2c.ps1 +++ b/Miners/PhoenixMiner-v6.2c.ps1 @@ -18,7 +18,7 @@ along with this program. If not, see . <# Product: UG-Miner Version: 6.3.7 -Version date: 2024/10/01 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } @@ -99,7 +99,7 @@ If ($Algorithms) { If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { If ($_.Type -eq "AMD" -and $_.Algorithms[1]) { If ($Pool0.DAGSizeGiB -ge 4) { Return } # AMD: doesn't support Blake2s dual mining with DAG larger 4GB - $AvailableMinerDevices = $AvailableMinerDevices.Where({ [Version]$_.CIM.DriverVersion -le [Version]"27.20.22023.1004" }) # doesn't support Blake2s dual mining on drivers newer than 21.8.1 (27.20.22023.1004) + $AvailableMinerDevices = $AvailableMinerDevices.Where({ [System.Version]$_.CIM.DriverVersion -le [System.Version]"27.20.22023.1004" }) # doesn't support Blake2s dual mining on drivers newer than 21.8.1 (27.20.22023.1004) } If ($AvailableMinerDevices) { diff --git a/Miners/Radiator-v1.0.0.ps1 b/Miners/Radiator-v1.0.0.ps1 index 0e6b1d2c..c9ce67b6 100644 --- a/Miners/Radiator-v1.0.0.ps1 +++ b/Miners/Radiator-v1.0.0.ps1 @@ -17,16 +17,16 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } $URI = Switch ($Variables.DriverVersion.CUDA) { - { $_ -ge "11.6" } { "https://github.com/xiaolin1579/radiator/releases/download/v1.0.0/Radiator1.0.0_cuda11.6_Win64.zip"; Break } - { $_ -ge "11.2" } { "https://github.com/xiaolin1579/radiator/releases/download/v1.0.0/Radiator1.0.0_cuda11.2_Win64.zip"; Break } - Default { Return } + { $_ -ge [System.Version]"11.6" } { "https://github.com/xiaolin1579/radiator/releases/download/v1.0.0/Radiator1.0.0_cuda11.6_Win64.zip"; Break } + { $_ -ge [System.Version]"11.2" } { "https://github.com/xiaolin1579/radiator/releases/download/v1.0.0/Radiator1.0.0_cuda11.2_Win64.zip"; Break } + Default { Return } } $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName $Path = "Bin\$Name\ccminer.exe" diff --git a/Miners/Raptor3umCpu-v2.0.ps1 b/Miners/Raptor3umCpu-v2.0.ps1 index 8d433331..b16b492a 100644 --- a/Miners/Raptor3umCpu-v2.0.ps1 +++ b/Miners/Raptor3umCpu-v2.0.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($AvailableMinerDevices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } diff --git a/Miners/Rigel-v1.19.1.ps1 b/Miners/Rigel-v1.19.1.ps1 index 8edaf83e..5fae5e44 100644 --- a/Miners/Rigel-v1.19.1.ps1 +++ b/Miners/Rigel-v1.19.1.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> # Return diff --git a/Miners/RplantCpu-v5.0.41.ps1 b/Miners/RplantCpu-v5.0.41.ps1 index 8cd0e63d..76b45faf 100644 --- a/Miners/RplantCpu-v5.0.41.ps1 +++ b/Miners/RplantCpu-v5.0.41.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($AvailableMinerDevices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } diff --git a/Miners/RrkzCpu-v4.2.ps1 b/Miners/RrkzCpu-v4.2.ps1 index 8154d426..d363813e 100644 --- a/Miners/RrkzCpu-v4.2.ps1 +++ b/Miners/RrkzCpu-v4.2.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($AvailableMinerDevices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return } diff --git a/Miners/SCCminer-v1.1.0.ps1 b/Miners/SCCminer-v1.1.0.ps1 index 872de2c7..24e98d5e 100644 --- a/Miners/SCCminer-v1.1.0.ps1 +++ b/Miners/SCCminer-v1.1.0.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Return # Bad shares @@ -26,8 +26,8 @@ Return # Bad shares If (-not ($Devices = $Variables.EnabledDevices.Where({ ($_.Type -eq "NVIDIA" -and $_.OpenCL.ComputeCapability -gt "5.0") -or "AMD", "NVIDIA" -contains $_.Type }))) { Return } $URI = Switch ($Variables.DriverVersion.CUDA) { - { $_ -ge "11.0" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/SCCminer/sccminer-1.1.0-Windows.zip" } - Default { Return } + { $_ -ge [System.Version]"11.0" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/SCCminer/sccminer-1.1.0-Windows.zip" } + Default { Return } } $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName $Path = "Bin\$Name\sccminer.exe" diff --git a/Miners/SRBMinerMulti-v0.9.4.ps1 b/Miners/SRBMinerMulti-v0.9.4.ps1 index 95f969ca..bf364b2d 100644 --- a/Miners/SRBMinerMulti-v0.9.4.ps1 +++ b/Miners/SRBMinerMulti-v0.9.4.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> # Support for Pitcairn, Tahiti, Hawaii, Fiji and Tonga was removed in later versions diff --git a/Miners/SRBMinerMulti-v2.6.6.ps1 b/Miners/SRBMinerMulti-v2.6.7.ps1 similarity index 99% rename from Miners/SRBMinerMulti-v2.6.6.ps1 rename to Miners/SRBMinerMulti-v2.6.7.ps1 index 0c2a72d4..cb0deaf8 100644 --- a/Miners/SRBMinerMulti-v2.6.6.ps1 +++ b/Miners/SRBMinerMulti-v2.6.7.ps1 @@ -17,13 +17,13 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" -or $_.Type -eq "INTEL" -or ($_.Type -eq "AMD" -and $_.Model -notmatch "^GCN[1-3]" -and $_.OpenCL.ClVersion -ge "OpenCL C 2.0") -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.OpenCL.DriverVersion -ge "510.00") }))) { Return } -$URI = "https://github.com/doktor83/SRBMiner-Multi/releases/download/2.6.6/SRBMiner-Multi-2-6-6-win64.zip" +$URI = "https://github.com/doktor83/SRBMiner-Multi/releases/download/2.6.7/SRBMiner-Multi-2-6-7-win64.zip" $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName $Path = "Bin\$Name\SRBMiner-MULTI.exe" $DeviceEnumerator = "Type_Vendor_Slot" diff --git a/Miners/SgMinerFancyIX-v0.9.4.ps1 b/Miners/SgMinerFancyIX-v0.9.4.ps1 index 42abfb19..69009935 100644 --- a/Miners/SgMinerFancyIX-v0.9.4.ps1 +++ b/Miners/SgMinerFancyIX-v0.9.4.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" }))) { Return } diff --git a/Miners/Suprminer-v2.31v2.ps1 b/Miners/Suprminer-v2.31v2.ps1 index 6d5e637f..0f98d48c 100644 --- a/Miners/Suprminer-v2.31v2.ps1 +++ b/Miners/Suprminer-v2.31v2.ps1 @@ -17,15 +17,15 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } $URI = Switch ($Variables.DriverVersion.CUDA) { - { $_ -ge "11.1" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/SuprMiner/suprminer-winx86_64_cuda11_1_v2.zip" } - Default { Return } + { $_ -ge [System.Version]"11.1" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/SuprMiner/suprminer-winx86_64_cuda11_1_v2.zip" } + Default { Return } } $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName $Path = "Bin\$Name\suprminer.exe" diff --git a/Miners/TTMiner-v2024.3.2.ps1 b/Miners/TTMiner-v2024.3.2.ps1 index 7ff950a7..60534124 100644 --- a/Miners/TTMiner-v2024.3.2.ps1 +++ b/Miners/TTMiner-v2024.3.2.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> # TT needs avx2 and aes https://github.com/TrailingStop/TT-Miner-beta/issues/7#issuecomment-2158058291 @@ -26,8 +26,8 @@ If (($Variables.CPUfeatures -match "^AES$|^AVX2$").count -ne 2) { Return } If (-not ($Devices = $Variables.EnabledDevices.Where({ ($_.Type -eq "NVIDIA" -and $_.OpenCL.ComputeCapability -gt "5.0") -or "AMD", "NVIDIA" -contains $_.Type }))) { Return } $URI = Switch ($Variables.DriverVersion.CUDA) { - { $_ -ge "11.0" } { "https://github.com/TrailingStop/TT-Miner-release/releases/download/2024.3.2/TT-Miner-2024.3.2.zip" } - Default { Return } + { $_ -ge [System.Version]"11.0" } { "https://github.com/TrailingStop/TT-Miner-release/releases/download/2024.3.2/TT-Miner-2024.3.2.zip" } + Default { Return } } $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName $Path = "Bin\$Name\TT-Miner.exe" diff --git a/Miners/TTMiner-v5.0.3.ps1 b/Miners/TTMiner-v5.0.3.ps1 index 07c9448d..8bb4e83e 100644 --- a/Miners/TTMiner-v5.0.3.ps1 +++ b/Miners/TTMiner-v5.0.3.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } diff --git a/Miners/TeamBlackMiner-v2.25.ps1 b/Miners/TeamBlackMiner-v2.25.ps1 index 0e014e9f..6718e747 100644 --- a/Miners/TeamBlackMiner-v2.25.ps1 +++ b/Miners/TeamBlackMiner-v2.25.ps1 @@ -17,11 +17,11 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> -If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.CUDAVersion -ge [Version]"11.6" -and $_.CUDAVersion -lt [Version]"12.6" }))) { Return } +If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.CUDAversion -ge [System.Version]"11.6" -and $_.CUDAversion -lt [System.Version]"12.6" }))) { Return } $URI = "https://github.com/sp-hash/TeamBlackMiner/releases/download/v2.25/TeamBlackMiner_2_25_cuda_12_2.7z" $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Miners/TeamBlackMiner-v2.26.ps1 b/Miners/TeamBlackMiner-v2.27.ps1 similarity index 61% rename from Miners/TeamBlackMiner-v2.26.ps1 rename to Miners/TeamBlackMiner-v2.27.ps1 index 11cac875..e6b86972 100644 --- a/Miners/TeamBlackMiner-v2.26.ps1 +++ b/Miners/TeamBlackMiner-v2.27.ps1 @@ -17,13 +17,13 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> -If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAVersion -ge [Version]"12.6") }))) { Return } +If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAversion -ge [System.Version]"12.6") }))) { Return } -$URI = "https://github.com/sp-hash/TeamBlackMiner/releases/download/v2.26/TeamBlackMiner_2_26_cuda_12_6.7z" +$URI = "https://github.com/sp-hash/TeamBlackMiner/releases/download/v2.27/TeamBlackMiner_2_27_cuda_12_6.7z" $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName $Path = "Bin\$Name\TBMiner.exe" @@ -31,57 +31,57 @@ $DeviceSelector = @{ AMD = " --cl-devices"; NVIDIA = " --cuda-devices" } $DeviceEnumerator = "Vendor_ID" $Algorithms = @( - @{ Algorithms = @("EtcHash"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(45, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etchash" } - @{ Algorithms = @("EtcHash", "EthashB3"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(120, 45); ExcludeGPUarchitectures = @("RDNA1", "RDNA2"); ExcludePools = @(@(), @()); Arguments = " --algo etc+ethb3" } - @{ Algorithms = @("EtcHash", "EvrProgPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+evr" } - @{ Algorithms = @("EtcHash", "FiroPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+firo" } - @{ Algorithms = @("EtcHash", "KawPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("HashCryptos", "MiningDutch")); Arguments = " --algo etc+rvn" } - @{ Algorithms = @("EtcHash", "MeowPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+meow" } - @{ Algorithms = @("EtcHash", "VertHash"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(120, 60); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } # 120 Seconds; https://github.com/sp-hash/TeamBlackMiner/issues/450 - @{ Algorithms = @("Ethash"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(45, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethash" } - @{ Algorithms = @("Ethash", "EthashB3"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(120, 15); ExcludeGPUarchitectures = @("RDNA1", "RDNA2"); ExcludePools = @(@(), @()); Arguments = " --algo eth+ethb3" } - @{ Algorithms = @("Ethash", "EvrProgPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+evr" } - @{ Algorithms = @("Ethash", "FiroPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+firo" } - @{ Algorithms = @("Ethash", "KawPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("HashCryptos", "MiningDutch")); Arguments = " --algo eth+rvn" } - @{ Algorithms = @("Ethash", "MeowPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+meow" } - @{ Algorithms = @("Ethash", "VertHash"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(120, 60); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } # 120 Secs; https://github.com/sp-hash/TeamBlackMiner/issues/450 - @{ Algorithms = @("EthashB3"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(45, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethashb3" } - @{ Algorithms = @("EthashB3", "FiroPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(90, 30); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethb3+firo" } - @{ Algorithms = @("EthashB3", "EvrProgPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(90, 30); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethb3+evr" } - @{ Algorithms = @("EthashB3", "KawPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("HashCryptos", "MiningDutch")); Arguments = " --algo ethb3+rvn" } - @{ Algorithms = @("EthashB3", "MeowPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethb3+meow" } - @{ Algorithms = @("EthashB3", "VertHash"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(120, 30); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethb3+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } # 120 Seconds; https://github.com/sp-hash/TeamBlackMiner/issues/450 - @{ Algorithms = @("EvrProgPow"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo evrprogpow" } - @{ Algorithms = @("FiroPow"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo firopow" } - @{ Algorithms = @("KawPow"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@("HashCryptos", "MiningDutch"), @()); Arguments = " --algo kawpow" } - @{ Algorithms = @("MeowPow"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo meowpow" } - @{ Algorithms = @("VertHash"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 3.0; MinerSet = 1; Tuning = ""; WarmupTimes = @(30, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo verthash --verthash-data ..\.$($Variables.VerthashDatPath)" } + @{ Algorithms = @("EtcHash"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(20, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etchash" } + @{ Algorithms = @("EtcHash", "EthashB3"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(20, 45); ExcludeGPUarchitectures = @("RDNA1", "RDNA2"); ExcludePools = @(@(), @()); Arguments = " --algo etc+ethb3" } + @{ Algorithms = @("EtcHash", "EvrProgPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(20, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+evr" } + @{ Algorithms = @("EtcHash", "FiroPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(20, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+firo" } + @{ Algorithms = @("EtcHash", "KawPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(20, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("HashCryptos", "MiningDutch")); Arguments = " --algo etc+rvn" } + @{ Algorithms = @("EtcHash", "MeowPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(20, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+meow" } + @{ Algorithms = @("EtcHash", "VertHash"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(20, 60); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } # 120 Seconds; https://github.com/sp-hash/TeamBlackMiner/issues/450 + @{ Algorithms = @("Ethash"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(30, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethash" } + @{ Algorithms = @("Ethash", "EthashB3"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(30, 15); ExcludeGPUarchitectures = @("RDNA1", "RDNA2"); ExcludePools = @(@(), @()); Arguments = " --algo eth+ethb3" } + @{ Algorithms = @("Ethash", "EvrProgPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(30, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+evr" } + @{ Algorithms = @("Ethash", "FiroPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(30, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+firo" } + @{ Algorithms = @("Ethash", "KawPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(30, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("HashCryptos", "MiningDutch")); Arguments = " --algo eth+rvn" } + @{ Algorithms = @("Ethash", "MeowPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(30, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+meow" } + @{ Algorithms = @("Ethash", "VertHash"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(20, 60); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } # 120 Secs; https://github.com/sp-hash/TeamBlackMiner/issues/450 + @{ Algorithms = @("EthashB3"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(20, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethashb3" } + @{ Algorithms = @("EthashB3", "FiroPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(20, 30); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethb3+firo" } + @{ Algorithms = @("EthashB3", "EvrProgPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(20, 30); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethb3+evr" } + @{ Algorithms = @("EthashB3", "KawPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(20, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("HashCryptos", "MiningDutch")); Arguments = " --algo ethb3+rvn" } + @{ Algorithms = @("EthashB3", "MeowPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(20, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethb3+meow" } + @{ Algorithms = @("EthashB3", "VertHash"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(20, 30); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethb3+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } # 120 Seconds; https://github.com/sp-hash/TeamBlackMiner/issues/450 + @{ Algorithms = @("EvrProgPow"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(20, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo evrprogpow" } + @{ Algorithms = @("FiroPow"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(20, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo firopow" } + @{ Algorithms = @("KawPow"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = ""; WarmupTimes = @(20, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@("HashCryptos", "MiningDutch"), @()); Arguments = " --algo kawpow" } + @{ Algorithms = @("MeowPow"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = ""; WarmupTimes = @(20, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo meowpow" } + @{ Algorithms = @("VertHash"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 3.0; MinerSet = 1; Tuning = ""; WarmupTimes = @(30, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo verthash --verthash-data ..\.$($Variables.VerthashDatPath)" } - @{ Algorithms = @("EtcHash"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(45, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etchash" } - @{ Algorithms = @("EtcHash", "EthashB3"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+ethb3" } - @{ Algorithms = @("EtcHash", "EvrProgPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+evr" } - @{ Algorithms = @("EtcHash", "FiroPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+firo" } - @{ Algorithms = @("EtcHash", "KawPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("HashCryptos", "MiningDutch")); Arguments = " --algo etc+rvn" } - @{ Algorithms = @("EtcHash", "MeowPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+meow" } - @{ Algorithms = @("EtcHash", "VertHash"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(120, 60); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } - @{ Algorithms = @("Ethash"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(45, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethash" } - @{ Algorithms = @("Ethash", "EthashB3"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+ethb3" } - @{ Algorithms = @("Ethash", "EvrProgPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("HashCryptos")); Arguments = " --algo eth+evr" } - @{ Algorithms = @("Ethash", "FiroPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+firo" } - @{ Algorithms = @("Ethash", "KawPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 20); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("HashCryptos", "MiningDutch")); Arguments = " --algo eth+rvn" } - @{ Algorithms = @("Ethash", "MeowPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 20); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+meow" } - @{ Algorithms = @("Ethash", "VertHash"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.70; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(120, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } - @{ Algorithms = @("EthashB3"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 60); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethashb3" } - @{ Algorithms = @("EthashB3", "EvrProgPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethb3+evr" } - @{ Algorithms = @("EthashB3", "FiroPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethb3+firo" } - @{ Algorithms = @("EthashB3", "KawPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("HashCryptos", "MiningDutch")); Arguments = " --algo ethb3+rvn" } - @{ Algorithms = @("EthashB3", "MeowPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethb3+meow" } - @{ Algorithms = @("EthashB3", "VertHash"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.70; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(120, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethb3+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } - @{ Algorithms = @("EvrProgPow"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo evrprogpow" } - @{ Algorithms = @("FiroPow"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 30); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo firopow" } - @{ Algorithms = @("KawPow"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(45, 30); ExcludeGPUarchitectures = @(); ExcludePools = @(@("HashCryptos", "MiningDutch"), @()); Arguments = " --algo kawpow" } - @{ Algorithms = @("MeowPow"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(45, 30); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo meowpow" } - @{ Algorithms = @("VertHash"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 3.0; MinerSet = 0; Tuning = " --tweak 2"; WarmupTimes = @(30, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo verthash --verthash-data ..\.$($Variables.VerthashDatPath)" } + @{ Algorithms = @("EtcHash"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(45, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etchash" } + @{ Algorithms = @("EtcHash", "EthashB3"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(20, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+ethb3" } + @{ Algorithms = @("EtcHash", "EvrProgPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(20, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+evr" } + @{ Algorithms = @("EtcHash", "FiroPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(20, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+firo" } + @{ Algorithms = @("EtcHash", "KawPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(20, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("HashCryptos", "MiningDutch")); Arguments = " --algo etc+rvn" } + @{ Algorithms = @("EtcHash", "MeowPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(20, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+meow" } + @{ Algorithms = @("EtcHash", "VertHash"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(20, 60); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } + @{ Algorithms = @("Ethash"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(20, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethash" } + @{ Algorithms = @("Ethash", "EthashB3"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(30, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+ethb3" } + @{ Algorithms = @("Ethash", "EvrProgPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(30, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("HashCryptos")); Arguments = " --algo eth+evr" } + @{ Algorithms = @("Ethash", "FiroPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(30, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+firo" } + @{ Algorithms = @("Ethash", "KawPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(30, 20); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("HashCryptos", "MiningDutch")); Arguments = " --algo eth+rvn" } + @{ Algorithms = @("Ethash", "MeowPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(30, 20); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+meow" } + @{ Algorithms = @("Ethash", "VertHash"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.70; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(30, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } + @{ Algorithms = @("EthashB3"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(20, 60); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethashb3" } + @{ Algorithms = @("EthashB3", "EvrProgPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(20, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethb3+evr" } + @{ Algorithms = @("EthashB3", "FiroPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(20, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethb3+firo" } + @{ Algorithms = @("EthashB3", "KawPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(20, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @("HashCryptos", "MiningDutch")); Arguments = " --algo ethb3+rvn" } + @{ Algorithms = @("EthashB3", "MeowPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(20, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethb3+meow" } + @{ Algorithms = @("EthashB3", "VertHash"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.70; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(20, 45); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethb3+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } + @{ Algorithms = @("EvrProgPow"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(20, 15); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo evrprogpow" } + @{ Algorithms = @("FiroPow"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(20, 30); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo firopow" } + @{ Algorithms = @("KawPow"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(45, 30); ExcludeGPUarchitectures = @(); ExcludePools = @(@("HashCryptos", "MiningDutch"), @()); Arguments = " --algo kawpow" } + @{ Algorithms = @("MeowPow"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(45, 30); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo meowpow" } + @{ Algorithms = @("VertHash"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 3.0; MinerSet = 0; Tuning = " --tweak 2"; WarmupTimes = @(30, 0); ExcludeGPUarchitectures = @(); ExcludePools = @(@(), @()); Arguments = " --algo verthash --verthash-data ..\.$($Variables.VerthashDatPath)" } ) $Algorithms = $Algorithms.Where({ $_.MinerSet -le $Config.MinerSet }) diff --git a/Miners/TeamRedMiner-v0.10.21.ps1 b/Miners/TeamRedMiner-v0.10.21.ps1 index 9022bc0c..e8f6270a 100644 --- a/Miners/TeamRedMiner-v0.10.21.ps1 +++ b/Miners/TeamRedMiner-v0.10.21.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -and $_.OpenCL.ClVersion -ge "OpenCL C 2.0" }))) { Return } diff --git a/Miners/TeleMerakiMiner-v1.5.0.ps1 b/Miners/TeleMerakiMiner-v1.5.0.ps1 index 4a883b61..056eb9ce 100644 --- a/Miners/TeleMerakiMiner-v1.5.0.ps1 +++ b/Miners/TeleMerakiMiner-v1.5.0.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } diff --git a/Miners/Trex-v0.26.8.ps1 b/Miners/Trex-v0.26.8.ps1 index 021e1a47..8c78df25 100644 --- a/Miners/Trex-v0.26.8.ps1 +++ b/Miners/Trex-v0.26.8.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } diff --git a/Miners/Wildrig-v0.40.8.ps1 b/Miners/Wildrig-v0.40.8.ps1 index e0c7cc5b..0f6f74a8 100644 --- a/Miners/Wildrig-v0.40.8.ps1 +++ b/Miners/Wildrig-v0.40.8.ps1 @@ -17,11 +17,11 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> -If (-not ($Devices = $Variables.EnabledDevices.Where({ ($_.Type -eq "AMD" -and $_.OpenCL.ClVersion -ge "OpenCL C 1.2" -and $_.Architecture -notmatch "^GCN1$") -or $_.Type -eq "INTEL" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.OpenCL.DriverVersion -ge [Version]"452.39.00") }))) { Return } +If (-not ($Devices = $Variables.EnabledDevices.Where({ ($_.Type -eq "AMD" -and $_.OpenCL.ClVersion -ge "OpenCL C 1.2" -and $_.Architecture -notmatch "^GCN1$") -or $_.Type -eq "INTEL" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.OpenCL.DriverVersion -ge [System.Version]"452.39.00") }))) { Return } $URI = "https://github.com/andru-kun/wildrig-multi/releases/download/0.40.8/wildrig-multi-windows-0.40.8.zip" $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName diff --git a/Miners/XLArig-v5.2.4.ps1 b/Miners/XLArig-v5.2.4.ps1 index a67b8c27..a38c72bc 100644 --- a/Miners/XLArig-v5.2.4.ps1 +++ b/Miners/XLArig-v5.2.4.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> # https://github.com/scala-network/XLArig/issues/59; Need to remove temp fix in \Includes\MinerAPIs\XMrig.psm1 when resolved diff --git a/Miners/XmRig-v6.22.0.3.ps1 b/Miners/XmRig-v6.22.0.3.ps1 index 7d669d70..c672d807 100644 --- a/Miners/XmRig-v6.22.0.3.ps1 +++ b/Miners/XmRig-v6.22.0.3.ps1 @@ -17,34 +17,34 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ "AMD", "CPU", "INTEL" -contains $_.Type -or $_.OpenCL.ComputeCapability -gt "5.0" }))) { Return } $URI = Switch ($Variables.DriverVersion.CUDA) { - { $_ -ge "12.4" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda12_4-win64.zip"; Break } - { $_ -ge "12.3" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda12_3-win64.zip"; Break } - { $_ -ge "12.2" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda12_2-win64.zip"; Break } - { $_ -ge "12.1" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda12_1-win64.zip"; Break } - { $_ -ge "12.0" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda12_0-win64.zip"; Break } - { $_ -ge "11.8" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_8-win64.zip"; Break } - { $_ -ge "11.7" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_7-win64.zip"; Break } - { $_ -ge "11.6" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_6-win64.zip"; Break } - { $_ -ge "11.5" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_5-win64.zip"; Break } - { $_ -ge "11.4" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_4-win64.zip"; Break } - { $_ -ge "11.3" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_3-win64.zip"; Break } - { $_ -ge "11.2" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_2-win64.zip"; Break } - { $_ -ge "11.1" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_1-win64.zip"; Break } - { $_ -ge "11.0" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_0-win64.zip"; Break } - { $_ -ge "10.2" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda10_2-win64.zip"; Break } - { $_ -ge "10.1" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda10_1-win64.zip"; Break } - { $_ -ge "10.0" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda10_0-win64.zip"; Break } - { $_ -ge "9.2" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda9_2-win64.zip"; Break } - { $_ -ge "9.1" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda9_1-win64.zip"; Break } - { $_ -ge "9.0" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda9_0-win64.zip"; Break } - Default { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda8_0-win64.zip"; Break } + { $_ -ge [System.Version]"12.4" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda12_4-win64.zip"; Break } + { $_ -ge [System.Version]"12.3" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda12_3-win64.zip"; Break } + { $_ -ge [System.Version]"12.2" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda12_2-win64.zip"; Break } + { $_ -ge [System.Version]"12.1" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda12_1-win64.zip"; Break } + { $_ -ge [System.Version]"12.0" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda12_0-win64.zip"; Break } + { $_ -ge [System.Version]"11.8" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_8-win64.zip"; Break } + { $_ -ge [System.Version]"11.7" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_7-win64.zip"; Break } + { $_ -ge [System.Version]"11.6" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_6-win64.zip"; Break } + { $_ -ge [System.Version]"11.5" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_5-win64.zip"; Break } + { $_ -ge [System.Version]"11.4" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_4-win64.zip"; Break } + { $_ -ge [System.Version]"11.3" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_3-win64.zip"; Break } + { $_ -ge [System.Version]"11.2" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_2-win64.zip"; Break } + { $_ -ge [System.Version]"11.1" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_1-win64.zip"; Break } + { $_ -ge [System.Version]"11.0" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda11_0-win64.zip"; Break } + { $_ -ge [System.Version]"10.2" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda10_2-win64.zip"; Break } + { $_ -ge [System.Version]"10.1" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda10_1-win64.zip"; Break } + { $_ -ge [System.Version]"10.0" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda10_0-win64.zip"; Break } + { $_ -ge [System.Version]"9.2" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda9_2-win64.zip"; Break } + { $_ -ge [System.Version]"9.1" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda9_1-win64.zip"; Break } + { $_ -ge [System.Version]"9.0" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda9_0-win64.zip"; Break } + Default { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/XMrig/xmrig-6.22.0.3fix-cuda8_0-win64.zip"; Break } } $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName $Path = "Bin\$Name\xmrig.exe" diff --git a/Miners/XmrStak-v2.10.8.ps1 b/Miners/XmrStak-v2.10.8.ps1 index 06571361..95c840fe 100644 --- a/Miners/XmrStak-v2.10.8.ps1 +++ b/Miners/XmrStak-v2.10.8.ps1 @@ -17,8 +17,8 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -ne "NVIDIA" -or $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } diff --git a/Miners/ZealotEnemy-v2.6.3.ps1 b/Miners/ZealotEnemy-v2.6.3.ps1 index 363c84b6..b118af73 100644 --- a/Miners/ZealotEnemy-v2.6.3.ps1 +++ b/Miners/ZealotEnemy-v2.6.3.ps1 @@ -17,15 +17,15 @@ along with this program. If not, see . <# Product: UG-Miner -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } $URI = Switch ($Variables.DriverVersion.CUDA) { - { $_ -ge "11.1" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/Z-Enemy/z-enemy-2.6.3-win-cuda11.1.zip"; Break } - Default { Return } + { $_ -ge [System.Version]"11.1" } { "https://github.com/UselessGuru/UG-Miner-Binaries/releases/download/Z-Enemy/z-enemy-2.6.3-win-cuda11.1.zip"; Break } + Default { Return } } $Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName $Path = "Bin\$Name\z-enemy.exe" diff --git a/Miners/lolMiner-v1.91.ps1 b/Miners/lolMiner-v1.91.ps1 index eb8fe8e9..e5bef9bf 100644 --- a/Miners/lolMiner-v1.91.ps1 +++ b/Miners/lolMiner-v1.91.ps1 @@ -18,7 +18,7 @@ along with this program. If not, see . <# Product: UG-Miner Version: 6.3.7 -Version date: 2024/10/01 +Version date: 2024/10/05 #> If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "INTEL" -or ($_.Type -eq "AMD" -and $_.Architecture -match "GCN4|RDNA[1|2|3]") -or $_.OpenCL.ComputeCapability -ge "6.0" }))) { Return } @@ -160,7 +160,7 @@ If ($Algorithms) { $MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB # Windows 10 requires more memory on some algos - If ($_.Algorithms[0] -match '^Cuckaroo.*$|^Cuckoo.*$' -and ([System.Environment]::OSVersion.Version -ge [Version]"10.0.0.0")) { $MinMemGiB += 1 } + If ($_.Algorithms[0] -match '^Cuckaroo.*$|^Cuckoo.*$' -and ([System.Environment]::OSVersion.Version -ge [System.Version]"10.0.0.0")) { $MinMemGiB += 1 } If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) { $MinerName = "$Name-$($AvailableMinerDevices.Count)x$Model-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })$(If ($_.MaxDualImpact -gt 0) { "-MaxDualImpact$($_.MaxDualImpact)" })" diff --git a/Pools/HashCryptos.ps1 b/Pools/HashCryptos.ps1 index 1f3eb3e4..8b8ed389 100644 --- a/Pools/HashCryptos.ps1 +++ b/Pools/HashCryptos.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Pools\HashCryptos.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Param( @@ -60,7 +60,7 @@ If ($DivisorMultiplier -and $PriceField) { ForEach ($Algorithm in $Request.PSObject.Properties.Name.Where({ $Request.$_.Updated -ge $Variables.PoolDataCollectedTimeStamp })) { $AlgorithmNorm = Get-Algorithm $Algorithm $Currency = "$($Request.$Algorithm.currency)" -replace ' \s+' - $Divisor = $DivisorMultiplier * [Double]$Request.$Algorithm.mbtc_mh_factor + $Divisor = [Double]$Request.$Algorithm.mbtc_mh_factor * $DivisorMultiplier # Add coin name If ($Request.$Algorithm.CoinName -and $Currency) { diff --git a/Pools/HiveON.ps1 b/Pools/HiveON.ps1 index b3a844b9..8703540c 100644 --- a/Pools/HiveON.ps1 +++ b/Pools/HiveON.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Pools\Hiveon.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Param( @@ -93,7 +93,7 @@ ForEach ($Pool in $Request.cryptoCurrencies.Where({ $_.name -ne "ETH" })) { User = If ($PoolConfig.Wallets.$Currency) { [String]$PoolConfig.Wallets.$Currency } Else { "" } Variant = $PoolVariant WorkerName = $PoolConfig.WorkerName - Workers = [UInt]$Request.stats."$($Pool.name)".workers + Workers = [UInt]$Request.stats.$($Pool.name).workers } } } diff --git a/Pools/MiningDutch.ps1 b/Pools/MiningDutch.ps1 index 8ed6f812..ccea40f6 100644 --- a/Pools/MiningDutch.ps1 +++ b/Pools/MiningDutch.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Pools\MiningDutch.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Param( @@ -59,7 +59,7 @@ If ($DivisorMultiplier -and $PriceField) { ForEach ($Algorithm in $Request.PSObject.Properties.Name.Where({ $Request.$_.Updated -ge $Variables.PoolDataCollectedTimeStamp })) { $AlgorithmNorm = Get-Algorithm $Algorithm $Currency = "$($Request.$Algorithm.currency)" -replace ' \s+' - $Divisor = $DivisorMultiplier * [Double]$Request.$Algorithm.mbtc_mh_factor + $Divisor = [Double]$Request.$Algorithm.mbtc_mh_factor * $DivisorMultiplier # Add coin name If ($Request.$Algorithm.CoinName -and $Currency) { diff --git a/Pools/MiningPoolHub.ps1 b/Pools/MiningPoolHub.ps1 index 41d9ae63..c5685179 100644 --- a/Pools/MiningPoolHub.ps1 +++ b/Pools/MiningPoolHub.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Pools\MiningPoolHub.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Param( diff --git a/Pools/NiceHash.ps1 b/Pools/NiceHash.ps1 index ffc78c42..05e02800 100644 --- a/Pools/NiceHash.ps1 +++ b/Pools/NiceHash.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Pools\NiceHash.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Param( diff --git a/Pools/ProHashing.ps1 b/Pools/ProHashing.ps1 index 5f8f27b7..4703559f 100644 --- a/Pools/ProHashing.ps1 +++ b/Pools/ProHashing.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Pools\ProHashing.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Param( @@ -61,7 +61,7 @@ If ($DivisorMultiplier -and $PriceField) { $Algorithm = $Request.$_.name $AlgorithmNorm = Get-Algorithm $Algorithm $Currency = [String]$Request.$_.currency - $Divisor = $DivisorMultiplier * [Double]$Request.$_.mbtc_mh_factor + $Divisor = [Double]$Request.$_.mbtc_mh_factor * $DivisorMultiplier $Fee = If ($Currency) { $Request.$_."$($PoolConfig.MiningMode)_fee" } Else { $Request.$_."pps_fee" } $Pass = "a=$($Algorithm.ToLower()),n=$($PoolConfig.WorkerName)$(If ($Config.ProHashingMiningMode -eq "PPLNS" -and $Request.$_.CoinName) { ",c=$($Request.$_.CoinName.ToLower()),m=pplns" })" diff --git a/Pools/ZPool.ps1 b/Pools/ZPool.ps1 index 362da6cd..e9029fb3 100644 --- a/Pools/ZPool.ps1 +++ b/Pools/ZPool.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Pools\ZPool.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Param( @@ -58,7 +58,7 @@ If ($PriceField) { ForEach ($Algorithm in $Request.PSObject.Properties.Name.Where({ $Request.$_.Updated -ge $Variables.PoolDataCollectedTimeStamp })) { $AlgorithmNorm = Get-Algorithm $Algorithm $Currency = [String]$Request.$Algorithm.currency - $Divisor = $DivisorMultiplier * [Double]$Request.$Algorithm.mbtc_mh_factor + $Divisor = [Double]$Request.$Algorithm.mbtc_mh_factor * $DivisorMultiplier $PayoutCurrency = If ($Currency -and $PoolConfig.Wallets.$Currency -and -not $PoolConfig.ProfitSwitching) { $Currency } Else { $PoolConfig.PayoutCurrency } $Reasons = [System.Collections.Generic.List[String]]@() diff --git a/Pools/ZergPool.ps1 b/Pools/ZergPool.ps1 index 1b64a243..2f8a9ff4 100644 --- a/Pools/ZergPool.ps1 +++ b/Pools/ZergPool.ps1 @@ -19,8 +19,8 @@ along with this program. If not, see . <# Product: UG-Miner File: \Pools\ZergPool.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> Param( @@ -62,7 +62,7 @@ If ($DivisorMultiplier -and $Regions) { $Algorithm = $Request.$Pool.algo $AlgorithmNorm = Get-Algorithm $Algorithm $Currency = [String]$Request.$Pool.Currency - $Divisor = $DivisorMultiplier * [Double]$Request.$Pool.mbtc_mh_factor + $Divisor = [Double]$Request.$Pool.mbtc_mh_factor * $DivisorMultiplier $PayoutCurrency = If ($Currency -and $PoolConfig.Wallets.$Pool -and -not $PoolConfig.ProfitSwitching) { $Currency } Else { $PoolConfig.PayoutCurrency } $PayoutThreshold = $PoolConfig.PayoutThreshold.$PayoutCurrency diff --git a/README.md b/README.md index eb2d3863..adeef74f 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ UG-Miner monitors mining pools in real-time in order to find the most profitable algorithm and runs the most profitable miner. -Updated 2024/10/01 +Updated 2024/10/05 Copyright (c) 2018-2024 UselessGuru diff --git a/UG-Miner.ps1 b/UG-Miner.ps1 index c98d9bb1..9acb5ec3 100644 --- a/UG-Miner.ps1 +++ b/UG-Miner.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: UG-Miner.ps1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> using module .\Includes\Include.psm1 @@ -301,7 +301,7 @@ $Variables.Branding = [PSCustomObject]@{ BrandName = "UG-Miner" BrandWebSite = "https://github.com/UselessGuru/UG-Miner" ProductLabel = "UG-Miner" - Version = [System.Version]"6.3.6" + Version = [System.Version]"6.3.7" } $WscriptShell = New-Object -ComObject Wscript.Shell @@ -397,7 +397,7 @@ Write-Host "" #Prerequisites check Write-Message -Level Verbose "Verifying pre-requisites..." -If ([System.Environment]::OSVersion.Version -lt [Version]"10.0.0.0") { +If ([System.Environment]::OSVersion.Version -lt [System.Version]"10.0.0.0") { Write-Message -Level Error "$($Variables.Branding.ProductLabel) requires at least Windows 10." $WscriptShell.Popup("$($Variables.Branding.ProductLabel) requires at least Windows 10.", 0, "Terminating error - Cannot continue!", 4112) | Out-Null Exit @@ -511,23 +511,19 @@ $Variables.Devices.Where({ $Config.ExcludeDeviceName -contains $_.Name -and $_.S # Build driver version table $Variables.DriverVersion = [PSCustomObject]@{ } +If ($Variables.Devices.CUDAversion) { $Variables.DriverVersion | Add-Member "CUDA" ($Variables.Devices.CUDAversion | Sort-Object -Top 1) } $Variables.DriverVersion | Add-Member "CIM" ([PSCustomObject]@{ }) -$Variables.DriverVersion.CIM | Add-Member "CPU" ([Version](($Variables.Devices.Where({ $_.Type -eq "CPU" }).CIM.DriverVersion | Select-Object -First 1) -split " " | Select-Object -First 1)) -$Variables.DriverVersion.CIM | Add-Member "AMD" ([Version](($Variables.Devices.Where({ $_.Type -eq "GPU" -and $_.Vendor -eq "AMD" }).CIM.DriverVersion | Select-Object -First 1) -split " " | Select-Object -First 1)) -$Variables.DriverVersion.CIM | Add-Member "NVIDIA" ([Version](($Variables.Devices.Where({ $_.Type -eq "GPU" -and $_.Vendor -eq "NVIDIA" }).CIM.DriverVersion | Select-Object -First 1) -split " " | Select-Object -First 1)) +$Variables.DriverVersion.CIM | Add-Member "CPU" ([System.Version](($Variables.Devices.Where({ $_.Type -eq "CPU" }).CIM.DriverVersion | Select-Object -First 1) -split " " | Select-Object -First 1)) +$Variables.DriverVersion.CIM | Add-Member "AMD" ([System.Version](($Variables.Devices.Where({ $_.Type -eq "GPU" -and $_.Vendor -eq "AMD" }).CIM.DriverVersion | Select-Object -First 1) -split " " | Select-Object -First 1)) +$Variables.DriverVersion.CIM | Add-Member "NVIDIA" ([System.Version](($Variables.Devices.Where({ $_.Type -eq "GPU" -and $_.Vendor -eq "NVIDIA" }).CIM.DriverVersion | Select-Object -First 1) -split " " | Select-Object -First 1)) $Variables.DriverVersion | Add-Member "OpenCL" ([PSCustomObject]@{ }) -$Variables.DriverVersion.OpenCL | Add-Member "CPU" ([Version](($Variables.Devices.Where({ $_.Type -eq "CPU" }).OpenCL.DriverVersion | Select-Object -First 1) -split " " | Select-Object -First 1)) -$Variables.DriverVersion.OpenCL | Add-Member "AMD" ([Version](($Variables.Devices.Where({ $_.Type -eq "GPU" -and $_.Vendor -eq "AMD" }).OpenCL.DriverVersion | Select-Object -First 1) -split " " | Select-Object -First 1)) -$Variables.DriverVersion.OpenCL | Add-Member "NVIDIA" ([Version](($Variables.Devices.Where({ $_.Type -eq "GPU" -and $_.Vendor -eq "NVIDIA" }).OpenCL.DriverVersion | Select-Object -First 1) -split " " | Select-Object -First 1)) - -If ($Variables.DriverVersion.OpenCL.NVIDIA) { - $Variables.DriverVersion | Add-Member "CUDA" ([Version]($Variables.CUDAVersionTable.($Variables.CUDAVersionTable.Keys.Where({ $_ -le ([System.Version]$Variables.DriverVersion.OpenCL.NVIDIA).Major }) | Sort-Object -Bottom 1))) - $Variables.Devices.Where({ $_.Type -eq "GPU" -and $_.Vendor -eq "NVIDIA" }).ForEach({ $_.CUDAVersion = [Version]$Variables.DriverVersion.CUDA }) -} +$Variables.DriverVersion.OpenCL | Add-Member "CPU" ([System.Version](($Variables.Devices.Where({ $_.Type -eq "CPU" }).OpenCL.DriverVersion | Select-Object -First 1) -split " " | Select-Object -First 1)) +$Variables.DriverVersion.OpenCL | Add-Member "AMD" ([System.Version](($Variables.Devices.Where({ $_.Type -eq "GPU" -and $_.Vendor -eq "AMD" }).OpenCL.DriverVersion | Select-Object -First 1) -split " " | Select-Object -First 1)) +$Variables.DriverVersion.OpenCL | Add-Member "NVIDIA" ([System.Version](($Variables.Devices.Where({ $_.Type -eq "GPU" -and $_.Vendor -eq "NVIDIA" }).OpenCL.DriverVersion | Select-Object -First 1) -split " " | Select-Object -First 1)) # Driver version changed If (([System.IO.File]::ReadAllLines("$PWD\Cache\DriverVersion.json") | ConvertFrom-Json | ConvertTo-Json -Compress) -ne ($Variables.DriverVersion | ConvertTo-Json -Compress)) { - If (Test-Path -LiteralPath ".\Cache\DriverVersion.json" -PathType Leaf) { Write-Message -Level Warn "Graphis card driver version data changed. It is recommended to re-benchmark all miners." } + If (Test-Path -LiteralPath ".\Cache\DriverVersion.json" -PathType Leaf) { Write-Message -Level Warn "Graphics card driver version data has changed. It is recommended to re-benchmark all miners." } $Variables.DriverVersion | ConvertTo-Json | Out-File -LiteralPath ".\Cache\DriverVersion.json" -Force } @@ -548,6 +544,9 @@ Remove-Variable VertHashDatCheckJob # Start API server If ($Config.WebGUI) { Start-APIServer } +# Set process priority to BelowNormal to avoid hashrate drops on systems with weak CPUs +(Get-Process -Id $PID).PriorityClass = "BelowNormal" + Function MainLoop { # If something (pause button, idle timer, WebGUI/config) has set the RestartCycle flag, stop and start mining to switch modes immediately @@ -568,9 +567,6 @@ Function MainLoop { If ($Config.Proxy -eq "") { $PSDefaultParameterValues.Remove("*:Proxy") } Else { $PSDefaultParameterValues["*:Proxy"] = $Config.Proxy } - # Set process priority to BelowNormal to avoid hashrate drops on systems with weak CPUs - (Get-Process -Id $PID).PriorityClass = "BelowNormal" - Switch ($Variables.NewMiningStatus) { "Idle" { If ($Variables.MiningStatus) { @@ -639,61 +635,6 @@ Function MainLoop { If ($LegacyGUIform) { Update-GUIstatus } } - If ($Config.BalancesTrackerPollInterval -gt 0 -and $Variables.NewMiningStatus -ne "Idle") { Start-BalancesTracker } - ElseIf ($Variables.NewMiningStatus -ne "Idle" -and $Variables.RatesUpdated -lt [DateTime]::Now.ToUniversalTime().AddMinutes( - 15)) { - # Update rates every 15 minutes - [Void](Get-Rate) - } - - If ($Variables.MiningStatus -eq "Running") { - If ($Config.IdleDetection) { - If ([Math]::Round([PInvoke.Win32.UserInput]::IdleTime.TotalSeconds) -gt $Config.IdleSec) { - # System was idle long enough, start mining - If ($Global:CoreRunspace.Job.IsCompleted -eq $true) { - $Variables.Summary = "System was idle for $($Config.IdleSec) second$(If ($Config.IdleSec -ne 1) { "s" }).
Resuming mining." - Write-Message -Level Verbose ($Variables.Summary -replace "
", " ") - If ($LegacyGUIform) { Update-GUIstatus } - } - Start-Core - } - ElseIf ($Global:CoreRunspace.Job.IsCompleted -eq $false) { - $Message = "System activity detected.
Mining is suspended until system is idle for $($Config.IdleSec) second$(If ($Config.IdleSec -ne 1) { "s" })." - Write-Message -Level Verbose ($Message -replace "
", " ") - Stop-Core - If ($LegacyGUIform) { - Update-GUIstatus - - $LegacyGUIminingSummaryLabel.Text = "" - ($Message -split '
').ForEach({ $LegacyGUIminingSummaryLabel.Text += "$_`r`n" }) - $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Black - } - - $Variables.Summary = $Message - Remove-Variable Message - } - } - ElseIf ($Global:CoreRunspace.Job.IsCompleted -ne $false) { - If ($Variables.Timer) { - Write-Message -Level Warn "Core cycle stopped abnormally - restarting..." - Close-CoreRunspace - } - Start-Core - If ($LegacyGUIform) { Update-GUIstatus } - } - ElseIf (-not $Variables.SuspendCycle -and -not $Variables.MinersBenchmarkingOrMeasuring -and $Variables.BeginCycleTimeCycleTime -and [DateTime]::Now.ToUniversalTime() -gt $Variables.BeginCycleTimeCycleTime.AddSeconds(1.5 *$Config.Interval)) { - # Core watchdog. Sometimes core loop gets stuck - Write-Message -Level Warn "Core cycle is stuck - restarting..." - Stop-Core - Start-Core - } - } - ElseIf ((Test-Path -Path $Variables.PoolsConfigFile) -and (Test-Path -Path $Variables.ConfigFile)) { - If ($Variables.ConfigFileTimestamp -ne (Get-Item -Path $Variables.ConfigFile).LastWriteTime -or $Variables.PoolsConfigFileTimestamp -ne (Get-Item -Path $Variables.PoolsConfigFile).LastWriteTime) { - [Void](Read-Config -ConfigFile $Variables.ConfigFile) - Write-Message -Level Verbose "Activated changed configuration." - } - } - If ($Config.ShowConsole) { Show-Console If ($host.UI.RawUI.KeyAvailable) { @@ -891,34 +832,91 @@ Function MainLoop { Hide-Console } + If ($Config.BalancesTrackerPollInterval -gt 0 -and $Variables.NewMiningStatus -ne "Idle") { Start-BalancesTracker } + ElseIf ($Variables.NewMiningStatus -ne "Idle" -and $Variables.RatesUpdated -lt [DateTime]::Now.ToUniversalTime().AddMinutes( - 15)) { + # Update rates every 15 minutes + [Void](Get-Rate) + } + + If ($Variables.MiningStatus -eq "Running") { + If ($Config.IdleDetection) { + If ([Math]::Round([PInvoke.Win32.UserInput]::IdleTime.TotalSeconds) -gt $Config.IdleSec) { + # System was idle long enough, start mining + If ($Global:CoreRunspace.Job.IsCompleted -eq $true) { + $Variables.Summary = "System was idle for $($Config.IdleSec) second$(If ($Config.IdleSec -ne 1) { "s" }).
Resuming mining." + Write-Message -Level Verbose ($Variables.Summary -replace "
", " ") + If ($LegacyGUIform) { Update-GUIstatus } + } + Start-Core + } + ElseIf ($Global:CoreRunspace.Job.IsCompleted -eq $false) { + $Message = "System activity detected.
Mining is suspended until system is idle for $($Config.IdleSec) second$(If ($Config.IdleSec -ne 1) { "s" })." + Write-Message -Level Verbose ($Message -replace "
", " ") + Stop-Core + If ($LegacyGUIform) { + Update-GUIstatus + + $LegacyGUIminingSummaryLabel.Text = "" + ($Message -split '
').ForEach({ $LegacyGUIminingSummaryLabel.Text += "$_`r`n" }) + $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Black + } + + $Variables.Summary = $Message + Remove-Variable Message + } + } + ElseIf ($Global:CoreRunspace.Job.IsCompleted -ne $false) { + If ($Variables.Timer) { + Write-Message -Level Warn "Core cycle stopped abnormally - restarting..." + Close-CoreRunspace + } + Start-Core + If ($LegacyGUIform) { Update-GUIstatus } + } + ElseIf (-not $Variables.SuspendCycle -and -not $Variables.MinersBenchmarkingOrMeasuring -and $Variables.BeginCycleTimeCycleTime -and [DateTime]::Now.ToUniversalTime() -gt $Variables.BeginCycleTimeCycleTime.AddSeconds(1.5 *$Config.Interval)) { + # Core watchdog. Sometimes core loop gets stuck + Write-Message -Level Warn "Core cycle is stuck - restarting..." + Stop-Core + Start-Core + } + } + ElseIf ((Test-Path -Path $Variables.PoolsConfigFile) -and (Test-Path -Path $Variables.ConfigFile)) { + If ($Variables.ConfigFileTimestamp -ne (Get-Item -Path $Variables.ConfigFile).LastWriteTime -or $Variables.PoolsConfigFileTimestamp -ne (Get-Item -Path $Variables.PoolsConfigFile).LastWriteTime) { + [Void](Read-Config -ConfigFile $Variables.ConfigFile) + Write-Message -Level Verbose "Activated changed configuration." + } + } + If ($Variables.RefreshNeeded) { $Variables.RefreshNeeded = $false $host.UI.RawUI.WindowTitle = "$($Variables.Branding.ProductLabel) $($Variables.Branding.Version) - Runtime: {0:dd} days {0:hh} hrs {0:mm} mins - Path: $($Variables.Mainpath)" -f [TimeSpan]([DateTime]::Now.ToUniversalTime() - $Variables.ScriptStartTime) - If ($LegacyGUIform -and -not $Variables.SuspendCycle) { - $LegacyGUIform.Text = $host.UI.RawUI.WindowTitle + If ($Config.WebGUI) { Start-APIServer } Else { Stop-APIServer } - If ($Variables.MyIP) { - If ($Variables.MinersBenchmarkingOrMeasuring -or -not $Variables.MinersBest) { $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Black } - ElseIf ($Variables.MiningProfit -ge 0) { $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Green } - ElseIf ($Variables.MiningProfit -lt 0) { $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Red } + If ($LegacyGUIform) { + If (-not $Variables.SuspendCycle) { + $LegacyGUIform.Text = $host.UI.RawUI.WindowTitle - $LegacyGUIminingSummaryLabel.Text = "" - (($Variables.Summary -replace "Power cost", "
Power cost" -replace " ", " " -replace " ", " ") -split "
").ForEach({ $LegacyGUIminingSummaryLabel.Text += "`r`n$_" }) - $LegacyGUIminingSummaryLabel.Text += "`r`n " - } - Else { - Write-Message -Level Error $Variables.Message - $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Red - $LegacyGUIminingSummaryLabel.Text = "Error: $($Variables.Summary)" - } + If ($Variables.MyIP) { + If ($Variables.MinersBenchmarkingOrMeasuring -or -not $Variables.MinersBest) { $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Black } + ElseIf ($Variables.MiningProfit -ge 0) { $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Green } + ElseIf ($Variables.MiningProfit -lt 0) { $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Red } - # Refresh selected tab - Update-TabControl - } + $LegacyGUIminingSummaryLabel.Text = "" + (($Variables.Summary -replace "Power cost", "
Power cost" -replace " ", " " -replace " ", " ") -split "
").ForEach({ $LegacyGUIminingSummaryLabel.Text += "`r`n$_" }) + $LegacyGUIminingSummaryLabel.Text += "`r`n " + } + Else { + Write-Message -Level Error $Variables.Message + $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Red + $LegacyGUIminingSummaryLabel.Text = "Error: $($Variables.Summary)" + } - If ($Config.WebGUI) { Start-APIServer } Else { Stop-APIServer } + # Refresh selected tab + Update-TabControl + } + } If ($Config.ShowConsole) { If ($Variables.MinersBest) { Clear-Host } @@ -1096,6 +1094,7 @@ Function MainLoop { Write-Host -ForegroundColor Red "$((Get-Date).ToString("G")): $($Variables.Summary)" } } + $Error.Clear() [System.GC]::Collect() $Proc = Get-Process -Id $PID diff --git a/Utils/UG-Miner_LogReader.xml b/Utils/UG-Miner_LogReader.xml index 091cbfb8..aaf3c8c3 100644 --- a/Utils/UG-Miner_LogReader.xml +++ b/Utils/UG-Miner_LogReader.xml @@ -15,7 +15,7 @@ Yellow DarkGreen false - UG-Miner_2024-08-28.log + UG-Miner_2024-10-04.log Maximized 1886 @@ -48,7 +48,7 @@ false true false - #FFFF80 + FUCHSIA Black @@ -82,23 +82,23 @@ Black - Some miners binaries are missing, starting downloader... + ^\[.+\] \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} Downloader: Initiated|^\[.+\] \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} Some miners binaries are missing.*starting downloader false - false + true false true false - Fuchsia + #FFFF80 Black - Downloader: + ^\[.+\] \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} Downloader: false - false + true false true false - #FF80FF + #C6C600 Black diff --git a/Utils/UG-Miner_LogReader.xml.bak b/Utils/UG-Miner_LogReader.xml.bak new file mode 100644 index 00000000..091cbfb8 --- /dev/null +++ b/Utils/UG-Miner_LogReader.xml.bak @@ -0,0 +1,219 @@ + + + + + ..\Logs\UG-Miner_????-??-??.log + System.Text.UTF8Encoding + 1000 + 10 + 500 + true + true + White + Black + Consolas, 9pt + Yellow + DarkGreen + false + UG-Miner_2024-08-28.log + Maximized + + 1886 + 1059 + + + -11 + -45 + + + + + true + false + + + ^\[ERROR \ ] \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} + false + true + false + true + false + White + Red + + + ^\[WARN \] \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} + false + true + false + true + false + #FFFF80 + Black + + + (benchmark|power consumption).+for .+ in progress + false + true + false + true + false + #FF8000 + Black + + + Saved (power consumption|hashrate).+for .+ \[.+ done\] + false + true + false + true + false + #FFC082 + Black + + + Reported worker status to monitoring server|Retrieved worker status from + false + true + false + true + false + #55AAAA + Black + + + Some miners binaries are missing, starting downloader... + false + false + false + true + false + Fuchsia + Black + + + Downloader: + false + false + false + true + false + #FF80FF + Black + + + more profitable than the fastest miner: + false + false + false + true + false + #400040 + #FFFF80 + + + Starting UG-Miner|Using configuration file|Web GUI and API.+ running + false + true + false + true + false + Aqua + Black + + + System activity detected. Mining is suspended until system is idle for|System was idle for .*Resuming mining. + false + true + false + true + false + Gray + Black + + + Donation run + false + false + false + true + false + Silver + #400040 + + + Stopped idle detection + false + false + false + true + false + White + Black + + + Balances tracker|Loaded currency exchange rates + false + true + false + true + false + #C8FFE0 + Black + + + ^\[.+\] \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} \w+ GUI: + true + true + false + true + false + #FFD7AE + Black + + + ^\[.+\] \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} Started new cycle|^\[.+\] \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} Collecting miner data while|enough samples for this cycle|^\[.+\] \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.+Ending cycle|^\[.+\] \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.+Exiting cycle + false + true + false + true + false + #0080FF + Black + + + ^\[.+\] \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} Stopping miner .* + false + true + false + true + false + #00AC00 + Black + + + ^\[.+\] \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} Starting miner .+|^\[.+\] \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} Dry run .+ + false + true + false + true + false + #00E600 + Black + + + + + + 0 + + 1890 + 1163 + + + 75 + 132 + + false + false + \ No newline at end of file diff --git a/Version.txt b/Version.txt index 729507a5..1fc531fa 100644 --- a/Version.txt +++ b/Version.txt @@ -1,6 +1,6 @@ { "Product": "UG-Miner", - "Version": "6.3.6", + "Version": "6.3.7", "AutoUpdate": true, "Uri": "https://github.com/UselessGuru/UG-Miner/archive/refs/heads/master.zip", "Message": "https://github.com/UselessGuru/UG-Miner/releases" diff --git a/Web/APIdocs.html b/Web/APIdocs.html index a277fe83..c79908f4 100644 --- a/Web/APIdocs.html +++ b/Web/APIdocs.html @@ -346,7 +346,7 @@

Functions


/functions/stat/set
Set miner hashrate value, not useful for pool stats:
Parameters: (JSON, pool list as array, requires properties Name=StatName, Algorithm=Algorithm(s), Type=Hashrate, Value (0=failed; -1=disabled)) -
e.g.: /functions/stat/set?Miners%3D%5B{"Name"%3A"SRBMinerMulti-v2.6.6-1xRadeonRX5700XT8GB"%2C"Algorithms"%3A%5B"Argon2d16000"%5D}%5D%26Type%3DHashrate%26Value%3D-1 +
e.g.: /functions/stat/set?Miners%3D%5B{"Name"%3A"SRBMinerMulti-v2.6.7-1xRadeonRX5700XT8GB"%2C"Algorithms"%3A%5B"Argon2d16000"%5D}%5D%26Type%3DHashrate%26Value%3D-1

/functions/pool/enable
Enable disabled pool diff --git a/Web/devices.html b/Web/devices.html index d46778ba..c499d29c 100644 --- a/Web/devices.html +++ b/Web/devices.html @@ -47,7 +47,7 @@

Enabled devices

Clock speed Driver version
CIM Driver version
OpenCL - CUDA version + CUDA version Architecture Configured power consumption PCI
Bus
id @@ -121,7 +121,7 @@

Disabled devices

Clock speed Driver version
CIM Driver version
OpenCL - CUDA version + CUDA version Architecture Configured power consumption PCI
Bus
id @@ -191,7 +191,7 @@

Unsupported devices

Clock speed Driver version
CIM Driver version
OpenCL - CUDA version + CUDA version Architecture Configured
power consumtion PCI
Bus
id @@ -242,8 +242,8 @@

Unsupported devices

if (item.OpenCL) item.tCores = item.OpenCL.MaxComputeUnits; else if (item.CIM) item.tCores = item.CIM.NumberOfLogicalProcessors; - // Convert CUDAVersion to string - if (item.CUDAVersion) item.tCUDAVersion = item.CUDAVersion.Major + '.' + item.CUDAVersion.Minor; + // Convert CUDAversion to string + if (item.CUDAversion) item.tCUDAversion = item.CUDAversion.Major + '.' + item.CUDAversion.Minor + ' (build ' + item.CUDAversion.Build + ')'; if (item.Architecture) item.tArchitecture = item.Architecture; diff --git a/Web/scripts/demo.ps1 b/Web/scripts/demo.ps1 index 9fad81d0..9d3bf137 100644 --- a/Web/scripts/demo.ps1 +++ b/Web/scripts/demo.ps1 @@ -18,8 +18,8 @@ along with this program. If not, see . <# Product: UG-Miner File: demo.psm1 -Version: 6.3.6 -Version date: 2024/10/01 +Version: 6.3.7 +Version date: 2024/10/05 #> # Try running this script as: http://localhost:3999/scripts/demo.ps1?message=Hello%20World!