diff --git a/Balances/HashCryptos.ps1 b/Balances/HashCryptos.ps1
index 4866bb5c..2ad573b7 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
$Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName
diff --git a/Balances/HiveON.ps1 b/Balances/HiveON.ps1
index d9513c5c..244e6ad7 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
$Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName
diff --git a/Balances/MiningDutch.ps1 b/Balances/MiningDutch.ps1
index 3c848cf2..2f592e70 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
$Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName
diff --git a/Balances/MiningPoolHub.ps1 b/Balances/MiningPoolHub.ps1
index 835894bd..0d1c0fee 100644
--- a/Balances/MiningPoolHub.ps1
+++ b/Balances/MiningPoolHub.ps1
@@ -18,8 +18,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
File: \Balances\MiningPoolHub.ps1
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
$Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName
diff --git a/Balances/NiceHash External.ps1 b/Balances/NiceHash External.ps1
index 1566c70e..2da77d1e 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
$Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName
diff --git a/Balances/NiceHash Internal.ps1 b/Balances/NiceHash Internal.ps1
index 84efc4c7..0694f93d 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
$Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName
diff --git a/Balances/ProHashing.ps1 b/Balances/ProHashing.ps1
index 35a7561f..bf8f1f44 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
$Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName
diff --git a/Balances/ZergPool.ps1 b/Balances/ZergPool.ps1
index b48dcb93..41ce11a2 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
$Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName
diff --git a/Balances/Zpool.ps1 b/Balances/Zpool.ps1
index 64c7fdd5..f84959cd 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
$Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName
diff --git a/Brains/HashCryptos.ps1 b/Brains/HashCryptos.ps1
index bd07e509..b3468d9c 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
using module ..\Includes\Include.psm1
diff --git a/Brains/MiningDutch.ps1 b/Brains/MiningDutch.ps1
index bfb0f124..bffbcd64 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
using module ..\Includes\Include.psm1
diff --git a/Brains/ProHashing.ps1 b/Brains/ProHashing.ps1
index 97dcd250..aefc8db8 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
using module ..\Includes\Include.psm1
diff --git a/Brains/ZPool.ps1 b/Brains/ZPool.ps1
index c7a09ec5..62af2ef2 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
using module ..\Includes\Include.psm1
diff --git a/Brains/ZergPool.ps1 b/Brains/ZergPool.ps1
index 439dc3b1..f9172450 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
using module ..\Includes\Include.psm1
diff --git a/Changelog.txt b/Changelog.txt
index 27595eae..7992b221 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -2,6 +2,18 @@ Known issues:
- Balance Tracker / Earnings Graph: Date change does not respect local time zone (accumulated data is calculated in UTC time)
- UG-Miner has issues with new Windows Terminal when default terminal application is set to 'Let windows decide' or 'Windows Terminal'. -> It is recommeded to set it to 'Windows Console Host'
+
+ChangeLog UG-Miner 6.2.12 2024/06/26
+====================================
+
+Enhancements:
+- Core: Minor code optimizations
+
+Fixes:
+- TeamBlackMiner-v2.25: Invalid command line for dual mining with EvrProgPow
+- Various miners: Not creating all possible miner objects (no available devices enumerated)
+
+
ChangeLog UG-Miner 6.2.11 2024/06/23
====================================
diff --git a/Data/Algorithms.json b/Data/Algorithms.json
index 4e8b3645..aee10cab 100644
--- a/Data/Algorithms.json
+++ b/Data/Algorithms.json
@@ -94,6 +94,7 @@
"dagger": "Xdag",
"daggerhashimoto": "Ethash",
"dero": "AstroBWTV2",
+ "dpowhash": "DPowHash",
"dynamo": "DynamoCoin",
"dynex": "DynexSolve",
"dynexsolve": "DynexSolve",
diff --git a/Data/CoinNames.json b/Data/CoinNames.json
index 7a7a0d8b..557a992e 100644
--- a/Data/CoinNames.json
+++ b/Data/CoinNames.json
@@ -50,6 +50,7 @@
"BTCP": "Purple",
"BTCQ": "Btcturquoise",
"BTCZ": "Bitcoinz",
+ "BTFC": "Butterfly",
"BTG": "Bitcoingold",
"BTN": "Bitnetmoney",
"BTRM": "Bitoreum",
@@ -203,6 +204,7 @@
"MN": "Masternoder",
"MONA": "Mona",
"MTBC": "MateableCoin",
+ "NEO": "Neonx",
"NEOX": "Neoxa",
"NET": "Netsis",
"NEXA": "Nexa",
diff --git a/Data/CurrencyAlgorithm.json b/Data/CurrencyAlgorithm.json
index 177dbac5..a5544893 100644
--- a/Data/CurrencyAlgorithm.json
+++ b/Data/CurrencyAlgorithm.json
@@ -54,6 +54,7 @@
"BTCP": "SHA256",
"BTCQ": "Ghostrider",
"BTCZ": "Equihash1445",
+ "BTFC": "X11",
"BTG": "Equihash1445",
"BTN": "Ethash",
"BTRM": "Ghostrider",
@@ -225,6 +226,7 @@
"MOAC": "Ethash",
"MONA": "Lyra2RE2",
"MTBC": "Scrypt",
+ "NEO": "X11",
"NEOX": "KawPow",
"NET": "X11",
"NEXA": "NexaPow",
diff --git a/Data/DagData.json b/Data/DagData.json
index 81ee68b7..8d272119 100644
--- a/Data/DagData.json
+++ b/Data/DagData.json
@@ -1,79 +1,79 @@
{
"Algorithm": {
"Autolykos2": {
- "BlockHeight": 1292685,
+ "BlockHeight": 1294512,
"CoinName": "ERG",
"DAGsize": 4118968140,
- "Epoch": 857
+ "Epoch": 859
},
"EtcHash": {
- "BlockHeight": 20149668,
+ "BlockHeight": 20166092,
"CoinName": "ETC",
- "DAGsize": 3900702592,
- "Epoch": 337
+ "DAGsize": 3909087872,
+ "Epoch": 338
},
"Ethash": {
- "BlockHeight": 19728808,
+ "BlockHeight": 19747052,
"CoinName": "ETHW",
- "DAGsize": 6601834112,
- "Epoch": 659
+ "DAGsize": 6610219648,
+ "Epoch": 660
},
"EthashB3": {
- "BlockHeight": 3355196,
+ "BlockHeight": 3382783,
"CoinName": "HYP",
- "DAGsize": 2021653888,
- "Epoch": 113
+ "DAGsize": 2030039936,
+ "Epoch": 114
},
"EvrProgPow": {
- "BlockHeight": 860338,
+ "BlockHeight": 864359,
"CoinName": "EVR",
- "DAGsize": 3833592704,
- "Epoch": 73
+ "DAGsize": 3841981568,
+ "Epoch": 74
},
"FiroPow": {
- "BlockHeight": 909924,
+ "BlockHeight": 911534,
"CoinName": "FIRO",
- "DAGsize": 6954149248,
- "Epoch": 701
+ "DAGsize": 6970928768,
+ "Epoch": 703
},
"FiroPowSCC": {
- "BlockHeight": 928257,
+ "BlockHeight": 930034,
"CoinName": "SCC",
- "DAGsize": 3489655168,
- "Epoch": 288
+ "DAGsize": 3498048896,
+ "Epoch": 289
},
"KawPow": {
- "BlockHeight": 3378824,
+ "BlockHeight": 3382836,
"CoinName": "RVN",
- "DAGsize": 4865391488,
- "Epoch": 452
+ "DAGsize": 4873780096,
+ "Epoch": 453
},
"MeowPow": {
- "BlockHeight": 939073,
+ "BlockHeight": 945137,
"CoinName": "MEWC",
- "DAGsize": 5335151488,
- "Epoch": 127
+ "DAGsize": 5368706944,
+ "Epoch": 128
},
"Octopus": {
- "BlockHeight": 98686363,
+ "BlockHeight": 98871803,
"CoinName": "CFX",
"DAGsize": 7482636032,
"Epoch": 190
},
"ProgPowSero": {
- "BlockHeight": 12882357,
+ "BlockHeight": 12899380,
"CoinName": "SERO",
"DAGsize": 4689231488,
"Epoch": 431
},
"ProgPowZ": {
- "BlockHeight": 2689871,
+ "BlockHeight": 2693932,
"CoinName": "ZANO",
"DAGsize": 1837102976,
"Epoch": 91
},
"UbqHash": {
- "BlockHeight": 5432352,
+ "BlockHeight": 5442553,
"CoinName": "UBQ",
"DAGsize": 2608856192,
"Epoch": 183
@@ -81,162 +81,162 @@
},
"Currency": {
"*": {
- "BlockHeight": 98686363,
+ "BlockHeight": 98871803,
"CoinName": "*",
"DAGsize": 7482636032,
- "Epoch": 857
+ "Epoch": 859
},
"AIDP": {
"Algorithm": "KawPow",
- "BlockHeight": 83136,
+ "BlockHeight": 87107,
"CoinName": "AiDepin",
"DAGsize": 1182786944,
- "Date": "2024-06-23T08:41:13.6640354Z",
+ "Date": "2024-06-26T04:05:22.6778803Z",
"Epoch": 13,
- "Url": "https://whattomine.com/coins.json"
+ "Url": "https://zergpool.com/api/currencies"
},
"AIPG": {
"Algorithm": "KawPow",
- "BlockHeight": 281947,
+ "BlockHeight": 285953,
"CoinName": "Aipowergrid",
- "DAGsize": 1400897408,
- "Date": "2024-06-23T08:41:13.6791396Z",
- "Epoch": 39,
- "Url": "https://whattomine.com/coins.json"
+ "DAGsize": 1409284736,
+ "Date": "2024-06-26T04:05:22.6821171Z",
+ "Epoch": 40,
+ "Url": "https://zergpool.com/api/currencies"
},
"AITT": {
"Algorithm": "KawPow",
- "BlockHeight": 644933,
+ "BlockHeight": 661059,
"CoinName": "AittCoin",
- "DAGsize": 1803550592,
- "Date": "2024-06-23T08:41:13.695432Z",
- "Epoch": 87,
- "Url": "https://whattomine.com/coins.json"
+ "DAGsize": 1828711552,
+ "Date": "2024-06-26T04:05:22.6877482Z",
+ "Epoch": 90,
+ "Url": "https://zergpool.com/api/currencies"
},
"AKA": {
"Algorithm": "Ethash",
"BlockHeight": 11735607,
"CoinName": "AKA",
"DAGsize": 4370458496,
- "Date": "2024-06-23T08:41:13.8531791Z",
+ "Date": "2024-06-25T21:50:53.5748453Z",
"Epoch": 393,
"Url": "https://minerstat.com/dag-size-calculator"
},
"ALT": {
"Algorithm": "Ethash",
- "BlockHeight": 3737054,
+ "BlockHeight": 3756149,
"CoinName": "Altcoinchain",
- "DAGsize": 2130700672,
- "Date": "2024-06-23T08:41:10.3690596Z",
- "Epoch": 126,
+ "DAGsize": 2139092608,
+ "Date": "2024-06-26T04:05:22.6923652Z",
+ "Epoch": 127,
"Url": "https://zergpool.com/api/currencies"
},
"ANOK": {
"Algorithm": "KawPow",
- "BlockHeight": 126453,
+ "BlockHeight": 130005,
"CoinName": "Anokas",
- "DAGsize": 1224732032,
- "Date": "2024-06-23T08:41:13.7017021Z",
- "Epoch": 18,
- "Url": "https://whattomine.com/coins.json"
+ "DAGsize": 1233124736,
+ "Date": "2024-06-26T04:05:22.696485Z",
+ "Epoch": 19,
+ "Url": "https://zergpool.com/api/currencies"
},
"AVS": {
"Algorithm": "Ethash",
- "BlockHeight": 3784700,
+ "BlockHeight": 3803566,
"CoinName": "Aves",
"DAGsize": 2147483264,
- "Date": "2024-06-23T08:41:10.3864976Z",
+ "Date": "2024-06-26T04:05:22.7247915Z",
"Epoch": 128,
"Url": "https://zergpool.com/api/currencies"
},
"BTN": {
"Algorithm": "Ethash",
- "BlockHeight": 2317472,
+ "BlockHeight": 2336217,
"CoinName": "Bitnetmoney",
"DAGsize": 1736434816,
- "Date": "2024-06-23T08:41:13.7226502Z",
+ "Date": "2024-06-26T04:05:22.7712413Z",
"Epoch": 79,
- "Url": "https://whattomine.com/coins.json"
+ "Url": "https://zergpool.com/api/currencies"
},
"CAU": {
"Algorithm": "Ethash",
- "BlockHeight": 4205815,
+ "BlockHeight": 4231580,
"CoinName": "Canxium",
- "DAGsize": 2264922752,
- "Date": "2024-06-23T08:41:13.7310732Z",
- "Epoch": 142,
+ "DAGsize": 2273312128,
+ "Date": "2024-06-25T21:50:53.4505306Z",
+ "Epoch": 143,
"Url": "https://whattomine.com/coins.json"
},
"CFX": {
"Algorithm": "Octopus",
- "BlockHeight": 98686363,
+ "BlockHeight": 98871803,
"CoinName": "Conflux",
"DAGsize": 7482636032,
- "Date": "2024-06-23T08:41:15.0099698Z",
+ "Date": "2024-06-25T21:50:54.7952777Z",
"Epoch": 190,
"Url": "https://prohashing.com/api/v1/currencies"
},
"CLO": {
"Algorithm": "Ethash",
- "BlockHeight": 15039376,
+ "BlockHeight": 15056902,
"CoinName": "Callisto",
"DAGsize": 5293209728,
- "Date": "2024-06-23T08:41:13.742681Z",
+ "Date": "2024-06-25T21:50:53.4546641Z",
"Epoch": 503,
"Url": "https://whattomine.com/coins.json"
},
"CLORE": {
"Algorithm": "KawPow",
- "BlockHeight": 803744,
+ "BlockHeight": 807756,
"CoinName": "Clore",
"DAGsize": 1988093056,
- "Date": "2024-06-23T08:41:10.4396312Z",
+ "Date": "2024-06-26T04:05:53.5766269Z",
"Epoch": 109,
"Url": "https://zergpool.com/api/currencies"
},
"CMS": {
"Algorithm": "KawPow",
- "BlockHeight": 118401,
+ "BlockHeight": 121937,
"CoinName": "Cmusicai",
- "DAGsize": 1216345216,
- "Date": "2024-06-23T08:41:10.4431114Z",
- "Epoch": 17,
+ "DAGsize": 1224732032,
+ "Date": "2024-06-26T04:05:53.5817818Z",
+ "Epoch": 18,
"Url": "https://zergpool.com/api/currencies"
},
"DINT": {
"Algorithm": "KawPow",
- "BlockHeight": 289196,
+ "BlockHeight": 293023,
"CoinName": "Dinartether",
- "DAGsize": 1409284736,
- "Date": "2024-06-23T08:41:13.6977637Z",
- "Epoch": 40,
- "Url": "https://whattomine.com/coins.json"
+ "DAGsize": 1417673344,
+ "Date": "2024-06-26T04:05:53.6211085Z",
+ "Epoch": 41,
+ "Url": "https://zergpool.com/api/currencies"
},
"DOGETHER": {
"Algorithm": "Ethash",
- "BlockHeight": 930963,
+ "BlockHeight": 943139,
"CoinName": "Dogether",
"DAGsize": 1350561664,
- "Date": "2024-06-23T08:41:13.7341844Z",
+ "Date": "2024-06-25T21:50:53.448466Z",
"Epoch": 33,
"Url": "https://whattomine.com/coins.json"
},
"EGAZ": {
"Algorithm": "EtcHash",
- "BlockHeight": 5343570,
+ "BlockHeight": 5360576,
"CoinName": "Etica",
"DAGsize": 2583686528,
- "Date": "2024-06-23T08:41:13.7076096Z",
+ "Date": "2024-06-25T21:50:53.4339753Z",
"Epoch": 180,
"Url": "https://whattomine.com/coins.json"
},
"EGEM": {
"Algorithm": "Ethash",
- "BlockHeight": 15837399,
+ "BlockHeight": 15854215,
"CoinName": "Ethergem",
- "DAGsize": 5511315328,
- "Date": "2024-06-23T08:41:13.7396802Z",
- "Epoch": 529,
+ "DAGsize": 5519703424,
+ "Date": "2024-06-25T21:50:53.4257723Z",
+ "Epoch": 530,
"Url": "https://whattomine.com/coins.json"
},
"ELH": {
@@ -250,11 +250,11 @@
},
"ERG": {
"Algorithm": "Autolykos2",
- "BlockHeight": 1292685,
+ "BlockHeight": 1294512,
"CoinName": "Ergo",
"DAGsize": 4118968140,
- "Date": "2024-06-23T08:41:14.9978479Z",
- "Epoch": 857,
+ "Date": "2024-06-25T21:50:54.7877797Z",
+ "Epoch": 859,
"Url": "https://prohashing.com/api/v1/currencies"
},
"ESN": {
@@ -262,17 +262,17 @@
"BlockHeight": 6408009,
"CoinName": "Ethersocial",
"DAGsize": 2877286784,
- "Date": "2024-06-23T08:41:13.8642914Z",
+ "Date": "2024-06-25T21:50:53.585805Z",
"Epoch": 215,
"Url": "https://minerstat.com/dag-size-calculator"
},
"ETC": {
"Algorithm": "EtcHash",
- "BlockHeight": 20149668,
+ "BlockHeight": 20166092,
"CoinName": "EthereumClassic",
- "DAGsize": 3900702592,
- "Date": "2024-06-23T08:41:13.7271643Z",
- "Epoch": 337,
+ "DAGsize": 3909087872,
+ "Date": "2024-06-25T21:50:53.4387304Z",
+ "Epoch": 338,
"Url": "https://whattomine.com/coins.json"
},
"ETHF": {
@@ -286,21 +286,21 @@
},
"ETHO": {
"Algorithm": "Ethash",
- "BlockHeight": 14333723,
+ "BlockHeight": 14350148,
"CoinName": "EthoProtocol",
- "DAGsize": 5091883904,
- "Date": "2024-06-23T08:41:13.7371091Z",
- "Epoch": 479,
+ "DAGsize": 5100273536,
+ "Date": "2024-06-25T21:50:53.442725Z",
+ "Epoch": 480,
"Url": "https://whattomine.com/coins.json"
},
"ETHW": {
"Algorithm": "Ethash",
- "BlockHeight": 19728808,
+ "BlockHeight": 19747052,
"CoinName": "EthereumPow",
- "DAGsize": 6601834112,
- "Date": "2024-06-23T08:41:13.7107994Z",
- "Epoch": 659,
- "Url": "https://whattomine.com/coins.json"
+ "DAGsize": 6610219648,
+ "Date": "2024-06-26T04:05:53.6432914Z",
+ "Epoch": 660,
+ "Url": "https://zergpool.com/api/currencies"
},
"ETNT": {
"Algorithm": "Ethash",
@@ -313,20 +313,20 @@
},
"ETP": {
"Algorithm": "Ethash",
- "BlockHeight": 9636881,
+ "BlockHeight": 9647259,
"CoinName": "Metaverse",
"DAGsize": 3783260032,
- "Date": "2024-06-23T08:41:13.8581303Z",
+ "Date": "2024-06-25T21:50:53.5774375Z",
"Epoch": 323,
"Url": "https://minerstat.com/dag-size-calculator"
},
"EVR": {
"Algorithm": "EvrProgPow",
- "BlockHeight": 860338,
+ "BlockHeight": 864359,
"CoinName": "Evrmore",
- "DAGsize": 3833592704,
- "Date": "2024-06-23T08:41:10.4882012Z",
- "Epoch": 73,
+ "DAGsize": 3841981568,
+ "Date": "2024-06-26T04:05:53.6551633Z",
+ "Epoch": 74,
"Url": "https://zergpool.com/api/currencies"
},
"EXP": {
@@ -340,37 +340,37 @@
},
"FIRO": {
"Algorithm": "FiroPow",
- "BlockHeight": 909924,
+ "BlockHeight": 911534,
"CoinName": "Firo",
- "DAGsize": 6954149248,
- "Date": "2024-06-23T08:41:13.6891842Z",
- "Epoch": 701,
- "Url": "https://whattomine.com/coins.json"
+ "DAGsize": 6970928768,
+ "Date": "2024-06-26T04:05:53.6661439Z",
+ "Epoch": 703,
+ "Url": "https://zergpool.com/api/currencies"
},
"FLORA": {
"Algorithm": "Ethash",
"BlockHeight": 789635,
"CoinName": "",
"DAGsize": 1308619904,
- "Date": "2024-06-23T08:41:13.8902951Z",
+ "Date": "2024-06-25T21:50:53.6051655Z",
"Epoch": 28,
"Url": "https://minerstat.com/dag-size-calculator"
},
"FREN": {
"Algorithm": "KawPow",
- "BlockHeight": 1178354,
+ "BlockHeight": 1186411,
"CoinName": "FrenCoin",
- "DAGsize": 2407530368,
- "Date": "2024-06-23T08:41:13.6674549Z",
- "Epoch": 159,
- "Url": "https://whattomine.com/coins.json"
+ "DAGsize": 2415918976,
+ "Date": "2024-06-26T04:05:53.6820879Z",
+ "Epoch": 160,
+ "Url": "https://zergpool.com/api/currencies"
},
"GPN": {
"Algorithm": "KawPow",
- "BlockHeight": 601399,
+ "BlockHeight": 605389,
"CoinName": "Gamepass",
"DAGsize": 1761606272,
- "Date": "2024-06-23T08:41:10.5283362Z",
+ "Date": "2024-06-26T04:02:51.9711917Z",
"Epoch": 82,
"Url": "https://zergpool.com/api/currencies"
},
@@ -385,28 +385,28 @@
},
"HYP": {
"Algorithm": "EthashB3",
- "BlockHeight": 3355196,
+ "BlockHeight": 3382783,
"CoinName": "Hypra",
- "DAGsize": 2021653888,
- "Date": "2024-06-23T08:41:10.5429582Z",
- "Epoch": 113,
+ "DAGsize": 2030039936,
+ "Date": "2024-06-26T04:02:51.9942978Z",
+ "Epoch": 114,
"Url": "https://zergpool.com/api/currencies"
},
"KIIRO": {
"Algorithm": "FiroPow",
- "BlockHeight": 195172,
+ "BlockHeight": 196680,
"CoinName": "KiiroCoin",
- "DAGsize": 2348808064,
- "Date": "2024-06-23T08:41:13.6918472Z",
- "Epoch": 152,
- "Url": "https://whattomine.com/coins.json"
+ "DAGsize": 2357196416,
+ "Date": "2024-06-26T03:54:43.1459134Z",
+ "Epoch": 153,
+ "Url": "https://zergpool.com/api/currencies"
},
"LRS": {
"Algorithm": "Ethash",
- "BlockHeight": 1087365,
+ "BlockHeight": 1104409,
"CoinName": "Larissa",
"DAGsize": 1392507008,
- "Date": "2024-06-23T08:41:13.7248421Z",
+ "Date": "2024-06-25T21:50:53.4360649Z",
"Epoch": 38,
"Url": "https://whattomine.com/coins.json"
},
@@ -421,46 +421,46 @@
},
"MEWC": {
"Algorithm": "MeowPow",
- "BlockHeight": 939073,
+ "BlockHeight": 945137,
"CoinName": "MeowCoin",
- "DAGsize": 5335151488,
- "Date": "2024-06-21T22:16:47.2531403Z",
- "Epoch": 127,
+ "DAGsize": 5368706944,
+ "Date": "2024-06-26T04:06:04.4358947Z",
+ "Epoch": 128,
"Url": "https://mewc.cryptoscope.io/api/getblockcount"
},
"MOAC": {
"Algorithm": "Ethash",
- "BlockHeight": 13864362,
+ "BlockHeight": 13883264,
"CoinName": "",
"DAGsize": 4966054784,
- "Date": "2024-06-23T08:41:13.8495219Z",
+ "Date": "2024-06-25T21:50:53.5716903Z",
"Epoch": 464,
"Url": "https://minerstat.com/dag-size-calculator"
},
"NEOX": {
"Algorithm": "KawPow",
- "BlockHeight": 1096936,
+ "BlockHeight": 1100948,
"CoinName": "Neoxa",
"DAGsize": 2315251072,
- "Date": "2024-06-23T08:41:13.647494Z",
+ "Date": "2024-06-26T04:02:52.0732209Z",
"Epoch": 148,
- "Url": "https://whattomine.com/coins.json"
+ "Url": "https://zergpool.com/api/currencies"
},
"NILU": {
"Algorithm": "Ethash",
"BlockHeight": 6244699,
"CoinName": "",
"DAGsize": 2835349376,
- "Date": "2024-06-23T08:41:13.8659957Z",
+ "Date": "2024-06-25T21:50:53.5876424Z",
"Epoch": 210,
"Url": "https://minerstat.com/dag-size-calculator"
},
"NIR": {
"Algorithm": "ProgPowZ",
- "BlockHeight": 454468,
+ "BlockHeight": 461888,
"CoinName": "Nirmata",
"DAGsize": 1216345216,
- "Date": "2024-06-23T08:41:13.6310554Z",
+ "Date": "2024-06-25T21:50:53.3626671Z",
"Epoch": 17,
"Url": "https://whattomine.com/coins.json"
},
@@ -469,27 +469,27 @@
"BlockHeight": 8848535,
"CoinName": "",
"DAGsize": 3556763264,
- "Date": "2024-06-23T08:41:13.8612423Z",
+ "Date": "2024-06-25T21:50:53.5805615Z",
"Epoch": 296,
"Url": "https://minerstat.com/dag-size-calculator"
},
"OCTA": {
"Algorithm": "Ethash",
- "BlockHeight": 4906791,
+ "BlockHeight": 4925577,
"CoinName": "Octaspace",
- "DAGsize": 2457861248,
- "Date": "2024-06-23T08:41:13.718483Z",
- "Epoch": 165,
- "Url": "https://whattomine.com/coins.json"
+ "DAGsize": 2466247808,
+ "Date": "2024-06-26T04:03:22.9657437Z",
+ "Epoch": 166,
+ "Url": "https://zergpool.com/api/currencies"
},
"PAPRY": {
"Algorithm": "KawPow",
- "BlockHeight": 701326,
+ "BlockHeight": 705316,
"CoinName": "Paprika",
- "DAGsize": 1870656896,
- "Date": "2024-06-23T08:41:13.6453574Z",
- "Epoch": 95,
- "Url": "https://whattomine.com/coins.json"
+ "DAGsize": 1879048064,
+ "Date": "2024-06-26T04:03:22.987384Z",
+ "Epoch": 96,
+ "Url": "https://zergpool.com/api/currencies"
},
"PGC": {
"Algorithm": "Ethash",
@@ -502,29 +502,29 @@
},
"PRCO": {
"Algorithm": "KawPow",
- "BlockHeight": 1066320,
+ "BlockHeight": 1070335,
"CoinName": "ProcyonCoin",
"DAGsize": 2281701248,
- "Date": "2024-06-23T08:41:10.6258699Z",
+ "Date": "2024-06-26T04:03:23.0074364Z",
"Epoch": 144,
"Url": "https://zergpool.com/api/currencies"
},
"QKC": {
"Algorithm": "Ethash",
- "BlockHeight": 16574741,
+ "BlockHeight": 16597029,
"CoinName": "Quarkchain",
- "DAGsize": 5721030272,
- "Date": "2024-06-23T08:41:13.7154694Z",
- "Epoch": 554,
+ "DAGsize": 5729416832,
+ "Date": "2024-06-25T21:50:53.4462304Z",
+ "Epoch": 555,
"Url": "https://whattomine.com/coins.json"
},
"REDE": {},
"REDEV2": {
"Algorithm": "Ethash",
- "BlockHeight": 2437297,
+ "BlockHeight": 2455679,
"CoinName": "Redev2",
"DAGsize": 1769995904,
- "Date": "2024-06-23T08:41:10.6406195Z",
+ "Date": "2024-06-26T04:03:53.147409Z",
"Epoch": 83,
"Url": "https://zergpool.com/api/currencies"
},
@@ -539,37 +539,37 @@
},
"RVN": {
"Algorithm": "KawPow",
- "BlockHeight": 3378824,
+ "BlockHeight": 3382836,
"CoinName": "RavenCoin",
- "DAGsize": 4865391488,
- "Date": "2024-06-23T08:41:15.0078001Z",
- "Epoch": 452,
- "Url": "https://prohashing.com/api/v1/currencies"
+ "DAGsize": 4873780096,
+ "Date": "2024-06-26T04:03:53.2140227Z",
+ "Epoch": 453,
+ "Url": "https://zergpool.com/api/currencies"
},
"SATOX": {
"Algorithm": "KawPow",
- "BlockHeight": 752279,
+ "BlockHeight": 756290,
"CoinName": "Sato",
"DAGsize": 1929379456,
- "Date": "2024-06-23T08:41:13.6580299Z",
+ "Date": "2024-06-26T04:03:53.2345847Z",
"Epoch": 102,
- "Url": "https://whattomine.com/coins.json"
+ "Url": "https://zergpool.com/api/currencies"
},
"SCC": {
"Algorithm": "FiroPowSCC",
- "BlockHeight": 928257,
+ "BlockHeight": 930034,
"CoinName": "Stakecube",
- "DAGsize": 3489655168,
- "Date": "2024-06-23T08:41:15.0998698Z",
- "Epoch": 288,
+ "DAGsize": 3498048896,
+ "Date": "2024-06-25T21:50:54.8792542Z",
+ "Epoch": 289,
"Url": "https://www.coinexplorer.net/api/v1/SCC/getblockcount"
},
"SERO": {
"Algorithm": "ProgPowSero",
- "BlockHeight": 12882357,
+ "BlockHeight": 12899380,
"CoinName": "Sero",
"DAGsize": 4689231488,
- "Date": "2024-06-23T08:41:13.6764868Z",
+ "Date": "2024-06-25T21:50:53.398309Z",
"Epoch": 431,
"Url": "https://whattomine.com/coins.json"
},
@@ -584,30 +584,30 @@
},
"UBQ": {
"Algorithm": "UbqHash",
- "BlockHeight": 5432352,
+ "BlockHeight": 5442553,
"CoinName": "Ubiq",
"DAGsize": 2608856192,
- "Date": "2024-06-23T08:41:13.8679256Z",
+ "Date": "2024-06-25T21:50:53.5894244Z",
"Epoch": 183,
"Url": "https://minerstat.com/dag-size-calculator"
},
"VLC": {
"Algorithm": "KawPow",
- "BlockHeight": 174771,
+ "BlockHeight": 178334,
"CoinName": "Vultaic",
"DAGsize": 1283453312,
- "Date": "2024-06-23T08:41:13.7047371Z",
+ "Date": "2024-06-26T04:04:53.8682235Z",
"Epoch": 25,
- "Url": "https://whattomine.com/coins.json"
+ "Url": "https://zergpool.com/api/currencies"
},
"XNA": {
"Algorithm": "KawPow",
- "BlockHeight": 618030,
+ "BlockHeight": 622035,
"CoinName": "Neurai",
"DAGsize": 1778382464,
- "Date": "2024-06-23T08:41:13.6551608Z",
+ "Date": "2024-06-26T04:04:53.9072803Z",
"Epoch": 84,
- "Url": "https://whattomine.com/coins.json"
+ "Url": "https://zergpool.com/api/currencies"
},
"XPB": {
"Algorithm": "Ethash",
@@ -620,21 +620,21 @@
},
"ZANO": {
"Algorithm": "ProgPowZ",
- "BlockHeight": 2689871,
+ "BlockHeight": 2693932,
"CoinName": "Zano",
"DAGsize": 1837102976,
- "Date": "2024-06-23T08:41:10.74194Z",
+ "Date": "2024-06-26T04:04:53.9322074Z",
"Epoch": 91,
"Url": "https://zergpool.com/api/currencies"
}
},
"Updated": {
- "https://evr.cryptoscope.io/api/getblockcount": "2024-06-21T22:16:46.9891493Z",
- "https://mewc.cryptoscope.io/api/getblockcount": "2024-06-21T22:16:47.2535552Z",
- "https://minerstat.com/dag-size-calculator": "2024-06-23T08:41:13.9105537Z",
- "https://prohashing.com/api/v1/currencies": "2024-06-23T08:41:15.0103085Z",
- "https://whattomine.com/coins.json": "2024-06-23T08:41:13.7446086Z",
- "https://www.coinexplorer.net/api/v1/SCC/getblockcount": "2024-06-23T08:41:15.1003967Z",
- "https://zergpool.com/api/currencies": "2024-06-23T08:41:10.7422739Z"
+ "https://evr.cryptoscope.io/api/getblockcount": "2024-06-25T13:28:03.6321068Z",
+ "https://mewc.cryptoscope.io/api/getblockcount": "2024-06-26T04:06:04.4365562Z",
+ "https://minerstat.com/dag-size-calculator": "2024-06-25T21:50:53.6255517Z",
+ "https://prohashing.com/api/v1/currencies": "2024-06-25T21:50:54.795669Z",
+ "https://whattomine.com/coins.json": "2024-06-25T21:50:53.4560482Z",
+ "https://www.coinexplorer.net/api/v1/SCC/getblockcount": "2024-06-25T21:50:54.8796243Z",
+ "https://zergpool.com/api/currencies": "2024-06-26T04:05:53.6825217Z"
}
}
diff --git a/Includes/APIServer.psm1 b/Includes/APIServer.psm1
index f3a4af1b..5b066e15 100644
--- a/Includes/APIServer.psm1
+++ b/Includes/APIServer.psm1
@@ -19,7 +19,7 @@ along with this program. If not, see .
Product: UG-Miner
File: \Includes\APIServer.psm1
Version: 6.2.5
-Version date: 2024/06/23
+Version date: 2024/06/26
#>
Function Start-APIServer {
@@ -775,7 +775,7 @@ Function Start-APIServer {
Break
}
"/devices" {
- $Data = ConvertTo-Json -Depth 10 @($Variables.Devices | Select-Object | Sort-Object -Property Name)
+ $Data = ConvertTo-Json -Depth 10 @($Variables.Devices | Sort-Object -Property Name)
Break
}
"/devices/enabled" {
@@ -891,27 +891,27 @@ Function Start-APIServer {
Break
}
"/pools" {
- $Data = ConvertTo-Json -Depth 10 @($Variables.Pools | Select-Object | Sort-Object -Property Algorithm, Name, Region)
+ $Data = ConvertTo-Json -Depth 10 @($Variables.Pools | Sort-Object -Property Algorithm, Name, Region)
Break
}
"/pools/added" {
- $Data = ConvertTo-Json -Depth 10 @($Variables.PoolsAdded | Select-Object | Sort-Object -Property Algorithm, Name, Region)
+ $Data = ConvertTo-Json -Depth 10 @($Variables.PoolsAdded | Sort-Object -Property Algorithm, Name, Region)
Break
}
"/pools/available" {
- $Data = ConvertTo-Json -Depth 10 @($Variables.Pools.Where({ $_.Available }) | Select-Object | Sort-Object -Property Algorithm, Name, Region)
+ $Data = ConvertTo-Json -Depth 10 @($Variables.Pools.Where({ $_.Available }) | Sort-Object -Property Algorithm, Name, Region)
Break
}
"/pools/best" {
- $Data = ConvertTo-Json -Depth 10 @($Variables.PoolsBest | Select-Object | Sort-Object -Property Algorithm, Name, Region)
+ $Data = ConvertTo-Json -Depth 10 @($Variables.PoolsBest | Sort-Object -Property Algorithm, Name, Region)
Break
}
"/pools/expired" {
- $Data = ConvertTo-Json -Depth 10 @($Variables.PoolsExpired | Select-Object | Sort-Object -Property Algorithm, Name, Region)
+ $Data = ConvertTo-Json -Depth 10 @($Variables.PoolsExpired | Sort-Object -Property Algorithm, Name, Region)
Break
}
"/pools/new" {
- $Data = ConvertTo-Json -Depth 10 @($Variables.PoolsNew | Select-Object | Sort-Object -Property Algorithm, Name, Region)
+ $Data = ConvertTo-Json -Depth 10 @($Variables.PoolsNew | Sort-Object -Property Algorithm, Name, Region)
Break
}
"/pools/minersprimaryalgorithm" {
@@ -935,7 +935,7 @@ Function Start-APIServer {
Break
}
"/pools/updated" {
- $Data = ConvertTo-Json -Depth 10 @($Variables.PoolsUpdated | Select-Object | Sort-Object -Property Algorithm, Name, Region)
+ $Data = ConvertTo-Json -Depth 10 @($Variables.PoolsUpdated | Sort-Object -Property Algorithm, Name, Region)
Break
}
"/poolreasons" {
@@ -1007,7 +1007,7 @@ Function Start-APIServer {
@{ Name = "Algorithm"; Expression = { ($_.data.ForEach({ $_.Algorithm -split ',' -join ' & ' })) -join '
' } },
@{ Name = "Benchmark Hashrate"; Expression = { ($_.data.ForEach({ ($_.EstimatedSpeed.ForEach({ If ([Double]$_ -gt 0) { "$($_ | ConvertTo-Hash)/s" -replace '\s+', ' ' } Else { "-" } })) -join ' & ' })) -join '
' } },
@{ Name = "Currency"; Expression = { $_.Data.Currency | Select-Object -Unique } },
- @{ Name = "EstimatedEarning"; Expression = { [Decimal](($_.Data.Earning | Measure-Object -Sum | Select-Object -ExpandProperty Sum) * $Variables.Rates.BTC.($_.Data.Currency | Select-Object -Unique)) } },
+ @{ Name = "EstimatedEarning"; Expression = { [Decimal](($_.Data.Earning | Measure-Object -Sum).Sum * $Variables.Rates.BTC.($_.Data.Currency | Select-Object -Unique)) } },
@{ Name = "EstimatedProfit"; Expression = { [Decimal]($_.Profit * $Variables.Rates.BTC.($_.Data.Currency | Select-Object -Unique)) } },
@{ Name = "LastSeen"; Expression = { "$($_.date)" } },
@{ Name = "Live Hashrate"; Expression = { ($_.data.ForEach({ ($_.CurrentSpeed.ForEach({ If ([Double]$_ -gt 0) { "$($_ | ConvertTo-Hash)/s" -replace '\s+', ' ' } Else { '-' } })) -join ' & ' })) -join '
' } },
diff --git a/Includes/BalancesTracker.ps1 b/Includes/BalancesTracker.ps1
index f754d070..4095f796 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
using module .\Include.psm1
@@ -371,7 +371,7 @@ Do {
}
Remove-Variable PoolEarnings, PoolTodaysEarning -ErrorAction Ignore
- $EarningsChartData = [PSCustomObject]@{
+ $LegacyGUIearningsChartData = [PSCustomObject]@{
Labels = @(
($ChartData.Group.Date | Sort-Object -Unique).ForEach(
{
@@ -385,7 +385,7 @@ Do {
Remove-Variable PoolChartData -ErrorAction Ignore
$Variables.Remove("EarningsChartData")
- $Variables.EarningsChartData = $EarningsChartData.PSObject.Copy()
+ $Variables.EarningsChartData = $LegacyGUIearningsChartData.PSObject.Copy()
$Variables.EarningsChartData | ConvertTo-Json | Out-File -LiteralPath ".\Data\EarningsChartData.json" -Force -ErrorAction Ignore
# Keep earnings for max. 1 year
diff --git a/Includes/Core.ps1 b/Includes/Core.ps1
index 4fcc48d5..dc6b600b 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
using module .\Include.psm1
@@ -618,16 +618,16 @@ Do {
Remove-Variable WatchdogTimer, Worker -ErrorAction Ignore
}
If ($Config.BadShareRatioThreshold -gt 0) {
- If ($LatestMinerSharesData = ($Miner.Data | Select-Object -Last 1).Shares) {
+ If ($MinerData = ($Miner.Data | Select-Object -Last 1).Shares) {
ForEach ($Algorithm in $Miner.Algorithms) {
- If ($LatestMinerSharesData.$Algorithm -and $LatestMinerSharesData.$Algorithm[1] -gt 0 -and $LatestMinerSharesData.$Algorithm[3] -gt [Math]::Floor(1 / $Config.BadShareRatioThreshold) -and $LatestMinerSharesData.$Algorithm[1] / $LatestMinerSharesData.$Algorithm[3] -gt $Config.BadShareRatioThreshold) {
- $Miner.StatusInfo = "'$($Miner.Info)' stopped. Too many bad shares (Shares Total = $($LatestMinerSharesData.$Algorithm[3]), Rejected = $($LatestMinerSharesData.$Algorithm[1]))"
+ If ($MinerData.$Algorithm -and $MinerData.$Algorithm[1] -gt 0 -and $MinerData.$Algorithm[3] -gt [Math]::Floor(1 / $Config.BadShareRatioThreshold) -and $MinerData.$Algorithm[1] / $MinerData.$Algorithm[3] -gt $Config.BadShareRatioThreshold) {
+ $Miner.StatusInfo = "'$($Miner.Info)' stopped. Too many bad shares (Shares Total = $($MinerData.$Algorithm[3]), Rejected = $($MinerData.$Algorithm[1]))"
$Miner.SetStatus([MinerStatus]::Failed)
$Variables.Devices.Where({ $_.Name -in $Miner.DeviceNames }).ForEach({ $_.Status = $Miner.Status; $_.StatusInfo = $Miner.StatusInfo; $_.SubStatus = $Miner.SubStatus })
}
}
}
- Remove-Variable Algorithm, LatestMinerSharesData -ErrorAction Ignore
+ Remove-Variable Algorithm, MinerData -ErrorAction Ignore
}
}
Else {
@@ -663,9 +663,9 @@ Do {
ForEach ($Worker in $Miner.Workers) {
$Algorithm = $Worker.Pool.Algorithm
- $LatestMinerSharesData = ($Miner.Data[-1]).Shares
- If ($Miner.Data.Count -gt $Miner.MinDataSample -and -not $Miner.Benchmark -and $Config.SubtractBadShares -and $LatestMinerSharesData.$Algorithm -gt 0) { # Need $Miner.MinDataSample shares before adjusting hashrate
- $Factor = (1 - $LatestMinerSharesData.$Algorithm[1] / $LatestMinerSharesData.$Algorithm[3])
+ $MinerData = ($Miner.Data[-1]).Shares
+ If ($Miner.Data.Count -gt $Miner.MinDataSample -and -not $Miner.Benchmark -and $Config.SubtractBadShares -and $MinerData.$Algorithm -gt 0) { # Need $Miner.MinDataSample shares before adjusting hashrate
+ $Factor = (1 - $MinerData.$Algorithm[1] / $MinerData.$Algorithm[3])
$MinerHashrates.$Algorithm *= $Factor
}
Else {
@@ -674,7 +674,7 @@ Do {
$StatName = "$($Miner.Name)_$($Worker.Pool.Algorithm)_Hashrate"
$Stat = Set-Stat -Name $StatName -Value $MinerHashrates.$Algorithm -Duration $Stat_Span -FaultDetection ($Miner.Data.Count -lt $Miner.MinDataSample -or $Miner.Activated -lt $Variables.WatchdogCount) -ToleranceExceeded ($Variables.WatchdogCount + 1)
If ($Stat.Updated -gt $Miner.StatStart) {
- Write-Message -Level Info "Saved hashrate for '$($StatName -replace '_Hashrate$')': $(($MinerHashrates.$Algorithm | ConvertTo-Hash) -replace ' ')$(If ($Factor -le 0.999) { " (adjusted by factor $($Factor.ToString('N3')) [Shares total: $($LatestMinerSharesData.$Algorithm[2]), rejected: $($LatestMinerSharesData.$Algorithm[1])])" })$(If ($Miner.Benchmark) { " [Benchmark done] ($($Miner.Data.Count) Sample$(If ($Miner.Data.Count -ne 1) { "s" }))" })."
+ Write-Message -Level Info "Saved hashrate for '$($StatName -replace '_Hashrate$')': $(($MinerHashrates.$Algorithm | ConvertTo-Hash) -replace ' ')$(If ($Factor -le 0.999) { " (adjusted by factor $($Factor.ToString('N3')) [Shares total: $($MinerData.$Algorithm[2]), rejected: $($MinerData.$Algorithm[1])])" })$(If ($Miner.Benchmark) { " [Benchmark done] ($($Miner.Data.Count) Sample$(If ($Miner.Data.Count -ne 1) { "s" }))" })."
$Miner.StatStart = $Miner.StatEnd
$Variables.AlgorithmsLastUsed.($Worker.Pool.Algorithm) = @{ Updated = $Stat.Updated; Benchmark = $Miner.Benchmark; MinerName = $Miner.Name }
$Variables.PoolsLastUsed.($Worker.Pool.Name) = $Stat.Updated # most likely this will count at the pool to keep balances alive
@@ -705,7 +705,7 @@ Do {
}
}
}
- Remove-Variable Algorithm, CollectedHashrateFactor, CollectedPowerConsumption, LatestMinerSharesData, Miner_Hashrates, Miner_PowerConsumption, Stat, Stat_Name, Stat_Span, Worker -ErrorAction Ignore
+ Remove-Variable Algorithm, CollectedHashrateFactor, CollectedPowerConsumption, MinerData, MinerHashrates, MinerPowerConsumption, Stat, StatName, StatSpan, Worker -ErrorAction Ignore
}
}
Remove-Variable Miner -ErrorAction Ignore
@@ -860,6 +860,7 @@ Do {
}
}
)
+ Remove-Variable ReasonableEarning -ErrorAction Ignore
}
$Bias = If ($Variables.CalculatePowerCost -and -not $Config.IgnorePowerCost) { "Profit_Bias" } Else { "Earning_Bias" }
@@ -978,13 +979,13 @@ Do {
If ($Variables.Downloader.State -ne "Running") {
# Download miner binaries
Write-Message -Level Info "Some miners binaries are missing ($($DownloadList.Count) item$(If ($DownloadList.Count -ne 1) { "s" })), starting downloader..."
- $Downloader_Parameters = @{
+ $DownloaderParameters = @{
Config = $Config
DownloadList = $DownloadList
Variables = $Variables
}
- $Variables.Downloader = Start-ThreadJob -Name Downloader -StreamingHost $null -FilePath ".\Includes\Downloader.ps1" -InitializationScript ([ScriptBlock]::Create("Set-Location '$($Variables.MainPath)'")) -ArgumentList $Downloader_Parameters -ThrottleLimit (2 * $Variables.Devices.Count + 2)
- Remove-Variable Downloader_Parameters
+ $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)
+ Remove-Variable DownloaderParameters
}
ElseIf (-not $Miners.Where({ $_.Available })) {
Write-Message -Level Info "Waiting 30 seconds for downloader to install binaries..."
@@ -1042,7 +1043,7 @@ Do {
Remove-Variable DeviceNames, MinerDeviceNamesCombinations -ErrorAction Ignore
# Get smallest $Bias
- # Hack: Temporarily make all bias -ge 0 by adding smallest bias, following produces wrong sort order when some profits are negative
+ # Hack: Temporarily make all bias -ge 0 by adding smallest bias, MinerBest produces wrong sort order when some profits are negative
$SmallestBias = $Variables.MinersBestPerDevice.$Bias | Sort-Object -Top 1
$MinerCombinations.ForEach({ $_.Combination.ForEach({ $_.$Bias += $SmallestBias }) })
$MinersBest = @(($MinerCombinations | Sort-Object -Descending { @($_.Combination.Where({ [Double]::IsNaN($_.$Bias) })).Count }, { ($_.Combination.$Bias | Measure-Object -Sum).Sum }, { ($_.Combination.Where({ $_.$Bias -ne 0 }) | Measure-Object).Count } -Top 1).Combination)
@@ -1050,15 +1051,15 @@ Do {
# Revert running miner bonus
$Miners.Where({ $_.Status -eq [MinerStatus]::Running }).ForEach({ $_.$Bias /= $RunningMinerBonusFactor })
- Remove-Variable Bias, MinerCombinations, MinerDeviceNameCount, RunningMinerBonusFactor, SmallestBias -ErrorAction Ignore
+ Remove-Variable MinerCombinations, MinerDeviceNameCount, RunningMinerBonusFactor, SmallestBias -ErrorAction Ignore
}
- $Variables.PowerConsumptionIdleSystemW = (($Config.PowerConsumptionIdleSystemW - ($MinersBest.Where({ $_.Type -eq "CPU" }) | Measure-Object PowerConsumption -Sum | Select-Object -ExpandProperty Sum)), 0 | Measure-Object -Maximum).Maximum
+ $Variables.PowerConsumptionIdleSystemW = (($Config.PowerConsumptionIdleSystemW - ($MinersBest.Where({ $_.Type -eq "CPU" }) | Measure-Object PowerConsumption -Sum).Sum), 0 | Measure-Object -Maximum).Maximum
$Variables.BasePowerCost = [Double]($Variables.PowerConsumptionIdleSystemW / 1000 * 24 * $Variables.PowerPricekWh / $Variables.Rates.($Config.PayoutCurrency).($Config.MainCurrency))
- $Variables.MiningEarning = [Double]($MinersBest | Measure-Object Earning_Bias -Sum | Select-Object -ExpandProperty Sum)
- $Variables.MiningPowerCost = [Double]($MinersBest | Measure-Object PowerCost -Sum | Select-Object -ExpandProperty Sum)
- $Variables.MiningPowerConsumption = [Double]($MinersBest | Measure-Object PowerConsumption -Sum | Select-Object -ExpandProperty Sum)
- $Variables.MiningProfit = [Double](($MinersBest | Measure-Object Profit_Bias -Sum | Select-Object -ExpandProperty Sum) - $Variables.BasePowerCost)
+ $Variables.MiningEarning = [Double]($MinersBest | Measure-Object Earning_Bias -Sum).Sum
+ $Variables.MiningPowerCost = [Double]($MinersBest | Measure-Object PowerCost -Sum).Sum
+ $Variables.MiningPowerConsumption = [Double]($MinersBest | Measure-Object PowerConsumption -Sum).Sum
+ $Variables.MiningProfit = [Double](($MinersBest | Measure-Object Profit_Bias -Sum).Sum - $Variables.BasePowerCost)
}
Else {
$Variables.PowerConsumptionIdleSystemW = (($Config.PowerConsumptionIdleSystemW), 0 | Measure-Object -Maximum).Maximum
@@ -1066,6 +1067,7 @@ Do {
$Variables.MinersOptimal = $Variables.MinersBestPerDevice = $Variables.MinerDeviceNamesCombinations = $MinersBest = [Miner[]]@()
$Variables.MiningEarning = $Variables.MiningProfit = $Variables.MiningPowerCost = $Variables.MiningPowerConsumption = [Double]0
}
+ Remove-Variable Bias -ErrorAction Ignore
}
$Variables.MinersNeedingBenchmark = @($Miners.Where({ $_.Available -and $_.Benchmark }) | Sort-Object -Property Name -Unique)
@@ -1145,7 +1147,7 @@ Do {
}
}
- If (-not $MinersBest -and $Miners) { $Miners.ForEach({ $_.Best = $false }) }
+ If (-not $MinersBest) { $Miners.ForEach({ $_.Best = $false }) }
# Stop running miners
ForEach ($Miner in @($Miners.Where({ $_.Status -in @([MinerStatus]::DryRun, [MinerStatus]::Running) }) | Sort-Object { [String]$_.DeviceNames })) {
@@ -1166,8 +1168,8 @@ Do {
$Variables.WatchdogTimers = @($Variables.WatchdogTimers.Where({ $_ -notin $WatchdogTimers }))
}
}
- Remove-Variable WatchdogTimers, Worker -ErrorAction Ignore
$Miner.SetStatus([MinerStatus]::Idle)
+ Remove-Variable WatchdogTimers, Worker -ErrorAction Ignore
}
}
$Variables.Devices.Where({ $_.Name -in $Miner.DeviceNames }).ForEach({ $_.Status = $Miner.Status; $_.StatusInfo = $Miner.StatusInfo; $_.SubStatus = $Miner.SubStatus })
@@ -1494,13 +1496,6 @@ Do {
# - when not benchmnarking: Interval time is over
} While ($Variables.NewMiningStatus -eq "Running" -and -not $Variables.EndCycleMessage -and ([DateTime]::Now.ToUniversalTime() -le $Variables.EndCycleTime -or $Variables.BenchmarkingOrMeasuringMiners))
- Get-Job -State "Completed" | Receive-Job | Out-Null
- Get-Job -State "Completed" | Remove-Job -Force -ErrorAction Ignore | Out-Null
- Get-Job -State "Failed" | Receive-Job | Out-Null
- Get-Job -State "Failed" | Remove-Job -Force -ErrorAction Ignore | Out-Null
- Get-Job -State "Stopped" | Receive-Job | Out-Null
- Get-Job -State "Stopped" | Remove-Job -Force -ErrorAction Ignore | Out-Null
-
# Expire brains loop to collect data
If ($Variables.EndCycleMessage) {
$Variables.EndCycleTime = [DateTime]::Now.ToUniversalTime()
@@ -1539,11 +1534,4 @@ ForEach ($Miner in $Variables.Miners.Where({ $_.Status -in @([MinerStatus]::DryR
}
Remove-Variable Miner -ErrorAction Ignore
-Get-Job -State "Completed" | Receive-Job | Out-Null
-Get-Job -State "Completed" | Remove-Job -Force -ErrorAction Ignore | Out-Null
-Get-Job -State "Failed" | Receive-Job | Out-Null
-Get-Job -State "Failed" | Remove-Job -Force -ErrorAction Ignore | Out-Null
-Get-Job -State "Stopped" | Receive-Job | Out-Null
-Get-Job -State "Stopped" | Remove-Job -Force -ErrorAction Ignore | Out-Null
-
If ($Variables.IdleDetectionRunspace.MiningStatus -ne "Suspended") { Write-Message -Level Info "Ending cycle$($Variables.EndCycleMessage)." }
\ No newline at end of file
diff --git a/Includes/Downloader.ps1 b/Includes/Downloader.ps1
index ccdbe253..155f26dd 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
using module .\Includes\Include.psm1
diff --git a/Includes/Include.psm1 b/Includes/Include.psm1
index 2262e1e1..72d455ec 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
$Global:DebugPreference = "SilentlyContinue"
diff --git a/Includes/LegacyGUI.ps1 b/Includes/LegacyGUI.ps1
index b5f900d8..79dbbe07 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
[Void][System.Reflection.Assembly]::Load("System.Windows.Forms")
@@ -37,16 +37,16 @@ public class ProcessDPI {
$null = [ProcessDPI]::SetProcessDPIAware()
[System.Windows.Forms.Application]::EnableVisualStyles()
-$Colors = @{ }
-$Colors["benchmarking"] = [System.Drawing.Color]::FromArgb(241, 255, 229)
-$Colors["disabled"] = [System.Drawing.Color]::FromArgb(255, 243, 231)
-$Colors["failed"] = [System.Drawing.Color]::FromArgb(255, 230, 230)
-$Colors["idle"] = $Colors["stopped"] = [System.Drawing.Color]::FromArgb(230, 248, 252)
-$Colors["launched"] = [System.Drawing.Color]::FromArgb(229, 255, 229)
-$Colors["running"] = [System.Drawing.Color]::FromArgb(212, 244, 212)
-$Colors["starting"] = $Colors["stopping"] = [System.Drawing.Color]::FromArgb(245, 255, 245)
-$Colors["unavailable"] = [System.Drawing.Color]::FromArgb(254, 245, 220)
-$Colors["warmingup"] = [System.Drawing.Color]::FromArgb(231, 255, 230)
+$LegacyGUIcolors = @{ }
+$LegacyGUIcolors["benchmarking"] = [System.Drawing.Color]::FromArgb(241, 255, 229)
+$LegacyGUIcolors["disabled"] = [System.Drawing.Color]::FromArgb(255, 243, 231)
+$LegacyGUIcolors["failed"] = [System.Drawing.Color]::FromArgb(255, 230, 230)
+$LegacyGUIcolors["idle"] = $LegacyGUIcolors["stopped"] = [System.Drawing.Color]::FromArgb(230, 248, 252)
+$LegacyGUIcolors["launched"] = [System.Drawing.Color]::FromArgb(229, 255, 229)
+$LegacyGUIcolors["running"] = [System.Drawing.Color]::FromArgb(212, 244, 212)
+$LegacyGUIcolors["starting"] = $LegacyGUIcolors["stopping"] = [System.Drawing.Color]::FromArgb(245, 255, 245)
+$LegacyGUIcolors["unavailable"] = [System.Drawing.Color]::FromArgb(254, 245, 220)
+$LegacyGUIcolors["warmingup"] = [System.Drawing.Color]::FromArgb(231, 255, 230)
Function Set-TableColor {
@@ -56,8 +56,8 @@ Function Set-TableColor {
)
If ($Config.UseColorForMinerStatus) {
ForEach ($Row in $DataGridView.Rows) {
- If ($Colors[$Row.DataBoundItem.SubStatus]) {
- $Row.DefaultCellStyle.Backcolor = $Colors[$Row.DataBoundItem.SubStatus]
+ If ($LegacyGUIcolors[$Row.DataBoundItem.SubStatus]) {
+ $Row.DefaultCellStyle.Backcolor = $LegacyGUIcolors[$Row.DataBoundItem.SubStatus]
}
}
}
@@ -65,11 +65,11 @@ Function Set-TableColor {
Function Set-WorkerColor {
If ($Config.UseColorForMinerStatus) {
- ForEach ($Row in $WorkersDGV.Rows) {
+ ForEach ($Row in $LegacyGUIworkersDGV.Rows) {
$Row.DefaultCellStyle.Backcolor = Switch ($Row.DataBoundItem.Status) {
- "Offline" { $Colors["disabled"] }
- "Paused" { $Colors["idle"] }
- "Running" { $Colors["running"] }
+ "Offline" { $LegacyGUIcolors["disabled"] }
+ "Paused" { $LegacyGUIcolors["idle"] }
+ "Running" { $LegacyGUIcolors["running"] }
Default { [System.Drawing.Color]::FromArgb(255, 255, 255, 255) }
}
}
@@ -78,35 +78,35 @@ Function Set-WorkerColor {
Function CheckBoxSwitching_Click {
- $LegacyGUIForm.Cursor = [System.Windows.Forms.Cursors]::WaitCursor
+ $LegacyGUIform.Cursor = [System.Windows.Forms.Cursors]::WaitCursor
$SwitchingDisplayTypes = @()
- $SwitchingPageControls.ForEach({ If ($_.Checked) { $SwitchingDisplayTypes += $_.Tag } })
+ $LegacyGUIswitchingPageControls.ForEach({ If ($_.Checked) { $SwitchingDisplayTypes += $_.Tag } })
If (Test-Path -LiteralPath ".\Logs\SwitchingLog.csv" -PathType Leaf) {
- $SwitchingLogLabel.Text = "Switching log updated $((Get-ChildItem -Path ".\Logs\SwitchingLog.csv").LastWriteTime.ToString())"
- $SwitchingDGV.DataSource = ((Get-Content ".\Logs\SwitchingLog.csv" | ConvertFrom-Csv).Where({ $_.Type -in $SwitchingDisplayTypes }) | Select-Object -Last 1000).ForEach({ $_.Datetime = (Get-Date $_.DateTime); $_ }) | Sort-Object DateTime -Descending | Select-Object @("DateTime", "Action", "Name", "Pools", "Algorithms", "Accounts", "Cycle", "Duration", "DeviceNames", "Type") | Out-DataTable
- If ($SwitchingDGV.Columns) {
- $SwitchingDGV.Columns[0].FillWeight = 50
- $SwitchingDGV.Columns[1].FillWeight = 50
- $SwitchingDGV.Columns[2].FillWeight = 90; $SwitchingDGV.Columns[2].HeaderText = "Miner"
- $SwitchingDGV.Columns[3].FillWeight = 60 + ($SwitchingDGV.MinersBest_Combo.ForEach({ $_.Pools.Count }) | Measure-Object -Maximum).Maximum * 40; $SwitchingDGV.Columns[3].HeaderText = "Pool"
- $SwitchingDGV.Columns[4].FillWeight = 50 + ($SwitchingDGV.MinersBest_Combo.ForEach({ $_.Algorithms.Count }) | Measure-Object -Maximum).Maximum * 25; $SwitchingDGV.Columns[4].HeaderText = "Algorithm (variant)"
- $SwitchingDGV.Columns[5].FillWeight = 90 + ($SwitchingDGV.MinersBest_Combo.ForEach({ $_.Accounts.Count }) | Measure-Object -Maximum).Maximum * 50; $SwitchingDGV.Columns[5].HeaderText = "Account"
- $SwitchingDGV.Columns[6].FillWeight = 30; $SwitchingDGV.Columns[6].HeaderText = "Cycles"; $SwitchingDGV.Columns[6].DefaultCellStyle.Alignment = "MiddleRight"; $SwitchingDGV.Columns[6].HeaderCell.Style.Alignment = "MiddleRight"
- $SwitchingDGV.Columns[7].FillWeight = 35; $SwitchingDGV.Columns[7].DefaultCellStyle.Alignment = "MiddleRight"; $SwitchingDGV.Columns[7].HeaderCell.Style.Alignment = "MiddleRight"
- $SwitchingDGV.Columns[8].FillWeight = 30 + ($SwitchingDGV.MinersBest_Combo.ForEach({ $_.DeviceNames.Count }) | Measure-Object -Maximum).Maximum * 15; $SwitchingDGV.Columns[8].HeaderText = "Device"
- $SwitchingDGV.Columns[9].FillWeight = 30
+ $LegacyGUIswitchingLogLabel.Text = "Switching log updated $((Get-ChildItem -Path ".\Logs\SwitchingLog.csv").LastWriteTime.ToString())"
+ $LegacyGUIswitchingDGV.DataSource = ((Get-Content ".\Logs\SwitchingLog.csv" | ConvertFrom-Csv).Where({ $_.Type -in $SwitchingDisplayTypes }) | Select-Object -Last 1000).ForEach({ $_.Datetime = (Get-Date $_.DateTime); $_ }) | Sort-Object DateTime -Descending | Select-Object @("DateTime", "Action", "Name", "Pools", "Algorithms", "Accounts", "Cycle", "Duration", "DeviceNames", "Type") | Out-DataTable
+ If ($LegacyGUIswitchingDGV.Columns) {
+ $LegacyGUIswitchingDGV.Columns[0].FillWeight = 50
+ $LegacyGUIswitchingDGV.Columns[1].FillWeight = 50
+ $LegacyGUIswitchingDGV.Columns[2].FillWeight = 90; $LegacyGUIswitchingDGV.Columns[2].HeaderText = "Miner"
+ $LegacyGUIswitchingDGV.Columns[3].FillWeight = 60 + ($LegacyGUIswitchingDGV.MinersBest_Combo.ForEach({ $_.Pools.Count }) | Measure-Object -Maximum).Maximum * 40; $LegacyGUIswitchingDGV.Columns[3].HeaderText = "Pool"
+ $LegacyGUIswitchingDGV.Columns[4].FillWeight = 50 + ($LegacyGUIswitchingDGV.MinersBest_Combo.ForEach({ $_.Algorithms.Count }) | Measure-Object -Maximum).Maximum * 25; $LegacyGUIswitchingDGV.Columns[4].HeaderText = "Algorithm (variant)"
+ $LegacyGUIswitchingDGV.Columns[5].FillWeight = 90 + ($LegacyGUIswitchingDGV.MinersBest_Combo.ForEach({ $_.Accounts.Count }) | Measure-Object -Maximum).Maximum * 50; $LegacyGUIswitchingDGV.Columns[5].HeaderText = "Account"
+ $LegacyGUIswitchingDGV.Columns[6].FillWeight = 30; $LegacyGUIswitchingDGV.Columns[6].HeaderText = "Cycles"; $LegacyGUIswitchingDGV.Columns[6].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIswitchingDGV.Columns[6].HeaderCell.Style.Alignment = "MiddleRight"
+ $LegacyGUIswitchingDGV.Columns[7].FillWeight = 35; $LegacyGUIswitchingDGV.Columns[7].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIswitchingDGV.Columns[7].HeaderCell.Style.Alignment = "MiddleRight"
+ $LegacyGUIswitchingDGV.Columns[8].FillWeight = 30 + ($LegacyGUIswitchingDGV.MinersBest_Combo.ForEach({ $_.DeviceNames.Count }) | Measure-Object -Maximum).Maximum * 15; $LegacyGUIswitchingDGV.Columns[8].HeaderText = "Device"
+ $LegacyGUIswitchingDGV.Columns[9].FillWeight = 30
} If ($Config.UseColorForMinerStatus) {
- ForEach ($Row in $SwitchingDGV.Rows) { $Row.DefaultCellStyle.Backcolor = $Colors[$Row.DataBoundItem.Action] }
+ ForEach ($Row in $LegacyGUIswitchingDGV.Rows) { $Row.DefaultCellStyle.Backcolor = $LegacyGUIcolors[$Row.DataBoundItem.Action] }
}
- $SwitchingDGV.ClearSelection()
- $SwitchingDGV.EndInit()
+ $LegacyGUIswitchingDGV.ClearSelection()
+ $LegacyGUIswitchingDGV.EndInit()
}
- Else { $SwitchingLogLabel.Text = "Switching log - no data" }
+ Else { $LegacyGUIswitchingLogLabel.Text = "Switching log - no data" }
- $SwitchingLogClearButton.Enabled = [Boolean]$SwitchingDGV.Columns
+ $LegacyGUIswitchingLogClearButton.Enabled = [Boolean]$LegacyGUIswitchingDGV.Columns
- $LegacyGUIForm.Cursor = [System.Windows.Forms.Cursors]::Normal
+ $LegacyGUIform.Cursor = [System.Windows.Forms.Cursors]::Normal
}
Function Set-DataGridViewDoubleBuffer {
@@ -122,7 +122,7 @@ Function Set-DataGridViewDoubleBuffer {
Function Update-TabControl {
- $LegacyGUIForm.Cursor = [System.Windows.Forms.Cursors]::WaitCursor
+ $LegacyGUIform.Cursor = [System.Windows.Forms.Cursors]::WaitCursor
# Keep only 100 lines, more lines impact performance
$SelectionLength = $Variables.TextBoxSystemLog.SelectionLength
@@ -134,29 +134,29 @@ Function Update-TabControl {
$Variables.TextBoxSystemLog.Select($SelectionStart, $SelectionLength)
}
- Switch ($TabControl.SelectedTab.Text) {
+ Switch ($LegacyGUItabControl.SelectedTab.Text) {
"System status" {
- $ContextMenuStripItem1.Text = "Re-benchmark"
- $ContextMenuStripItem1.Visible = $true
- $ContextMenuStripItem2.Text = "Re-measure power consumption"
- $ContextMenuStripItem2.Visible = $Config.CalculatePowerCost
- $ContextMenuStripItem3.Text = "Mark as failed"
- $ContextMenuStripItem3.Visible = $true
- $ContextMenuStripItem4.Enabled = $true
- $ContextMenuStripItem4.Visible = $true
- $ContextMenuStripItem4.Text = "Disable"
- $ContextMenuStripItem5.Enabled = $false
- $ContextMenuStripItem5.Visible = $false
- $ContextMenuStripItem6.Enabled = $false
- $ContextMenuStripItem6.Visible = $false
-
- $ActiveMinersLabel.Text = If ($Variables.MinersBest) { "Active miners updated $([DateTime]::Now.ToString())" } Else { "No miners running." }
-
- If (-not ($ContextMenuStrip.Visible -and $ContextMenuStrip.Enabled)) {
-
- $ActiveMinersDGV.BeginInit()
- $ActiveMinersDGV.ClearSelection()
- $ActiveMinersDGV.DataSource = $Variables.MinersBest | Select-Object @(
+ $LegacyGUIcontextMenuStripItem1.Text = "Re-benchmark"
+ $LegacyGUIcontextMenuStripItem1.Visible = $true
+ $LegacyGUIcontextMenuStripItem2.Text = "Re-measure power consumption"
+ $LegacyGUIcontextMenuStripItem2.Visible = $Config.CalculatePowerCost
+ $LegacyGUIcontextMenuStripItem3.Text = "Mark as failed"
+ $LegacyGUIcontextMenuStripItem3.Visible = $true
+ $LegacyGUIcontextMenuStripItem4.Enabled = $true
+ $LegacyGUIcontextMenuStripItem4.Visible = $true
+ $LegacyGUIcontextMenuStripItem4.Text = "Disable"
+ $LegacyGUIcontextMenuStripItem5.Enabled = $false
+ $LegacyGUIcontextMenuStripItem5.Visible = $false
+ $LegacyGUIcontextMenuStripItem6.Enabled = $false
+ $LegacyGUIcontextMenuStripItem6.Visible = $false
+
+ $LegacyGUIactiveMinersLabel.Text = If ($Variables.MinersBest) { "Active miners updated $([DateTime]::Now.ToString())" } Else { "No miners running." }
+
+ If (-not ($LegacyGUIcontextMenuStrip.Visible -and $LegacyGUIcontextMenuStrip.Enabled)) {
+
+ $LegacyGUIactiveMinersDGV.BeginInit()
+ $LegacyGUIactiveMinersDGV.ClearSelection()
+ $LegacyGUIactiveMinersDGV.DataSource = $Variables.MinersBest | Select-Object @(
@{ Name = "Info"; Expression = { $_.info } }
@{ Name = "SubStatus"; Expression = { $_.SubStatus } }
@{ Name = "Device(s)"; Expression = { $_.DeviceNames -join '; ' } }
@@ -171,28 +171,28 @@ Function Update-TabControl {
@{ Name = "Hashrate"; Expression = { If ($_.Benchmark) { If ($_.Status -eq "Running") { "Benchmarking..." } Else { "Benchmark pending" } } Else { $_.WorkersRunning.ForEach({ $_.Hashrate | ConvertTo-Hash }) -join ' & ' } } }
@{ Name = "Running time (hhh:mm:ss)"; Expression = { "{0}:{1:mm}:{1:ss}" -f [Math]::floor(([DateTime]::Now.ToUniversalTime() - $_.BeginTime).TotalDays * 24), ([DateTime]::Now.ToUniversalTime() - $_.BeginTime) } }
@{ Name = "Total active (hhh:mm:ss)"; Expression = { "{0}:{1:mm}:{1:ss}" -f [Math]::floor($_.TotalMiningDuration.TotalDays * 24), $_.TotalMiningDuration } }
- If ($RadioButtonPoolsUnavailable.checked) { @{ Name = "Reason"; Expression = { $_.Reasons -join ', ' } } }
+ If ($LegacyGUIradioButtonPoolsUnavailable.checked) { @{ Name = "Reason"; Expression = { $_.Reasons -join ', ' } } }
) | Sort-Object -Property "Device(s)" | Out-DataTable
- If ($ActiveMinersDGV.Columns) {
- $ActiveMinersDGV.Columns[0].Visible = $false
- $ActiveMinersDGV.Columns[1].Visible = $false
- $ActiveMinersDGV.Columns[2].FillWeight = 30 + ($Variables.MinersBest.ForEach({ $_.DeviceNames.Count }) | Measure-Object -Maximum).Maximum * 20
- $ActiveMinersDGV.Columns[3].FillWeight = 160
- $ActiveMinersDGV.Columns[4].FillWeight = 60
- $ActiveMinersDGV.Columns[5].FillWeight = 55; $ActiveMinersDGV.Columns[5].DefaultCellStyle.Alignment = "MiddleRight"; $ActiveMinersDGV.Columns[5].HeaderCell.Style.Alignment = "MiddleRight"
- $ActiveMinersDGV.Columns[6].FillWeight = 55; $ActiveMinersDGV.Columns[6].DefaultCellStyle.Alignment = "MiddleRight"; $ActiveMinersDGV.Columns[6].HeaderCell.Style.Alignment = "MiddleRight"; $ActiveMinersDGV.Columns[6].Visible = $Variables.CalculatePowerCost
- $ActiveMinersDGV.Columns[7].FillWeight = 55; $ActiveMinersDGV.Columns[7].DefaultCellStyle.Alignment = "MiddleRight"; $ActiveMinersDGV.Columns[7].HeaderCell.Style.Alignment = "MiddleRight"; $ActiveMinersDGV.Columns[7].Visible = $Variables.CalculatePowerCost
- $ActiveMinersDGV.Columns[8].FillWeight = 55; $ActiveMinersDGV.Columns[8].DefaultCellStyle.Alignment = "MiddleRight"; $ActiveMinersDGV.Columns[8].HeaderCell.Style.Alignment = "MiddleRight"; $ActiveMinersDGV.Columns[8].Visible = $Variables.CalculatePowerCost
- $ActiveMinersDGV.Columns[9].FillWeight = 70 + ($Variables.MinersBest.({ $_.Workers.Count })| Measure-Object -Maximum).Maximum * 35
- $ActiveMinersDGV.Columns[10].FillWeight = 50 + ($Variables.MinersBest.({ $_.Workers.Count }) | Measure-Object -Maximum).Maximum * 25
- $ActiveMinersDGV.Columns[11].FillWeight = 50 + ($Variables.MinersBest.({ $_.Workers.Count }) | Measure-Object -Maximum).Maximum * 25; $ActiveMinersDGV.Columns[11].DefaultCellStyle.Alignment = "MiddleRight"; $ActiveMinersDGV.Columns[11].HeaderCell.Style.Alignment = "MiddleRight"
- $ActiveMinersDGV.Columns[12].FillWeight = 65; $ActiveMinersDGV.Columns[12].DefaultCellStyle.Alignment = "MiddleRight"; $ActiveMinersDGV.Columns[13].HeaderCell.Style.Alignment = "MiddleRight"
- $ActiveMinersDGV.Columns[13].FillWeight = 65; $ActiveMinersDGV.Columns[13].DefaultCellStyle.Alignment = "MiddleRight"; $ActiveMinersDGV.Columns[14].HeaderCell.Style.Alignment = "MiddleRight"
+ If ($LegacyGUIactiveMinersDGV.Columns) {
+ $LegacyGUIactiveMinersDGV.Columns[0].Visible = $false
+ $LegacyGUIactiveMinersDGV.Columns[1].Visible = $false
+ $LegacyGUIactiveMinersDGV.Columns[2].FillWeight = 30 + ($Variables.MinersBest.ForEach({ $_.DeviceNames.Count }) | Measure-Object -Maximum).Maximum * 20
+ $LegacyGUIactiveMinersDGV.Columns[3].FillWeight = 160
+ $LegacyGUIactiveMinersDGV.Columns[4].FillWeight = 60
+ $LegacyGUIactiveMinersDGV.Columns[5].FillWeight = 55; $LegacyGUIactiveMinersDGV.Columns[5].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIactiveMinersDGV.Columns[5].HeaderCell.Style.Alignment = "MiddleRight"
+ $LegacyGUIactiveMinersDGV.Columns[6].FillWeight = 55; $LegacyGUIactiveMinersDGV.Columns[6].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIactiveMinersDGV.Columns[6].HeaderCell.Style.Alignment = "MiddleRight"; $LegacyGUIactiveMinersDGV.Columns[6].Visible = $Variables.CalculatePowerCost
+ $LegacyGUIactiveMinersDGV.Columns[7].FillWeight = 55; $LegacyGUIactiveMinersDGV.Columns[7].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIactiveMinersDGV.Columns[7].HeaderCell.Style.Alignment = "MiddleRight"; $LegacyGUIactiveMinersDGV.Columns[7].Visible = $Variables.CalculatePowerCost
+ $LegacyGUIactiveMinersDGV.Columns[8].FillWeight = 55; $LegacyGUIactiveMinersDGV.Columns[8].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIactiveMinersDGV.Columns[8].HeaderCell.Style.Alignment = "MiddleRight"; $LegacyGUIactiveMinersDGV.Columns[8].Visible = $Variables.CalculatePowerCost
+ $LegacyGUIactiveMinersDGV.Columns[9].FillWeight = 70 + ($Variables.MinersBest.({ $_.Workers.Count })| Measure-Object -Maximum).Maximum * 35
+ $LegacyGUIactiveMinersDGV.Columns[10].FillWeight = 50 + ($Variables.MinersBest.({ $_.Workers.Count }) | Measure-Object -Maximum).Maximum * 25
+ $LegacyGUIactiveMinersDGV.Columns[11].FillWeight = 50 + ($Variables.MinersBest.({ $_.Workers.Count }) | Measure-Object -Maximum).Maximum * 25; $LegacyGUIactiveMinersDGV.Columns[11].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIactiveMinersDGV.Columns[11].HeaderCell.Style.Alignment = "MiddleRight"
+ $LegacyGUIactiveMinersDGV.Columns[12].FillWeight = 65; $LegacyGUIactiveMinersDGV.Columns[12].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIactiveMinersDGV.Columns[13].HeaderCell.Style.Alignment = "MiddleRight"
+ $LegacyGUIactiveMinersDGV.Columns[13].FillWeight = 65; $LegacyGUIactiveMinersDGV.Columns[13].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIactiveMinersDGV.Columns[14].HeaderCell.Style.Alignment = "MiddleRight"
}
- Set-TableColor -DataGridView $ActiveMinersDGV
+ Set-TableColor -DataGridView $LegacyGUIactiveMinersDGV
Form-Resize # To fully show lauched miners gridview
- $ActiveMinersDGV.EndInit()
+ $LegacyGUIactiveMinersDGV.EndInit()
}
Break
}
@@ -219,8 +219,8 @@ Function Update-TabControl {
$ChartTitle.Alignment = "TopCenter"
$ChartTitle.Font = [System.Drawing.Font]::new("Arial", 10)
$ChartTitle.Text = "Earnings of the past $($DataSource.Labels.Count) active days"
- $EarningsChart.Titles.Clear()
- $EarningsChart.Titles.Add($ChartTitle)
+ $LegacyGUIearningsChart.Titles.Clear()
+ $LegacyGUIearningsChart.Titles.Add($ChartTitle)
$ChartArea = New-Object System.Windows.Forms.DataVisualization.Charting.ChartArea
$ChartArea.AxisX.Enabled = 0
@@ -242,32 +242,32 @@ Function Update-TabControl {
$ChartArea.BackGradientStyle = 3
$ChartArea.BackSecondaryColor = [System.Drawing.Color]::FromArgb(255, 224, 224, 224) #"#777E7E"
- $EarningsChart.ChartAreas.Clear()
- $EarningsChart.ChartAreas.Add($ChartArea)
- $EarningsChart.Series.Clear()
+ $LegacyGUIearningsChart.ChartAreas.Clear()
+ $LegacyGUIearningsChart.ChartAreas.Add($ChartArea)
+ $LegacyGUIearningsChart.Series.Clear()
$Color = @(255, 255, 255, 255) #"FFFFFF"
$DaySum = @(0) * $DataSource.Labels.Count
- $ToolTipText = $DataSource.Labels.Clone()
+ $LegacyGUItooltipText = $DataSource.Labels.Clone()
ForEach ($Pool in $DataSource.Earnings.PSObject.Properties.Name) {
$Color = (Get-NextColor -Color $Color -Factors -0, -20, -20, -20)
- $EarningsChart.Series.Add($Pool)
- $EarningsChart.Series[$Pool].ChartType = "StackedColumn"
- $EarningsChart.Series[$Pool].BorderWidth = 3
- $EarningsChart.Series[$Pool].Color = [System.Drawing.Color]::FromArgb($Color[0], $Color[1], $Color[2], $Color[3])
+ $LegacyGUIearningsChart.Series.Add($Pool)
+ $LegacyGUIearningsChart.Series[$Pool].ChartType = "StackedColumn"
+ $LegacyGUIearningsChart.Series[$Pool].BorderWidth = 3
+ $LegacyGUIearningsChart.Series[$Pool].Color = [System.Drawing.Color]::FromArgb($Color[0], $Color[1], $Color[2], $Color[3])
$I = 0
$Datasource.Earnings.$Pool.ForEach(
{
$_ *= $Variables.Rates.BTC.($Config.MainCurrency)
- $EarningsChart.Series[$Pool].Points.addxy(0, $_) | Out-Null
+ $LegacyGUIearningsChart.Series[$Pool].Points.addxy(0, $_) | Out-Null
$Daysum[$I] += $_
If ($_) {
- $ToolTipText[$I] = "$($ToolTipText[$I])`r$($Pool): {0:N$($Config.DecimalsMax)} $($Config.MainCurrency)" -f $_
+ $LegacyGUItooltipText[$I] = "$($LegacyGUItooltipText[$I])`r$($Pool): {0:N$($Config.DecimalsMax)} $($Config.MainCurrency)" -f $_
}
$I ++
}
@@ -279,10 +279,10 @@ Function Update-TabControl {
$DataSource.Labels.ForEach(
{
$ChartArea.AxisX.CustomLabels.Add($I +0.5, $I + 1.5, " $_ ")
- $ChartArea.AxisX.CustomLabels[$I].ToolTip = "$($ToolTipText[$I])`rTotal: {0:N$($Config.DecimalsMax)} $($Config.MainCurrency)" -f $Daysum[$I]
+ $ChartArea.AxisX.CustomLabels[$I].ToolTip = "$($LegacyGUItooltipText[$I])`rTotal: {0:N$($Config.DecimalsMax)} $($Config.MainCurrency)" -f $Daysum[$I]
ForEach ($Pool in $DataSource.Earnings.PSObject.Properties.Name) {
If ($Datasource.Earnings.$Pool[$I]) {
- $EarningsChart.Series[$Pool].Points[$I].ToolTip = "$($ToolTipText[$I])`rTotal: {0:N$($Config.DecimalsMax)} $($Config.MainCurrency)" -f $Daysum[$I]
+ $LegacyGUIearningsChart.Series[$Pool].Points[$I].ToolTip = "$($LegacyGUItooltipText[$I])`rTotal: {0:N$($Config.DecimalsMax)} $($Config.MainCurrency)" -f $Daysum[$I]
}
}
$I ++
@@ -294,11 +294,11 @@ Function Update-TabControl {
}
If ($Config.BalancesTrackerPollInterval -gt 0) {
If ($Variables.Balances) {
- $BalancesLabel.Text = "Balances data updated $(($Variables.Balances.Values.LastUpdated | Sort-Object -Bottom 1).ToLocalTime().ToString())"
+ $LegacyGUIbalancesLabel.Text = "Balances data updated $(($Variables.Balances.Values.LastUpdated | Sort-Object -Bottom 1).ToLocalTime().ToString())"
- $BalancesDGV.BeginInit()
- $BalancesDGV.ClearSelection()
- $BalancesDGV.DataSource = $Variables.Balances.Values | Select-Object @(
+ $LegacyGUIbalancesDGV.BeginInit()
+ $LegacyGUIbalancesDGV.ClearSelection()
+ $LegacyGUIbalancesDGV.DataSource = $Variables.Balances.Values | Select-Object @(
@{ Name = "Currency"; Expression = { $_.Currency } },
@{ Name = "Pool [Currency]"; Expression = { "$($_.Pool) [$($_.Currency)]" } },
@{ Name = "Balance ($($Config.MainCurrency))"; Expression = { "{0:n$($Config.DecimalsMax)}" -f ($_.Balance * $Variables.Rates.($_.Currency).($Config.MainCurrency)) } },
@@ -310,18 +310,18 @@ Function Update-TabControl {
@{ Name = "Payout threshold"; Expression = { If ($_.PayoutThresholdCurrency -eq "BTC" -and $Config.UsemBTC) { $PayoutThresholdCurrency = "mBTC"; $mBTCfactor = 1000 } Else { $PayoutThresholdCurrency = $_.PayoutThresholdCurrency; $mBTCfactor = 1 }; "{0:P2} of {1} {2} " -f ($_.Balance / $_.PayoutThreshold * $Variables.Rates.($_.Currency).($_.PayoutThresholdCurrency)), ($_.PayoutThreshold * $mBTCfactor), $PayoutThresholdCurrency } }
) | Sort-Object -Property Pool | Out-DataTable
- If ($BalancesDGV.Columns) {
- $BalancesDGV.Columns[0].Visible = $false
- $BalancesDGV.Columns[1].FillWeight = 140
- $BalancesDGV.Columns[2].FillWeight = 90; $BalancesDGV.Columns[2].DefaultCellStyle.Alignment = "MiddleRight"; $BalancesDGV.Columns[2].HeaderCell.Style.Alignment = "MiddleRight"
- $BalancesDGV.Columns[3].FillWeight = 90; $BalancesDGV.Columns[3].DefaultCellStyle.Alignment = "MiddleRight"; $BalancesDGV.Columns[3].HeaderCell.Style.Alignment = "MiddleRight"
- $BalancesDGV.Columns[4].FillWeight = 75; $BalancesDGV.Columns[4].DefaultCellStyle.Alignment = "MiddleRight"; $BalancesDGV.Columns[4].HeaderCell.Style.Alignment = "MiddleRight"
- $BalancesDGV.Columns[5].FillWeight = 75; $BalancesDGV.Columns[5].DefaultCellStyle.Alignment = "MiddleRight"; $BalancesDGV.Columns[5].HeaderCell.Style.Alignment = "MiddleRight"
- $BalancesDGV.Columns[6].FillWeight = 75; $BalancesDGV.Columns[6].DefaultCellStyle.Alignment = "MiddleRight"; $BalancesDGV.Columns[6].HeaderCell.Style.Alignment = "MiddleRight"
- $BalancesDGV.Columns[7].FillWeight = 80
- $BalancesDGV.Columns[8].FillWeight = 100
+ If ($LegacyGUIbalancesDGV.Columns) {
+ $LegacyGUIbalancesDGV.Columns[0].Visible = $false
+ $LegacyGUIbalancesDGV.Columns[1].FillWeight = 140
+ $LegacyGUIbalancesDGV.Columns[2].FillWeight = 90; $LegacyGUIbalancesDGV.Columns[2].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIbalancesDGV.Columns[2].HeaderCell.Style.Alignment = "MiddleRight"
+ $LegacyGUIbalancesDGV.Columns[3].FillWeight = 90; $LegacyGUIbalancesDGV.Columns[3].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIbalancesDGV.Columns[3].HeaderCell.Style.Alignment = "MiddleRight"
+ $LegacyGUIbalancesDGV.Columns[4].FillWeight = 75; $LegacyGUIbalancesDGV.Columns[4].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIbalancesDGV.Columns[4].HeaderCell.Style.Alignment = "MiddleRight"
+ $LegacyGUIbalancesDGV.Columns[5].FillWeight = 75; $LegacyGUIbalancesDGV.Columns[5].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIbalancesDGV.Columns[5].HeaderCell.Style.Alignment = "MiddleRight"
+ $LegacyGUIbalancesDGV.Columns[6].FillWeight = 75; $LegacyGUIbalancesDGV.Columns[6].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIbalancesDGV.Columns[6].HeaderCell.Style.Alignment = "MiddleRight"
+ $LegacyGUIbalancesDGV.Columns[7].FillWeight = 80
+ $LegacyGUIbalancesDGV.Columns[8].FillWeight = 100
}
- $BalancesDGV.Rows.ForEach(
+ $LegacyGUIbalancesDGV.Rows.ForEach(
{
$_.Cells[2].ToolTipText = "$($_.Cells[0].Value) {0:n$($Config.DecimalsMax)}" -f ([Double]$_.Cells[2].Value * $Variables.Rates.($Config.MainCurrency).($_.Cells[0].Value))
$_.Cells[3].ToolTipText = "$($_.Cells[0].Value) {0:n$($Config.DecimalsMax)}" -f ([Double]$_.Cells[3].Value * $Variables.Rates.($Config.MainCurrency).($_.Cells[0].Value))
@@ -331,42 +331,42 @@ Function Update-TabControl {
}
)
Form-Resize # To fully show lauched miners gridview
- $BalancesDGV.EndInit()
+ $LegacyGUIbalancesDGV.EndInit()
}
Else {
- $BalancesLabel.Text = "Waiting for balances data..."
+ $LegacyGUIbalancesLabel.Text = "Waiting for balances data..."
}
}
Else {
- $BalancesLabel.Text = "BalanceTracker is disabled (Configuration item 'BalancesTrackerPollInterval' -eq 0)"
+ $LegacyGUIbalancesLabel.Text = "BalanceTracker is disabled (Configuration item 'BalancesTrackerPollInterval' -eq 0)"
}
Break
}
"Miners" {
- $ContextMenuStripItem1.Text = "Re-benchmark"
- $ContextMenuStripItem1.Visible = $true
- $ContextMenuStripItem2.Enabled = $Config.CalculatePowerCost
- $ContextMenuStripItem2.Text = "Re-measure power consumption"
- $ContextMenuStripItem2.Visible = $true
- $ContextMenuStripItem3.Enabled = $true
- $ContextMenuStripItem3.Text = "Mark as failed"
- $ContextMenuStripItem4.Text = "Disable"
- $ContextMenuStripItem5.Enabled = $true
- $ContextMenuStripItem5.Text = "Enable"
- $ContextMenuStripItem5.Visible = $true
- $ContextMenuStripItem6.Enabled = $Variables.WatchdogTimers
- $ContextMenuStripItem6.Text = "Remove watchdog timer"
- $ContextMenuStripItem6.Visible = $true
-
- If (-not ($ContextMenuStrip.Visible -and $ContextMenuStrip.Enabled)) {
-
- If ($RadioButtonMinersOptimal.checked) { $DataSource = $Variables.MinersOptimal }
- ElseIf ($RadioButtonMinersUnavailable.checked) { $DataSource = $Variables.Miners.Where({ -not $_.Available }) }
+ $LegacyGUIcontextMenuStripItem1.Text = "Re-benchmark"
+ $LegacyGUIcontextMenuStripItem1.Visible = $true
+ $LegacyGUIcontextMenuStripItem2.Enabled = $Config.CalculatePowerCost
+ $LegacyGUIcontextMenuStripItem2.Text = "Re-measure power consumption"
+ $LegacyGUIcontextMenuStripItem2.Visible = $true
+ $LegacyGUIcontextMenuStripItem3.Enabled = $true
+ $LegacyGUIcontextMenuStripItem3.Text = "Mark as failed"
+ $LegacyGUIcontextMenuStripItem4.Text = "Disable"
+ $LegacyGUIcontextMenuStripItem5.Enabled = $true
+ $LegacyGUIcontextMenuStripItem5.Text = "Enable"
+ $LegacyGUIcontextMenuStripItem5.Visible = $true
+ $LegacyGUIcontextMenuStripItem6.Enabled = $Variables.WatchdogTimers
+ $LegacyGUIcontextMenuStripItem6.Text = "Remove watchdog timer"
+ $LegacyGUIcontextMenuStripItem6.Visible = $true
+
+ If (-not ($LegacyGUIcontextMenuStrip.Visible -and $LegacyGUIcontextMenuStrip.Enabled)) {
+
+ If ($LegacyGUIradioButtonMinersOptimal.checked) { $DataSource = $Variables.MinersOptimal }
+ ElseIf ($LegacyGUIradioButtonMinersUnavailable.checked) { $DataSource = $Variables.Miners.Where({ -not $_.Available }) }
Else { $DataSource = $Variables.Miners }
- $MinersDGV.BeginInit()
- $MinersDGV.ClearSelection()
- $MinersDGV.DataSource = $DataSource | Select-Object @(
+ $LegacyGUIminersDGV.BeginInit()
+ $LegacyGUIminersDGV.ClearSelection()
+ $LegacyGUIminersDGV.DataSource = $DataSource | Select-Object @(
@{ Name = "Info"; Expression = { $_.Info } },
@{ Name = "SubStatus"; Expression = { $_.SubStatus } },
@{ Name = "Best"; Expression = { $_.Best } },
@@ -380,48 +380,48 @@ Function Update-TabControl {
@{ Name = "Algorithm (variant)"; Expression = { $_.Workers.Pool.AlgorithmVariant -join ' & '} },
@{ Name = "Pool"; Expression = { $_.Workers.Pool.Name -join ' & ' } },
@{ Name = "Hashrate"; Expression = { If ($_.Benchmark) { If ($_.Status -eq "Running") { "Benchmarking..." } Else { "Benchmark pending" } } Else { $_.Workers.ForEach({ $_.Hashrate | ConvertTo-Hash }) -join ' & ' } } }
- If ($RadioButtonMinersUnavailable.checked -or $RadioButtonMiners.checked) { @{ Name = "Reason(s)"; Expression = { $_.Reasons -join ', '} } }
+ If ($LegacyGUIradioButtonMinersUnavailable.checked -or $LegacyGUIradioButtonMiners.checked) { @{ Name = "Reason(s)"; Expression = { $_.Reasons -join ', '} } }
) | Sort-Object @{ Expression = { $_.Best }; Descending = $true }, "Device(s)", Name | Out-DataTable
- If ($MinersDGV.Columns) {
- $MinersDGV.Columns[0].Visible = $false
- $MinersDGV.Columns[1].Visible = $false
- $MinersDGV.Columns[2].Visible = $false
- $MinersDGV.Columns[3].FillWeight = 160
- $MinersDGV.Columns[4].FillWeight = 25 + ($DataSource.ForEach({ $_.DeviceNames.Count }) | Measure-Object -Maximum).Maximum * 25
- $MinersDGV.Columns[5].Visible = -not $RadioButtonMinersUnavailable.checked; $MinersDGV.Columns[5].FillWeight = 50
- $MinersDGV.Columns[6].FillWeight = 55; $MinersDGV.Columns[6].DefaultCellStyle.Alignment = "MiddleRight"; $MinersDGV.Columns[6].HeaderCell.Style.Alignment = "MiddleRight"
- $MinersDGV.Columns[7].FillWeight = 60; $MinersDGV.Columns[7].DefaultCellStyle.Alignment = "MiddleRight"; $MinersDGV.Columns[7].HeaderCell.Style.Alignment = "MiddleRight"; $MinersDGV.Columns[7].Visible = $Variables.CalculatePowerCost
- $MinersDGV.Columns[8].FillWeight = 55; $MinersDGV.Columns[8].DefaultCellStyle.Alignment = "MiddleRight"; $MinersDGV.Columns[8].HeaderCell.Style.Alignment = "MiddleRight"; $MinersDGV.Columns[8].Visible = $Variables.CalculatePowerCost
- $MinersDGV.Columns[9].FillWeight = 55; $MinersDGV.Columns[9].DefaultCellStyle.Alignment = "MiddleRight"; $MinersDGV.Columns[9].HeaderCell.Style.Alignment = "MiddleRight"; $MinersDGV.Columns[9].Visible = $Variables.CalculatePowerCost
- $MinersDGV.Columns[10].FillWeight = 60 + ($DataSource.ForEach({ $_.Workers.Count }) | Measure-Object -Maximum).Maximum * 30
- $MinersDGV.Columns[11].FillWeight = 60 + ($DataSource.ForEach({ $_.Workers.Count }) | Measure-Object -Maximum).Maximum * 30
- $MinersDGV.Columns[12].FillWeight = 50 + ($DataSource.ForEach({ $_.Workers.Count }) | Measure-Object -Maximum).Maximum * 25; $MinersDGV.Columns[12].DefaultCellStyle.Alignment = "MiddleRight"; $MinersDGV.Columns[12].HeaderCell.Style.Alignment = "MiddleRight"
+ If ($LegacyGUIminersDGV.Columns) {
+ $LegacyGUIminersDGV.Columns[0].Visible = $false
+ $LegacyGUIminersDGV.Columns[1].Visible = $false
+ $LegacyGUIminersDGV.Columns[2].Visible = $false
+ $LegacyGUIminersDGV.Columns[3].FillWeight = 160
+ $LegacyGUIminersDGV.Columns[4].FillWeight = 25 + ($DataSource.ForEach({ $_.DeviceNames.Count }) | Measure-Object -Maximum).Maximum * 25
+ $LegacyGUIminersDGV.Columns[5].Visible = -not $LegacyGUIradioButtonMinersUnavailable.checked; $LegacyGUIminersDGV.Columns[5].FillWeight = 50
+ $LegacyGUIminersDGV.Columns[6].FillWeight = 55; $LegacyGUIminersDGV.Columns[6].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIminersDGV.Columns[6].HeaderCell.Style.Alignment = "MiddleRight"
+ $LegacyGUIminersDGV.Columns[7].FillWeight = 60; $LegacyGUIminersDGV.Columns[7].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIminersDGV.Columns[7].HeaderCell.Style.Alignment = "MiddleRight"; $LegacyGUIminersDGV.Columns[7].Visible = $Variables.CalculatePowerCost
+ $LegacyGUIminersDGV.Columns[8].FillWeight = 55; $LegacyGUIminersDGV.Columns[8].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIminersDGV.Columns[8].HeaderCell.Style.Alignment = "MiddleRight"; $LegacyGUIminersDGV.Columns[8].Visible = $Variables.CalculatePowerCost
+ $LegacyGUIminersDGV.Columns[9].FillWeight = 55; $LegacyGUIminersDGV.Columns[9].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIminersDGV.Columns[9].HeaderCell.Style.Alignment = "MiddleRight"; $LegacyGUIminersDGV.Columns[9].Visible = $Variables.CalculatePowerCost
+ $LegacyGUIminersDGV.Columns[10].FillWeight = 60 + ($DataSource.ForEach({ $_.Workers.Count }) | Measure-Object -Maximum).Maximum * 30
+ $LegacyGUIminersDGV.Columns[11].FillWeight = 60 + ($DataSource.ForEach({ $_.Workers.Count }) | Measure-Object -Maximum).Maximum * 30
+ $LegacyGUIminersDGV.Columns[12].FillWeight = 50 + ($DataSource.ForEach({ $_.Workers.Count }) | Measure-Object -Maximum).Maximum * 25; $LegacyGUIminersDGV.Columns[12].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIminersDGV.Columns[12].HeaderCell.Style.Alignment = "MiddleRight"
}
- Set-TableColor -DataGridView $MinersDGV
- $MinersDGV.EndInit()
+ Set-TableColor -DataGridView $LegacyGUIminersDGV
+ $LegacyGUIminersDGV.EndInit()
}
- If ($MinersDGV.Columns) { $MinersLabel.Text = "Miner data updated $([DateTime]::Now.ToString())" }
- ElseIf ($Variables.MiningStatus -eq "Idle") { $MinersLabel.Text = "No data - mining is stopped"}
- ElseIf ($Variables.MiningStatus -eq "Paused") { $MinersLabel.Text = "No data - mining is paused"}
- Else { $MinersLabel.Text = "Waiting for data..." }
+ If ($LegacyGUIminersDGV.Columns) { $LegacyGUIminersLabel.Text = "Miner data updated $([DateTime]::Now.ToString())" }
+ ElseIf ($Variables.MiningStatus -eq "Idle") { $LegacyGUIminersLabel.Text = "No data - mining is stopped"}
+ ElseIf ($Variables.MiningStatus -eq "Paused") { $LegacyGUIminersLabel.Text = "No data - mining is paused"}
+ Else { $LegacyGUIminersLabel.Text = "Waiting for data..." }
Break
}
"Pools" {
- $ContextMenuStripItem1.Visible = $false
- $ContextMenuStripItem2.Visible = $false
- $ContextMenuStripItem3.Text = "Reset pool stat data"
- $ContextMenuStripItem3.Visible = $true
- $ContextMenuStripItem4.Enabled = $Variables.WatchdogTimers
- $ContextMenuStripItem4.Text = "Remove watchdog timer"
- $ContextMenuStripItem5.Visible = $false
- $ContextMenuStripItem6.Visible = $false
-
- If (-not ($ContextMenuStrip.Visible -and $ContextMenuStrip.Enabled)) {
-
- If ($RadioButtonPoolsBest.checked) { $DataSource = $Variables.PoolsBest }
- ElseIf ($RadioButtonPoolsUnavailable.checked) { $DataSource = $Variables.Pools.Where({ -not $_.Available }) }
+ $LegacyGUIcontextMenuStripItem1.Visible = $false
+ $LegacyGUIcontextMenuStripItem2.Visible = $false
+ $LegacyGUIcontextMenuStripItem3.Text = "Reset pool stat data"
+ $LegacyGUIcontextMenuStripItem3.Visible = $true
+ $LegacyGUIcontextMenuStripItem4.Enabled = $Variables.WatchdogTimers
+ $LegacyGUIcontextMenuStripItem4.Text = "Remove watchdog timer"
+ $LegacyGUIcontextMenuStripItem5.Visible = $false
+ $LegacyGUIcontextMenuStripItem6.Visible = $false
+
+ If (-not ($LegacyGUIcontextMenuStrip.Visible -and $LegacyGUIcontextMenuStrip.Enabled)) {
+
+ If ($LegacyGUIradioButtonPoolsBest.checked) { $DataSource = $Variables.PoolsBest }
+ ElseIf ($LegacyGUIradioButtonPoolsUnavailable.checked) { $DataSource = $Variables.Pools.Where({ -not $_.Available }) }
Else { $DataSource = $Variables.Pools }
If ($Config.UsemBTC) {
@@ -433,9 +433,9 @@ Function Update-TabControl {
$Unit = "BTC"
}
- $PoolsDGV.BeginInit()
- $PoolsDGV.ClearSelection()
- $PoolsDGV.DataSource = $DataSource | Sort-Object -Property AlgorithmVariant, Currency, Name | Select-Object @(
+ $LegacyGUIpoolsDGV.BeginInit()
+ $LegacyGUIpoolsDGV.ClearSelection()
+ $LegacyGUIpoolsDGV.DataSource = $DataSource | Sort-Object -Property AlgorithmVariant, Currency, Name | Select-Object @(
@{ Name = "Algorithm (variant)"; Expression = { $_.AlgorithmVariant } }
@{ Name = "Currency"; Expression = { $_.Currency } }
@{ Name = "Coin name"; Expression = { $_.CoinName } }
@@ -447,33 +447,33 @@ Function Update-TabControl {
@{ Name = "SSL port"; Expression = { "$(If ($_.PortSSL) { $_.PortSSL } Else { "-" })" } }
@{ Name = "Earnings adjustment factor"; Expression = { $_.EarningsAdjustmentFactor } }
@{ Name = "Fee"; Expression = { "{0:p2}" -f $_.Fee } }
- If ($RadioButtonPoolsUnavailable.checked -or $RadioButtonPools.checked) { @{ Name = "Reason(s)"; Expression = { $_.Reasons -join ', '} } }
+ If ($LegacyGUIradioButtonPoolsUnavailable.checked -or $LegacyGUIradioButtonPools.checked) { @{ Name = "Reason(s)"; Expression = { $_.Reasons -join ', '} } }
) | Out-DataTable
- If ($PoolsDGV.Columns) {
- $PoolsDGV.Columns[0].FillWeight = 80
- $PoolsDGV.Columns[1].FillWeight = 40
- $PoolsDGV.Columns[2].FillWeight = 70
- $PoolsDGV.Columns[3].FillWeight = 55; $PoolsDGV.Columns[3].DefaultCellStyle.Alignment = "MiddleRight"; $PoolsDGV.Columns[3].HeaderCell.Style.Alignment = "MiddleRight"
- $PoolsDGV.Columns[4].FillWeight = 45; $PoolsDGV.Columns[4].DefaultCellStyle.Alignment = "MiddleRight"; $PoolsDGV.Columns[4].HeaderCell.Style.Alignment = "MiddleRight"
- $PoolsDGV.Columns[5].FillWeight = 80
- $PoolsDGV.Columns[6].FillWeight = 140
- $PoolsDGV.Columns[7].FillWeight = 40; $PoolsDGV.Columns[7].DefaultCellStyle.Alignment = "MiddleRight"; $PoolsDGV.Columns[7].HeaderCell.Style.Alignment = "MiddleRight"
- $PoolsDGV.Columns[8].FillWeight = 40; $PoolsDGV.Columns[8].DefaultCellStyle.Alignment = "MiddleRight"; $PoolsDGV.Columns[8].HeaderCell.Style.Alignment = "MiddleRight"
- $PoolsDGV.Columns[9].FillWeight = 50; $PoolsDGV.Columns[9].DefaultCellStyle.Alignment = "MiddleRight"; $PoolsDGV.Columns[9].HeaderCell.Style.Alignment = "MiddleRight"
- $PoolsDGV.Columns[10].FillWeight = 40; $PoolsDGV.Columns[10].DefaultCellStyle.Alignment = "MiddleRight"; $PoolsDGV.Columns[10].HeaderCell.Style.Alignment = "MiddleRight"
+ If ($LegacyGUIpoolsDGV.Columns) {
+ $LegacyGUIpoolsDGV.Columns[0].FillWeight = 80
+ $LegacyGUIpoolsDGV.Columns[1].FillWeight = 40
+ $LegacyGUIpoolsDGV.Columns[2].FillWeight = 70
+ $LegacyGUIpoolsDGV.Columns[3].FillWeight = 55; $LegacyGUIpoolsDGV.Columns[3].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIpoolsDGV.Columns[3].HeaderCell.Style.Alignment = "MiddleRight"
+ $LegacyGUIpoolsDGV.Columns[4].FillWeight = 45; $LegacyGUIpoolsDGV.Columns[4].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIpoolsDGV.Columns[4].HeaderCell.Style.Alignment = "MiddleRight"
+ $LegacyGUIpoolsDGV.Columns[5].FillWeight = 80
+ $LegacyGUIpoolsDGV.Columns[6].FillWeight = 140
+ $LegacyGUIpoolsDGV.Columns[7].FillWeight = 40; $LegacyGUIpoolsDGV.Columns[7].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIpoolsDGV.Columns[7].HeaderCell.Style.Alignment = "MiddleRight"
+ $LegacyGUIpoolsDGV.Columns[8].FillWeight = 40; $LegacyGUIpoolsDGV.Columns[8].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIpoolsDGV.Columns[8].HeaderCell.Style.Alignment = "MiddleRight"
+ $LegacyGUIpoolsDGV.Columns[9].FillWeight = 50; $LegacyGUIpoolsDGV.Columns[9].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIpoolsDGV.Columns[9].HeaderCell.Style.Alignment = "MiddleRight"
+ $LegacyGUIpoolsDGV.Columns[10].FillWeight = 40; $LegacyGUIpoolsDGV.Columns[10].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIpoolsDGV.Columns[10].HeaderCell.Style.Alignment = "MiddleRight"
}
- $PoolsDGV.EndInit()
+ $LegacyGUIpoolsDGV.EndInit()
}
- If ($PoolsDGV.Columns) { $PoolsLabel.Text = "Pool data updated $([DateTime]::Now.ToString())" }
- ElseIf ($Variables.MiningStatus -eq "Idle") { $PoolsLabel.Text = "No data - mining is stopped"}
- ElseIf ($Variables.MiningStatus -eq "Paused") { $PoolsLabel.Text = "No data - mining is paused"}
- Else { $PoolsLabel.Text = "Waiting for data..." }
+ If ($LegacyGUIpoolsDGV.Columns) { $LegacyGUIpoolsLabel.Text = "Pool data updated $([DateTime]::Now.ToString())" }
+ ElseIf ($Variables.MiningStatus -eq "Idle") { $LegacyGUIpoolsLabel.Text = "No data - mining is stopped"}
+ ElseIf ($Variables.MiningStatus -eq "Paused") { $LegacyGUIpoolsLabel.Text = "No data - mining is paused"}
+ Else { $LegacyGUIpoolsLabel.Text = "Waiting for data..." }
Break
}
# "Rig monitor" {
- # $WorkersDGV.Visible = $Config.ShowWorkerStatus
- # $EditMonitoringLink.Visible = $Variables.APIRunspace.APIport
+ # $LegacyGUIworkersDGV.Visible = $Config.ShowWorkerStatus
+ # $LegacyGUIeditMonitoringLink.Visible = $Variables.APIRunspace.APIport
# If ($Config.ShowWorkerStatus) {
@@ -482,75 +482,75 @@ Function Update-TabControl {
# If ($Variables.Workers) {
# $nl = "`n" # Must use variable, cannot join with '`n' directly
- # $WorkersDGV.BeginInit()
- # $WorkersDGV.ClearSelection()
- # $WorkersDGV.DataSource = $Variables.Workers | Select-Object @(
+ # $LegacyGUIworkersDGV.BeginInit()
+ # $LegacyGUIworkersDGV.ClearSelection()
+ # $LegacyGUIworkersDGV.DataSource = $Variables.Workers | Select-Object @(
# @{ Name = "Worker"; Expression = { $_.worker } },
# @{ Name = "Status"; Expression = { $_.status } },
# @{ Name = "Last seen"; Expression = { (Get-TimeSince $_.date) } },
# @{ Name = "Version"; Expression = { $_.version } },
# @{ Name = "Currency"; Expression = { $_.data.Currency | Select-Object -Unique } },
- # @{ Name = "Estimated earning/day"; Expression = { If ($null -ne $_.Data) { "{0:n$($Config.DecimalsMax)}" -f (($_.Data.Earning.Where({ -not [Double]::IsNaN($_) }) | Measure-Object -Sum | Select-Object -ExpandProperty Sum) * $Variables.Rates.BTC.($_.data.Currency | Select-Object -Unique)) } } },
- # @{ Name = "Estimated profit/day"; Expression = { If ($null -ne $_.Data) { " {0:n$($Config.DecimalsMax)}" -f (($_.Data.Profit.Where({ -not [Double]::IsNaN($_) }) | Measure-Object -Sum | Select-Object -ExpandProperty Sum) * $Variables.Rates.BTC.($_.data.Currency | Select-Object -Unique)) } } },
+ # @{ Name = "Estimated earning/day"; Expression = { If ($null -ne $_.Data) { "{0:n$($Config.DecimalsMax)}" -f (($_.Data.Earning.Where({ -not [Double]::IsNaN($_) }) | Measure-Object -Sum).Sum * $Variables.Rates.BTC.($_.data.Currency | Select-Object -Unique)) } } },
+ # @{ Name = "Estimated profit/day"; Expression = { If ($null -ne $_.Data) { " {0:n$($Config.DecimalsMax)}" -f (($_.Data.Profit.Where({ -not [Double]::IsNaN($_) }) | Measure-Object -Sum).Sum * $Variables.Rates.BTC.($_.data.Currency | Select-Object -Unique)) } } },
# @{ Name = "Miner"; Expression = { $_.data.Name -join $nl } },
# @{ Name = "Pool"; Expression = { $_.data.ForEach({ $_.Pool -split "," -join ' & ' }) -join $nl } },
# @{ Name = "Algorithm"; Expression = { $_.data.ForEach({ $_.Algorithm -split "," -join ' & ' }) -join $nl } },
# @{ Name = "Live hashrate"; Expression = { $_.data.ForEach({ $_.CurrentSpeed.ForEach({ If ([Double]::IsNaN($_)) { "n/a" } Else { $_ | ConvertTo-Hash } }) -join ' & ' }) -join $nl } },
# @{ Name = "Benchmark hashrate(s)"; Expression = { $_.data.ForEach({ $_.EstimatedSpeed.ForEach({ If ([Double]::IsNaN($_)) { "n/a" } Else { $_ | ConvertTo-Hash } }) -join ' & ' }) -join $nl } }
# ) | Sort-Object -Property "Worker" | Out-DataTable
- # If ($WorkersDGV.Columns) {
- # $WorkersDGV.Columns[0].FillWeight = 70
- # $WorkersDGV.Columns[1].FillWeight = 60
- # $WorkersDGV.Columns[2].FillWeight = 80
- # $WorkersDGV.Columns[3].FillWeight = 70
- # $WorkersDGV.Columns[4].FillWeight = 40
- # $WorkersDGV.Columns[5].FillWeight = 65; $WorkersDGV.Columns[5].DefaultCellStyle.Alignment = "MiddleRight"; $WorkersDGV.Columns[5].HeaderCell.Style.Alignment = "MiddleRight"
- # $WorkersDGV.Columns[6].FillWeight = 65; $WorkersDGV.Columns[6].DefaultCellStyle.Alignment = "MiddleRight"; $WorkersDGV.Columns[6].HeaderCell.Style.Alignment = "MiddleRight"
- # $WorkersDGV.Columns[7].FillWeight = 150
- # $WorkersDGV.Columns[8].FillWeight = 95
- # $WorkersDGV.Columns[9].FillWeight = 75
- # $WorkersDGV.Columns[10].FillWeight = 65; $WorkersDGV.Columns[10].DefaultCellStyle.Alignment = "MiddleRight"; $WorkersDGV.Columns[10].HeaderCell.Style.Alignment = "MiddleRight"
- # $WorkersDGV.Columns[11].FillWeight = 65; $WorkersDGV.Columns[11].DefaultCellStyle.Alignment = "MiddleRight"; $WorkersDGV.Columns[11].HeaderCell.Style.Alignment = "MiddleRight"
+ # If ($LegacyGUIworkersDGV.Columns) {
+ # $LegacyGUIworkersDGV.Columns[0].FillWeight = 70
+ # $LegacyGUIworkersDGV.Columns[1].FillWeight = 60
+ # $LegacyGUIworkersDGV.Columns[2].FillWeight = 80
+ # $LegacyGUIworkersDGV.Columns[3].FillWeight = 70
+ # $LegacyGUIworkersDGV.Columns[4].FillWeight = 40
+ # $LegacyGUIworkersDGV.Columns[5].FillWeight = 65; $LegacyGUIworkersDGV.Columns[5].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIworkersDGV.Columns[5].HeaderCell.Style.Alignment = "MiddleRight"
+ # $LegacyGUIworkersDGV.Columns[6].FillWeight = 65; $LegacyGUIworkersDGV.Columns[6].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIworkersDGV.Columns[6].HeaderCell.Style.Alignment = "MiddleRight"
+ # $LegacyGUIworkersDGV.Columns[7].FillWeight = 150
+ # $LegacyGUIworkersDGV.Columns[8].FillWeight = 95
+ # $LegacyGUIworkersDGV.Columns[9].FillWeight = 75
+ # $LegacyGUIworkersDGV.Columns[10].FillWeight = 65; $LegacyGUIworkersDGV.Columns[10].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIworkersDGV.Columns[10].HeaderCell.Style.Alignment = "MiddleRight"
+ # $LegacyGUIworkersDGV.Columns[11].FillWeight = 65; $LegacyGUIworkersDGV.Columns[11].DefaultCellStyle.Alignment = "MiddleRight"; $LegacyGUIworkersDGV.Columns[11].HeaderCell.Style.Alignment = "MiddleRight"
# }
# Set-WorkerColor
- # $WorkersDGV.EndInit()
+ # $LegacyGUIworkersDGV.EndInit()
# }
- # If ($Variables.Workers) { $WorkersLabel.Text = "Worker status updated $($Variables.WorkersLastUpdated.ToString())" }
- # ElseIf ($Variables.MiningStatus -eq "Idle") { $WorkersLabel.Text = "No data - mining is stopped"}
- # ElseIf ($Variables.MiningStatus -eq "Paused") { $WorkersLabel.Text = "No data - mining is paused"}
- # Else { $WorkersLabel.Text = "Waiting for data..." }
+ # If ($Variables.Workers) { $LegacyGUIworkersLabel.Text = "Worker status updated $($Variables.WorkersLastUpdated.ToString())" }
+ # ElseIf ($Variables.MiningStatus -eq "Idle") { $LegacyGUIworkersLabel.Text = "No data - mining is stopped"}
+ # ElseIf ($Variables.MiningStatus -eq "Paused") { $LegacyGUIworkersLabel.Text = "No data - mining is paused"}
+ # Else { $LegacyGUIworkersLabel.Text = "Waiting for data..." }
# }
# Else {
- # $WorkersLabel.Text = "Worker status reporting is disabled$(If (-not $Variables.APIRunspace) { " (Configuration item 'ShowWorkerStatus' -eq `$false)" })."
+ # $LegacyGUIworkersLabel.Text = "Worker status reporting is disabled$(If (-not $Variables.APIRunspace) { " (Configuration item 'ShowWorkerStatus' -eq `$false)" })."
# }
# Break
# }
"Switching Log" {
- $CheckShowSwitchingCPU.Enabled = [Boolean]($Variables.Devices.Where({ $_.State -ne [DeviceState]::Unsupported -and $_.Name -notin $Config.ExcludeDeviceName -and $_.Type -eq "CPU" }))
- $CheckShowSwitchingAMD.Enabled = [Boolean]($Variables.Devices.Where({ $_.State -ne [DeviceState]::Unsupported -and $_.Name -notin $Config.ExcludeDeviceName -and $_.Type -eq "GPU" -and $_.Vendor -eq "AMD" }))
- $CheckShowSwitchingINTEL.Enabled = [Boolean]($Variables.Devices.Where({ $_.State -ne [DeviceState]::Unsupported -and $_.Name -notin $Config.ExcludeDeviceName -and $_.Type -eq "GPU" -and $_.Vendor -eq "INTEL" }))
- $CheckShowSwitchingNVIDIA.Enabled = [Boolean]($Variables.Devices.Where({ $_.State -ne [DeviceState]::Unsupported -and $_.Name -notin $Config.ExcludeDeviceName -and $_.Type -eq "GPU" -and $_.Vendor -eq "NVIDIA" }))
+ $LegacyGUIcheckShowSwitchingCPU.Enabled = [Boolean]($Variables.Devices.Where({ $_.State -ne [DeviceState]::Unsupported -and $_.Name -notin $Config.ExcludeDeviceName -and $_.Type -eq "CPU" }))
+ $LegacyGUIcheckShowSwitchingAMD.Enabled = [Boolean]($Variables.Devices.Where({ $_.State -ne [DeviceState]::Unsupported -and $_.Name -notin $Config.ExcludeDeviceName -and $_.Type -eq "GPU" -and $_.Vendor -eq "AMD" }))
+ $LegacyGUIcheckShowSwitchingINTEL.Enabled = [Boolean]($Variables.Devices.Where({ $_.State -ne [DeviceState]::Unsupported -and $_.Name -notin $Config.ExcludeDeviceName -and $_.Type -eq "GPU" -and $_.Vendor -eq "INTEL" }))
+ $LegacyGUIcheckShowSwitchingNVIDIA.Enabled = [Boolean]($Variables.Devices.Where({ $_.State -ne [DeviceState]::Unsupported -and $_.Name -notin $Config.ExcludeDeviceName -and $_.Type -eq "GPU" -and $_.Vendor -eq "NVIDIA" }))
- $CheckShowSwitchingCPU.Checked = $CheckShowSwitchingCPU.Enabled
- $CheckShowSwitchingAMD.Checked = $CheckShowSwitchingAMD.Enabled
- $CheckShowSwitchingINTEL.Checked = $CheckShowSwitchingINTEL.Enabled
- $CheckShowSwitchingNVIDIA.Checked = $CheckShowSwitchingNVIDIA.Enabled
+ $LegacyGUIcheckShowSwitchingCPU.Checked = $LegacyGUIcheckShowSwitchingCPU.Enabled
+ $LegacyGUIcheckShowSwitchingAMD.Checked = $LegacyGUIcheckShowSwitchingAMD.Enabled
+ $LegacyGUIcheckShowSwitchingINTEL.Checked = $LegacyGUIcheckShowSwitchingINTEL.Enabled
+ $LegacyGUIcheckShowSwitchingNVIDIA.Checked = $LegacyGUIcheckShowSwitchingNVIDIA.Enabled
CheckBoxSwitching_Click
Break
}
"Watchdog timers" {
- $WatchdogTimersRemoveButton.Visible = $Config.Watchdog
- $WatchdogTimersDGV.Visible = $Config.Watchdog
+ $LegacyGUIwatchdogTimersRemoveButton.Visible = $Config.Watchdog
+ $LegacyGUIwatchdogTimersDGV.Visible = $Config.Watchdog
If ($Config.Watchdog) {
If ($Variables.WatchdogTimers) {
- $WatchdogTimersLabel.Text = "Watchdog timers updated $([DateTime]::Now.ToString())"
+ $LegacyGUIwatchdogTimersLabel.Text = "Watchdog timers updated $([DateTime]::Now.ToString())"
- $WatchdogTimersDGV.BeginInit()
- $WatchdogTimersDGV.ClearSelection()
- $WatchdogTimersDGV.DataSource = $Variables.WatchdogTimers | Sort-Object -Property MinerName, Kicked | Select-Object @(
+ $LegacyGUIwatchdogTimersDGV.BeginInit()
+ $LegacyGUIwatchdogTimersDGV.ClearSelection()
+ $LegacyGUIwatchdogTimersDGV.DataSource = $Variables.WatchdogTimers | Sort-Object -Property MinerName, Kicked | Select-Object @(
@{ Name = "Name"; Expression = { $_.MinerName } },
@{ Name = "Algorithms"; Expression = { $_.Algorithm } },
@{ Name = "Pool name"; Expression = { $_.PoolName } },
@@ -558,92 +558,92 @@ Function Update-TabControl {
@{ Name = "Device(s)"; Expression = { $_.DeviceNames -join ', ' } },
@{ Name = "Last updated"; Expression = { (Get-TimeSince $_.Kicked.ToLocalTime()) } }
) | Out-DataTable
- If ($WatchdogTimersDGV.Columns) {
- $WatchdogTimersDGV.Columns[0].FillWeight = 120
- $WatchdogTimersDGV.Columns[1].FillWeight = 100
- $WatchdogTimersDGV.Columns[2].FillWeight = 100
- $WatchdogTimersDGV.Columns[3].FillWeight = 60
- $WatchdogTimersDGV.Columns[4].FillWeight = 30 + ($Variables.WatchdogTimers.ForEach({ $_.DeviceNames.Count }) | Measure-Object -Maximum).Maximum * 20
- $WatchdogTimersDGV.Columns[5].FillWeight = 100
+ If ($LegacyGUIwatchdogTimersDGV.Columns) {
+ $LegacyGUIwatchdogTimersDGV.Columns[0].FillWeight = 120
+ $LegacyGUIwatchdogTimersDGV.Columns[1].FillWeight = 100
+ $LegacyGUIwatchdogTimersDGV.Columns[2].FillWeight = 100
+ $LegacyGUIwatchdogTimersDGV.Columns[3].FillWeight = 60
+ $LegacyGUIwatchdogTimersDGV.Columns[4].FillWeight = 30 + ($Variables.WatchdogTimers.ForEach({ $_.DeviceNames.Count }) | Measure-Object -Maximum).Maximum * 20
+ $LegacyGUIwatchdogTimersDGV.Columns[5].FillWeight = 100
}
- $WatchdogTimersDGV.EndInit()
+ $LegacyGUIwatchdogTimersDGV.EndInit()
}
- Else { $WatchdogTimersLabel.Text = "Watchdog timers - no data" }
+ Else { $LegacyGUIwatchdogTimersLabel.Text = "Watchdog timers - no data" }
}
Else {
- $WatchdogTimersLabel.Text = "Watchdog is disabled (Configuration item 'Watchdog' -eq `$false)"
+ $LegacyGUIwatchdogTimersLabel.Text = "Watchdog is disabled (Configuration item 'Watchdog' -eq `$false)"
}
- $WatchdogTimersRemoveButton.Enabled = [Boolean]$WatchdogTimersDGV.Rows
+ $LegacyGUIwatchdogTimersRemoveButton.Enabled = [Boolean]$LegacyGUIwatchdogTimersDGV.Rows
}
}
- $LegacyGUIForm.Cursor = [System.Windows.Forms.Cursors]::Normal
+ $LegacyGUIform.Cursor = [System.Windows.Forms.Cursors]::Normal
}
Function Form-Resize {
- If ($LegacyGUIForm.Height -lt $LegacyGUIForm.MinimumSize.Height -or $LegacyGUIForm.Width -lt $LegacyGUIForm.MinimumSize.Width ) { Return } # Sometimes $LegacyGUIForm is smalle than minimum (Why?)
+ If ($LegacyGUIform.Height -lt $LegacyGUIform.MinimumSize.Height -or $LegacyGUIform.Width -lt $LegacyGUIform.MinimumSize.Width ) { Return } # Sometimes $LegacyGUIform is smalle than minimum (Why?)
Try {
- $TabControl.Width = $LegacyGUIForm.Width - 40
- $TabControl.Height = $LegacyGUIForm.Height - $MiningStatusLabel.Height - $MiningSummaryLabel.Height - $EditConfigLink.Height - 72
+ $LegacyGUItabControl.Width = $LegacyGUIform.Width - 40
+ $LegacyGUItabControl.Height = $LegacyGUIform.Height - $LegacyGUIminingStatusLabel.Height - $LegacyGUIminingSummaryLabel.Height - $LegacyGUIeditConfigLink.Height - 72
- $ButtonStart.Location = [System.Drawing.Point]::new(($LegacyGUIForm.Width - $ButtonStop.Width - $ButtonPause.Width - $ButtonStart.Width - 60), 6)
- $ButtonPause.Location = [System.Drawing.Point]::new(($LegacyGUIForm.Width - $ButtonStop.Width - $ButtonPause.Width - 50), 6)
- $ButtonStop.Location = [System.Drawing.Point]::new(($LegacyGUIForm.Width - $ButtonStop.Width - 40), 6)
+ $LegacyGUIbuttonStart.Location = [System.Drawing.Point]::new(($LegacyGUIform.Width - $LegacyGUIbuttonStop.Width - $LegacyGUIbuttonPause.Width - $LegacyGUIbuttonStart.Width - 60), 6)
+ $LegacyGUIbuttonPause.Location = [System.Drawing.Point]::new(($LegacyGUIform.Width - $LegacyGUIbuttonStop.Width - $LegacyGUIbuttonPause.Width - 50), 6)
+ $LegacyGUIbuttonStop.Location = [System.Drawing.Point]::new(($LegacyGUIform.Width - $LegacyGUIbuttonStop.Width - 40), 6)
- $MiningSummaryLabel.Width = $Variables.TextBoxSystemLog.Width = $ActiveMinersDGV.Width = $EarningsChart.Width = $BalancesDGV.Width = $MinersPanel.Width = $MinersDGV.Width = $PoolsPanel.Width = $PoolsDGV.Width = $WorkersDGV.Width = $SwitchingDGV.Width = $WatchdogTimersDGV.Width = $TabControl.Width - 26
+ $LegacyGUIminingSummaryLabel.Width = $Variables.TextBoxSystemLog.Width = $LegacyGUIactiveMinersDGV.Width = $LegacyGUIearningsChart.Width = $LegacyGUIbalancesDGV.Width = $LegacyGUIminersPanel.Width = $LegacyGUIminersDGV.Width = $LegacyGUIpoolsPanel.Width = $LegacyGUIpoolsDGV.Width = $LegacyGUIworkersDGV.Width = $LegacyGUIswitchingDGV.Width = $LegacyGUIwatchdogTimersDGV.Width = $LegacyGUItabControl.Width - 26
- If ($Config.BalancesTrackerPollInterval -gt 0 -and $BalancesDGV.RowCount -gt 0) {
- $BalancesDGVHeight = ($BalancesDGV.Rows.Height | Measure-Object -Sum | Select-Object -ExpandProperty Sum) + $BalancesDGV.ColumnHeadersHeight
- If ($BalancesDGVHeight -gt $TabControl.Height / 2) {
- $EarningsChart.Height = $TabControl.Height / 2
- $BalancesDGV.ScrollBars = "Vertical"
- $BalancesLabel.Location = [System.Drawing.Point]::new(8, ($TabControl.Height / 2 - 10))
+ If ($Config.BalancesTrackerPollInterval -gt 0 -and $LegacyGUIbalancesDGV.RowCount -gt 0) {
+ $LegacyGUIbalancesDGVHeight = ($LegacyGUIbalancesDGV.Rows.Height | Measure-Object -Sum | Select-Object -ExpandProperty Sum) + $LegacyGUIbalancesDGV.ColumnHeadersHeight
+ If ($LegacyGUIbalancesDGVHeight -gt $LegacyGUItabControl.Height / 2) {
+ $LegacyGUIearningsChart.Height = $LegacyGUItabControl.Height / 2
+ $LegacyGUIbalancesDGV.ScrollBars = "Vertical"
+ $LegacyGUIbalancesLabel.Location = [System.Drawing.Point]::new(8, ($LegacyGUItabControl.Height / 2 - 10))
}
Else {
- $EarningsChart.Height = $TabControl.Height - $BalancesDGVHeight - 46
- $BalancesDGV.ScrollBars = "None"
- $BalancesLabel.Location = [System.Drawing.Point]::new(8, ($EarningsChart.Bottom - 20))
+ $LegacyGUIearningsChart.Height = $LegacyGUItabControl.Height - $LegacyGUIbalancesDGVHeight - 46
+ $LegacyGUIbalancesDGV.ScrollBars = "None"
+ $LegacyGUIbalancesLabel.Location = [System.Drawing.Point]::new(8, ($LegacyGUIearningsChart.Bottom - 20))
}
}
Else {
- $BalancesDGV.ScrollBars = "None"
- $BalancesLabel.Location = [System.Drawing.Point]::new(8, ($TabControl.Height - $BalancesLabel.Height - 50))
- $EarningsChart.Height = $BalancesLabel.Top + 36
+ $LegacyGUIbalancesDGV.ScrollBars = "None"
+ $LegacyGUIbalancesLabel.Location = [System.Drawing.Point]::new(8, ($LegacyGUItabControl.Height - $LegacyGUIbalancesLabel.Height - 50))
+ $LegacyGUIearningsChart.Height = $LegacyGUIbalancesLabel.Top + 36
}
- $BalancesDGV.Location = [System.Drawing.Point]::new(10, $BalancesLabel.Bottom)
- $BalancesDGV.Height = $TabControl.Height - $BalancesLabel.Bottom - 48
+ $LegacyGUIbalancesDGV.Location = [System.Drawing.Point]::new(10, $LegacyGUIbalancesLabel.Bottom)
+ $LegacyGUIbalancesDGV.Height = $LegacyGUItabControl.Height - $LegacyGUIbalancesLabel.Bottom - 48
- $ActiveMinersDGV.Height = $ActiveMinersDGV.RowTemplate.Height * $ActiveMinersDGV.RowCount + $ActiveMinersDGV.ColumnHeadersHeight
- If ($ActiveMinersDGV.Height -gt $TabControl.Height / 2) {
- $ActiveMinersDGV.Height = $TabControl.Height / 2
- $ActiveMinersDGV.ScrollBars = "Vertical"
+ $LegacyGUIactiveMinersDGV.Height = $LegacyGUIactiveMinersDGV.RowTemplate.Height * $LegacyGUIactiveMinersDGV.RowCount + $LegacyGUIactiveMinersDGV.ColumnHeadersHeight
+ If ($LegacyGUIactiveMinersDGV.Height -gt $LegacyGUItabControl.Height / 2) {
+ $LegacyGUIactiveMinersDGV.Height = $LegacyGUItabControl.Height / 2
+ $LegacyGUIactiveMinersDGV.ScrollBars = "Vertical"
}
Else {
- $ActiveMinersDGV.ScrollBars = "None"
+ $LegacyGUIactiveMinersDGV.ScrollBars = "None"
}
- $SystemLogLabel.Location = [System.Drawing.Point]::new(8, ($ActiveMinersLabel.Height + $ActiveMinersDGV.Height + 25))
- $Variables.TextBoxSystemLog.Location = [System.Drawing.Point]::new(8, ($ActiveMinersLabel.Height + $ActiveMinersDGV.Height + $SystemLogLabel.Height + 24))
- $Variables.TextBoxSystemLog.Height = ($TabControl.Height - $ActiveMinersLabel.Height - $ActiveMinersDGV.Height - $SystemLogLabel.Height - 68)
+ $LegacyGUIsystemLogLabel.Location = [System.Drawing.Point]::new(8, ($LegacyGUIactiveMinersLabel.Height + $LegacyGUIactiveMinersDGV.Height + 25))
+ $Variables.TextBoxSystemLog.Location = [System.Drawing.Point]::new(8, ($LegacyGUIactiveMinersLabel.Height + $LegacyGUIactiveMinersDGV.Height + $LegacyGUIsystemLogLabel.Height + 24))
+ $Variables.TextBoxSystemLog.Height = ($LegacyGUItabControl.Height - $LegacyGUIactiveMinersLabel.Height - $LegacyGUIactiveMinersDGV.Height - $LegacyGUIsystemLogLabel.Height - 68)
If (-not $Variables.TextBoxSystemLog.SelectionLength) {
$Variables.TextBoxSystemLog.ScrollToCaret()
}
- $MinersDGV.Height = $TabControl.Height - $MinersLabel.Height - $MinersPanel.Height - 61
+ $LegacyGUIminersDGV.Height = $LegacyGUItabControl.Height - $LegacyGUIminersLabel.Height - $LegacyGUIminersPanel.Height - 61
- $PoolsDGV.Height = $TabControl.Height - $PoolsLabel.Height - $PoolsPanel.Height - 61
+ $LegacyGUIpoolsDGV.Height = $LegacyGUItabControl.Height - $LegacyGUIpoolsLabel.Height - $LegacyGUIpoolsPanel.Height - 61
- $WorkersDGV.Height = $TabControl.Height - $WorkersLabel.Height - 58
+ $LegacyGUIworkersDGV.Height = $LegacyGUItabControl.Height - $LegacyGUIworkersLabel.Height - 58
- $SwitchingDGV.Height = $TabControl.Height - $SwitchingLogLabel.Height - $SwitchingLogClearButton.Height - 64
+ $LegacyGUIswitchingDGV.Height = $LegacyGUItabControl.Height - $LegacyGUIswitchingLogLabel.Height - $LegacyGUIswitchingLogClearButton.Height - 64
- $WatchdogTimersDGV.Height = $TabControl.Height - $WatchdogTimersLabel.Height - $WatchdogTimersRemoveButton.Height - 64
+ $LegacyGUIwatchdogTimersDGV.Height = $LegacyGUItabControl.Height - $LegacyGUIwatchdogTimersLabel.Height - $LegacyGUIwatchdogTimersRemoveButton.Height - 64
- $EditMonitoringLink.Location = [System.Drawing.Point]::new(($TabControl.Width - $EditMonitoringLink.Width - 12), 6)
+ $LegacyGUIeditMonitoringLink.Location = [System.Drawing.Point]::new(($LegacyGUItabControl.Width - $LegacyGUIeditMonitoringLink.Width - 12), 6)
- $EditConfigLink.Location = [System.Drawing.Point]::new(10, ($LegacyGUIForm.Height - $EditConfigLink.Height - 58))
- $CopyrightLabel.Location = [System.Drawing.Point]::new(($TabControl.Width - $CopyrightLabel.Width + 6), ($LegacyGUIForm.Height - $EditConfigLink.Height - 58))
+ $LegacyGUIeditConfigLink.Location = [System.Drawing.Point]::new(10, ($LegacyGUIform.Height - $LegacyGUIeditConfigLink.Height - 58))
+ $LegacyGUIcopyrightLabel.Location = [System.Drawing.Point]::new(($LegacyGUItabControl.Width - $LegacyGUIcopyrightLabel.Width + 6), ($LegacyGUIform.Height - $LegacyGUIeditConfigLink.Height - 58))
}
Catch {
Start-Sleep 0
@@ -654,39 +654,39 @@ Function Update-GUIstatus {
Switch ($Variables.MiningStatus) {
"Idle" {
- $MiningStatusLabel.Text = "$($Variables.Branding.ProductLabel) is stopped"
- $MiningStatusLabel.ForeColor = [System.Drawing.Color]::Red
- $MiningSummaryLabel.ForeColor = [System.Drawing.Color]::Black
- $MiningSummaryLabel.Text = "Click the 'Start mining' button to make money."
- $ButtonPause.Enabled = $true
- $ButtonStart.Enabled = $true
- $ButtonStop.Enabled = $false
+ $LegacyGUIminingStatusLabel.Text = "$($Variables.Branding.ProductLabel) is stopped"
+ $LegacyGUIminingStatusLabel.ForeColor = [System.Drawing.Color]::Red
+ $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Black
+ $LegacyGUIminingSummaryLabel.Text = "Click the 'Start mining' button to make money."
+ $LegacyGUIbuttonPause.Enabled = $true
+ $LegacyGUIbuttonStart.Enabled = $true
+ $LegacyGUIbuttonStop.Enabled = $false
}
"Paused" {
- $MiningStatusLabel.Text = "$($Variables.Branding.ProductLabel) is paused"
- $MiningStatusLabel.ForeColor = [System.Drawing.Color]::Blue
- $MiningSummaryLabel.ForeColor = [System.Drawing.Color]::Black
- $MiningSummaryLabel.Text = "Click the 'Start mining' button to make money."
- $ButtonPause.Enabled = $false
- $ButtonStart.Enabled = $true
- $ButtonStop.Enabled = $true
+ $LegacyGUIminingStatusLabel.Text = "$($Variables.Branding.ProductLabel) is paused"
+ $LegacyGUIminingStatusLabel.ForeColor = [System.Drawing.Color]::Blue
+ $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Black
+ $LegacyGUIminingSummaryLabel.Text = "Click the 'Start mining' button to make money."
+ $LegacyGUIbuttonPause.Enabled = $false
+ $LegacyGUIbuttonStart.Enabled = $true
+ $LegacyGUIbuttonStop.Enabled = $true
}
"Running" {
If ($Variables.IdleDetectionRunspace.MiningStatus -eq "Suspended") {
- $MiningStatusLabel.Text = "$($Variables.Branding.ProductLabel) is suspended"
- $MiningSummaryLabel.ForeColor = [System.Drawing.Color]::Black
- $MiningSummaryLabel.Text = "Mining is suspended until system is idle for $($Config.IdleSec) second$(If ($Config.IdleSec -ne 1) { "s" })."
- $MiningStatusLabel.ForeColor = [System.Drawing.Color]::blue
+ $LegacyGUIminingStatusLabel.Text = "$($Variables.Branding.ProductLabel) is suspended"
+ $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Black
+ $LegacyGUIminingSummaryLabel.Text = "Mining is suspended until system is idle for $($Config.IdleSec) second$(If ($Config.IdleSec -ne 1) { "s" })."
+ $LegacyGUIminingStatusLabel.ForeColor = [System.Drawing.Color]::blue
}
Else {
- $MiningStatusLabel.Text = "$($Variables.Branding.ProductLabel) is running"
- $MiningStatusLabel.ForeColor = [System.Drawing.Color]::Green
+ $LegacyGUIminingStatusLabel.Text = "$($Variables.Branding.ProductLabel) is running"
+ $LegacyGUIminingStatusLabel.ForeColor = [System.Drawing.Color]::Green
}
- $MiningSummaryLabel.ForeColor = [System.Drawing.Color]::Black
- If (-not $MiningSummaryLabel.Text) { $MiningSummaryLabel.Text = "Starting mining processes..." }
- $ButtonPause.Enabled = $true
- $ButtonStart.Enabled = $false
- $ButtonStop.Enabled = $true
+ $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Black
+ If (-not $LegacyGUIminingSummaryLabel.Text) { $LegacyGUIminingSummaryLabel.Text = "Starting mining processes..." }
+ $LegacyGUIbuttonPause.Enabled = $true
+ $LegacyGUIbuttonStart.Enabled = $false
+ $LegacyGUIbuttonStop.Enabled = $true
}
}
Update-TabControl
@@ -694,79 +694,79 @@ Function Update-GUIstatus {
$Variables.TextBoxSystemLog.ScrollToCaret()
}
-$Tooltip = New-Object System.Windows.Forms.ToolTip
+$LegacyGUItooltip = New-Object System.Windows.Forms.ToolTip
-$LegacyGUIForm = New-Object System.Windows.Forms.Form
+$LegacyGUIform = New-Object System.Windows.Forms.Form
#--- For High DPI, First Call SuspendLayout(), after that, Set AutoScaleDimensions, AutoScaleMode ---
# SuspendLayout() is Very important to correctly size and position all controls!
-$LegacyGUIForm.SuspendLayout()
-$LegacyGUIForm.AutoScaleDimensions = New-Object System.Drawing.SizeF(96, 96)
-$LegacyGUIForm.AutoScaleMode = [System.Windows.Forms.AutoScaleMode]::DPI
-$LegacyGUIForm.MaximizeBox = $true
-$LegacyGUIForm.MinimumSize = [System.Drawing.Size]::new(800, 600) # best to keep under 800x600
-$LegacyGUIForm.Text = $Variables.Branding.ProductLabel
-$LegacyGUIForm.TopMost = $false
+$LegacyGUIform.SuspendLayout()
+$LegacyGUIform.AutoScaleDimensions = New-Object System.Drawing.SizeF(96, 96)
+$LegacyGUIform.AutoScaleMode = [System.Windows.Forms.AutoScaleMode]::DPI
+$LegacyGUIform.MaximizeBox = $true
+$LegacyGUIform.MinimumSize = [System.Drawing.Size]::new(800, 600) # best to keep under 800x600
+$LegacyGUIform.Text = $Variables.Branding.ProductLabel
+$LegacyGUIform.TopMost = $false
# Form Controls
$LegacyGUIControls = @()
-$StatusPage = New-Object System.Windows.Forms.TabPage
-$StatusPage.Text = "System status"
-$StatusPage.ToolTipText = "Show active miners and system log"
-$EarningsPage = New-Object System.Windows.Forms.TabPage
-$EarningsPage.Text = "Earnings"
-$EarningsPage.ToolTipText = "Information about the calculated earnings / profit"
-$MinersPage = New-Object System.Windows.Forms.TabPage
-$MinersPage.Text = "Miners"
-$MinersPage.ToolTipText = "Miner data collected in the last cycle"
-$PoolsPage = New-Object System.Windows.Forms.TabPage
-$PoolsPage.Text = "Pools"
-$PoolsPage.ToolTipText = "Pool data collected in the last cycle"
-$RigMonitorPage = New-Object System.Windows.Forms.TabPage
-$RigMonitorPage.Text = "Rig monitor"
-$RigMonitorPage.ToolTipText = "Consolidated overview of all known mining rigs"
-$SwitchingPage = New-Object System.Windows.Forms.TabPage
-$SwitchingPage.Text = "Switching log"
-$SwitchingPage.ToolTipText = "List of the previously launched miners"
-$WatchdogTimersPage = New-Object System.Windows.Forms.TabPage
-$WatchdogTimersPage.Text = "Watchdog timers"
-$WatchdogTimersPage.ToolTipText = "List of all watchdog timers"
-
-$MiningStatusLabel = New-Object System.Windows.Forms.Label
-$MiningStatusLabel.AutoSize = $false
-$MiningStatusLabel.BackColor = [System.Drawing.Color]::Transparent
-$MiningStatusLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 12)
-$MiningStatusLabel.ForeColor = [System.Drawing.Color]::Black
-$MiningStatusLabel.Height = 20
-$MiningStatusLabel.Location = [System.Drawing.Point]::new(6, 10)
-$MiningStatusLabel.Text = "$($Variables.Branding.ProductLabel)"
-$MiningStatusLabel.TextAlign = "MiddleLeft"
-$MiningStatusLabel.Visible = $true
-$MiningStatusLabel.Width = 360
-$LegacyGUIControls += $MiningStatusLabel
-
-$MiningSummaryLabel = New-Object System.Windows.Forms.Label
-$MiningSummaryLabel.AutoSize = $false
-$MiningSummaryLabel.BackColor = [System.Drawing.Color]::Transparent
-$MiningSummaryLabel.BorderStyle = 'None'
-$MiningSummaryLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$MiningSummaryLabel.ForeColor = [System.Drawing.Color]::Black
-$MiningSummaryLabel.Height = 80
-$MiningSummaryLabel.Location = [System.Drawing.Point]::new(6, $MiningStatusLabel.Bottom)
-$MiningSummaryLabel.Tag = ""
-$MiningSummaryLabel.TextAlign = "MiddleLeft"
-$MiningSummaryLabel.Visible = $true
-$LegacyGUIControls += $MiningSummaryLabel
-$Tooltip.SetToolTip($MiningSummaryLabel, "Color legend:`rBlack: Mining profitability is unknown`rGreen: Mining is profitable`rRed: Mining is NOT profitable")
-
-$ButtonPause = New-Object System.Windows.Forms.Button
-$ButtonPause.Enabled = $true
-$ButtonPause.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$ButtonPause.Height = 24
-$ButtonPause.Text = "Pause mining"
-$ButtonPause.Visible = $true
-$ButtonPause.Width = 100
-$ButtonPause.Add_Click(
+$LegacyGUIstatusPage = New-Object System.Windows.Forms.TabPage
+$LegacyGUIstatusPage.Text = "System status"
+$LegacyGUIstatusPage.ToolTipText = "Show active miners and system log"
+$LegacyGUIearningsPage = New-Object System.Windows.Forms.TabPage
+$LegacyGUIearningsPage.Text = "Earnings"
+$LegacyGUIearningsPage.ToolTipText = "Information about the calculated earnings / profit"
+$LegacyGUIminersPage = New-Object System.Windows.Forms.TabPage
+$LegacyGUIminersPage.Text = "Miners"
+$LegacyGUIminersPage.ToolTipText = "Miner data collected in the last cycle"
+$LegacyGUIpoolsPage = New-Object System.Windows.Forms.TabPage
+$LegacyGUIpoolsPage.Text = "Pools"
+$LegacyGUIpoolsPage.ToolTipText = "Pool data collected in the last cycle"
+$LegacyGUIrigMonitorPage = New-Object System.Windows.Forms.TabPage
+$LegacyGUIrigMonitorPage.Text = "Rig monitor"
+$LegacyGUIrigMonitorPage.ToolTipText = "Consolidated overview of all known mining rigs"
+$LegacyGUIswitchingPage = New-Object System.Windows.Forms.TabPage
+$LegacyGUIswitchingPage.Text = "Switching log"
+$LegacyGUIswitchingPage.ToolTipText = "List of the previously launched miners"
+$LegacyGUIwatchdogTimersPage = New-Object System.Windows.Forms.TabPage
+$LegacyGUIwatchdogTimersPage.Text = "Watchdog timers"
+$LegacyGUIwatchdogTimersPage.ToolTipText = "List of all watchdog timers"
+
+$LegacyGUIminingStatusLabel = New-Object System.Windows.Forms.Label
+$LegacyGUIminingStatusLabel.AutoSize = $false
+$LegacyGUIminingStatusLabel.BackColor = [System.Drawing.Color]::Transparent
+$LegacyGUIminingStatusLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 12)
+$LegacyGUIminingStatusLabel.ForeColor = [System.Drawing.Color]::Black
+$LegacyGUIminingStatusLabel.Height = 20
+$LegacyGUIminingStatusLabel.Location = [System.Drawing.Point]::new(6, 10)
+$LegacyGUIminingStatusLabel.Text = "$($Variables.Branding.ProductLabel)"
+$LegacyGUIminingStatusLabel.TextAlign = "MiddleLeft"
+$LegacyGUIminingStatusLabel.Visible = $true
+$LegacyGUIminingStatusLabel.Width = 360
+$LegacyGUIControls += $LegacyGUIminingStatusLabel
+
+$LegacyGUIminingSummaryLabel = New-Object System.Windows.Forms.Label
+$LegacyGUIminingSummaryLabel.AutoSize = $false
+$LegacyGUIminingSummaryLabel.BackColor = [System.Drawing.Color]::Transparent
+$LegacyGUIminingSummaryLabel.BorderStyle = 'None'
+$LegacyGUIminingSummaryLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Black
+$LegacyGUIminingSummaryLabel.Height = 80
+$LegacyGUIminingSummaryLabel.Location = [System.Drawing.Point]::new(6, $LegacyGUIminingStatusLabel.Bottom)
+$LegacyGUIminingSummaryLabel.Tag = ""
+$LegacyGUIminingSummaryLabel.TextAlign = "MiddleLeft"
+$LegacyGUIminingSummaryLabel.Visible = $true
+$LegacyGUIControls += $LegacyGUIminingSummaryLabel
+$LegacyGUItooltip.SetToolTip($LegacyGUIminingSummaryLabel, "Color legend:`rBlack: Mining profitability is unknown`rGreen: Mining is profitable`rRed: Mining is NOT profitable")
+
+$LegacyGUIbuttonPause = New-Object System.Windows.Forms.Button
+$LegacyGUIbuttonPause.Enabled = $true
+$LegacyGUIbuttonPause.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIbuttonPause.Height = 24
+$LegacyGUIbuttonPause.Text = "Pause mining"
+$LegacyGUIbuttonPause.Visible = $true
+$LegacyGUIbuttonPause.Width = 100
+$LegacyGUIbuttonPause.Add_Click(
{
If ($Variables.NewMiningStatus -ne "Paused") {
# $Variables.Summary = "'Pause mining' button pressed.
Pausing $($Variables.Branding.ProductLabel)..."
@@ -776,17 +776,17 @@ $ButtonPause.Add_Click(
}
}
)
-$LegacyGUIControls += $ButtonPause
-$Tooltip.SetToolTip($ButtonPause, "Pause mining processes.`rBackground processes remain running.")
-
-$ButtonStart = New-Object System.Windows.Forms.Button
-$ButtonStart.Enabled = $true
-$ButtonStart.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$ButtonStart.Height = 24
-$ButtonStart.Text = "Start mining"
-$ButtonStart.Visible = $true
-$ButtonStart.Width = 100
-$ButtonStart.Add_Click(
+$LegacyGUIControls += $LegacyGUIbuttonPause
+$LegacyGUItooltip.SetToolTip($LegacyGUIbuttonPause, "Pause mining processes.`rBackground processes remain running.")
+
+$LegacyGUIbuttonStart = New-Object System.Windows.Forms.Button
+$LegacyGUIbuttonStart.Enabled = $true
+$LegacyGUIbuttonStart.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIbuttonStart.Height = 24
+$LegacyGUIbuttonStart.Text = "Start mining"
+$LegacyGUIbuttonStart.Visible = $true
+$LegacyGUIbuttonStart.Width = 100
+$LegacyGUIbuttonStart.Add_Click(
{
If ($Variables.NewMiningStatus -ne "Running" -or $Variables.IdleDetectionRunspace -eq "Idle") {
# $Variables.Summary = "Start mining' button clicked.
Starting $($Variables.Branding.ProductLabel)..."
@@ -796,17 +796,17 @@ $ButtonStart.Add_Click(
}
}
)
-$LegacyGUIControls += $ButtonStart
-$Tooltip.SetToolTip($ButtonStart, "Start the mining process.")
-
-$ButtonStop = New-Object System.Windows.Forms.Button
-$ButtonStop.Enabled = $true
-$ButtonStop.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$ButtonStop.Height = 24
-$ButtonStop.Text = "Stop mining"
-$ButtonStop.Visible = $true
-$ButtonStop.Width = 100
-$ButtonStop.Add_Click(
+$LegacyGUIControls += $LegacyGUIbuttonStart
+$LegacyGUItooltip.SetToolTip($LegacyGUIbuttonStart, "Start the mining process.")
+
+$LegacyGUIbuttonStop = New-Object System.Windows.Forms.Button
+$LegacyGUIbuttonStop.Enabled = $true
+$LegacyGUIbuttonStop.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIbuttonStop.Height = 24
+$LegacyGUIbuttonStop.Text = "Stop mining"
+$LegacyGUIbuttonStop.Visible = $true
+$LegacyGUIbuttonStop.Width = 100
+$LegacyGUIbuttonStop.Add_Click(
{
If ($Variables.NewMiningStatus -ne "Idle") {
# $Variables.Summary = "'Stop mining' button clicked.
Stopping $($Variables.Branding.ProductLabel)..."
@@ -816,54 +816,54 @@ $ButtonStop.Add_Click(
}
}
)
-$LegacyGUIControls += $ButtonStop
-$Tooltip.SetToolTip($ButtonStop, "Stop mining processes.`rBackground processes will also stop.")
-
-$EditConfigLink = New-Object System.Windows.Forms.LinkLabel
-$EditConfigLink.ActiveLinkColor = [System.Drawing.Color]::Blue
-$EditConfigLink.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$EditConfigLink.LinkColor = [System.Drawing.Color]::Blue
-$EditConfigLink.Location = [System.Drawing.Point]::new(10, ($LegacyGUIForm.Bottom - 26))
-$EditConfigLink.TextAlign = "MiddleLeft"
-$EditConfigLink.Size = New-Object System.Drawing.Size(380, 26)
-$EditConfigLink.Add_Click({ If ($EditConfigLink.Tag -eq "WebGUI") { Start-Process "http://localhost:$($Variables.APIRunspace.APIport)/configedit.html" } Else { Edit-File $Variables.ConfigFile } })
-$LegacyGUIControls += $EditConfigLink
-$Tooltip.SetToolTip($EditConfigLink, "Click to the edit configuration")
-
-$CopyrightLabel = New-Object System.Windows.Forms.LinkLabel
-$CopyrightLabel.ActiveLinkColor = [System.Drawing.Color]::Blue
-$CopyrightLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$CopyrightLabel.Location = [System.Drawing.Point]::new(10, ($LegacyGUIForm.Bottom - 26))
-$CopyrightLabel.LinkColor = [System.Drawing.Color]::Blue
-$CopyrightLabel.Size = New-Object System.Drawing.Size(380, 26)
-$CopyrightLabel.Text = "Copyright (c) 2018-$([DateTime]::Now.Year) UselessGuru"
-$CopyrightLabel.TextAlign = "MiddleRight"
-$CopyrightLabel.Add_Click({ Start-Process "https://github.com/UselessGuru/UG-Miner/blob/master/LICENSE" })
-$LegacyGUIControls += $CopyrightLabel
-$Tooltip.SetToolTip($CopyrightLabel, "Click to go to the $($Variables.Branding.ProductLabel) Github page")
+$LegacyGUIControls += $LegacyGUIbuttonStop
+$LegacyGUItooltip.SetToolTip($LegacyGUIbuttonStop, "Stop mining processes.`rBackground processes will also stop.")
+
+$LegacyGUIeditConfigLink = New-Object System.Windows.Forms.LinkLabel
+$LegacyGUIeditConfigLink.ActiveLinkColor = [System.Drawing.Color]::Blue
+$LegacyGUIeditConfigLink.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIeditConfigLink.LinkColor = [System.Drawing.Color]::Blue
+$LegacyGUIeditConfigLink.Location = [System.Drawing.Point]::new(10, ($LegacyGUIform.Bottom - 26))
+$LegacyGUIeditConfigLink.TextAlign = "MiddleLeft"
+$LegacyGUIeditConfigLink.Size = New-Object System.Drawing.Size(380, 26)
+$LegacyGUIeditConfigLink.Add_Click({ If ($LegacyGUIeditConfigLink.Tag -eq "WebGUI") { Start-Process "http://localhost:$($Variables.APIRunspace.APIport)/configedit.html" } Else { Edit-File $Variables.ConfigFile } })
+$LegacyGUIControls += $LegacyGUIeditConfigLink
+$LegacyGUItooltip.SetToolTip($LegacyGUIeditConfigLink, "Click to the edit configuration")
+
+$LegacyGUIcopyrightLabel = New-Object System.Windows.Forms.LinkLabel
+$LegacyGUIcopyrightLabel.ActiveLinkColor = [System.Drawing.Color]::Blue
+$LegacyGUIcopyrightLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIcopyrightLabel.Location = [System.Drawing.Point]::new(10, ($LegacyGUIform.Bottom - 26))
+$LegacyGUIcopyrightLabel.LinkColor = [System.Drawing.Color]::Blue
+$LegacyGUIcopyrightLabel.Size = New-Object System.Drawing.Size(380, 26)
+$LegacyGUIcopyrightLabel.Text = "Copyright (c) 2018-$([DateTime]::Now.Year) UselessGuru"
+$LegacyGUIcopyrightLabel.TextAlign = "MiddleRight"
+$LegacyGUIcopyrightLabel.Add_Click({ Start-Process "https://github.com/UselessGuru/UG-Miner/blob/master/LICENSE" })
+$LegacyGUIControls += $LegacyGUIcopyrightLabel
+$LegacyGUItooltip.SetToolTip($LegacyGUIcopyrightLabel, "Click to go to the $($Variables.Branding.ProductLabel) Github page")
# Miner context menu items
-$ContextMenuStrip = New-Object System.Windows.Forms.ContextMenuStrip
-$ContextMenuStrip.Enabled = $false
-[System.Windows.Forms.ToolStripItem]$ContextMenuStripItem1 = New-Object System.Windows.Forms.ToolStripMenuItem
-[Void]$ContextMenuStrip.Items.Add($ContextMenuStripItem1)
+$LegacyGUIcontextMenuStrip = New-Object System.Windows.Forms.ContextMenuStrip
+$LegacyGUIcontextMenuStrip.Enabled = $false
+[System.Windows.Forms.ToolStripItem]$LegacyGUIcontextMenuStripItem1 = New-Object System.Windows.Forms.ToolStripMenuItem
+[Void]$LegacyGUIcontextMenuStrip.Items.Add($LegacyGUIcontextMenuStripItem1)
-[System.Windows.Forms.ToolStripItem]$ContextMenuStripItem2 = New-Object System.Windows.Forms.ToolStripMenuItem
-[Void]$ContextMenuStrip.Items.Add($ContextMenuStripItem2)
+[System.Windows.Forms.ToolStripItem]$LegacyGUIcontextMenuStripItem2 = New-Object System.Windows.Forms.ToolStripMenuItem
+[Void]$LegacyGUIcontextMenuStrip.Items.Add($LegacyGUIcontextMenuStripItem2)
-[System.Windows.Forms.ToolStripItem]$ContextMenuStripItem3 = New-Object System.Windows.Forms.ToolStripMenuItem
-[Void]$ContextMenuStrip.Items.Add($ContextMenuStripItem3)
+[System.Windows.Forms.ToolStripItem]$LegacyGUIcontextMenuStripItem3 = New-Object System.Windows.Forms.ToolStripMenuItem
+[Void]$LegacyGUIcontextMenuStrip.Items.Add($LegacyGUIcontextMenuStripItem3)
-[System.Windows.Forms.ToolStripItem]$ContextMenuStripItem4 = New-Object System.Windows.Forms.ToolStripMenuItem
-[Void]$ContextMenuStrip.Items.Add($ContextMenuStripItem4)
+[System.Windows.Forms.ToolStripItem]$LegacyGUIcontextMenuStripItem4 = New-Object System.Windows.Forms.ToolStripMenuItem
+[Void]$LegacyGUIcontextMenuStrip.Items.Add($LegacyGUIcontextMenuStripItem4)
-[System.Windows.Forms.ToolStripItem]$ContextMenuStripItem5 = New-Object System.Windows.Forms.ToolStripMenuItem
-[Void]$ContextMenuStrip.Items.Add($ContextMenuStripItem5)
+[System.Windows.Forms.ToolStripItem]$LegacyGUIcontextMenuStripItem5 = New-Object System.Windows.Forms.ToolStripMenuItem
+[Void]$LegacyGUIcontextMenuStrip.Items.Add($LegacyGUIcontextMenuStripItem5)
-[System.Windows.Forms.ToolStripItem]$ContextMenuStripItem6 = New-Object System.Windows.Forms.ToolStripMenuItem
-[Void]$ContextMenuStrip.Items.Add($ContextMenuStripItem6)
+[System.Windows.Forms.ToolStripItem]$LegacyGUIcontextMenuStripItem6 = New-Object System.Windows.Forms.ToolStripMenuItem
+[Void]$LegacyGUIcontextMenuStrip.Items.Add($LegacyGUIcontextMenuStripItem6)
-$ContextMenuStrip.Add_ItemClicked(
+$LegacyGUIcontextMenuStrip.Add_ItemClicked(
{
$Data = @()
@@ -906,7 +906,7 @@ $ContextMenuStrip.Add_ItemClicked(
If (-not $_.Reasons) { $_.Available = $true }
}
)
- $ContextMenuStrip.Visible = $false
+ $LegacyGUIcontextMenuStrip.Visible = $false
If ($Data) {
$Data = $Data | Sort-Object -Unique
$Message = "Re-benchmark triggered for $($Data.Count) miner$(If ($Data.Count -ne 1) { "s" })."
@@ -932,7 +932,7 @@ $ContextMenuStrip.Add_ItemClicked(
If ($_.Status -eq "Disabled") { $_.Status = "Idle" }
}
)
- $ContextMenuStrip.Visible = $false
+ $LegacyGUIcontextMenuStrip.Visible = $false
If ($Data) {
$Data = $Data | Sort-Object -Unique
$Message = "Re-measure power consumption triggered for $($Data.Count) miner$(If ($Data.Count -ne 1) { "s" })."
@@ -962,7 +962,7 @@ $ContextMenuStrip.Add_ItemClicked(
$_.Reasons = [System.Collections.Generic.List[String]]@($_.Reasons.Where({ $_ -notlike "Disabled by user" }) | Sort-Object -Unique)
}
)
- $ContextMenuStrip.Visible = $false
+ $LegacyGUIcontextMenuStrip.Visible = $false
If ($Data) {
$Data = $Data | Sort-Object -Unique
$Message = "Marked $($Data.Count) miner$(If ($Data.Count -ne 1) { "s" }) as failed."
@@ -987,7 +987,7 @@ $ContextMenuStrip.Add_ItemClicked(
$_.Reasons = [System.Collections.Generic.List[String]]@($_.Reasons.Where({ $_ -ne "Disabled by user" }) | Sort-Object -Unique)
}
)
- $ContextMenuStrip.Visible = $false
+ $LegacyGUIcontextMenuStrip.Visible = $false
If ($Data = $Data | Sort-Object -Unique) {
$Message = "Disabled $($Data.Count) miner$(If ($Data.Count -ne 1) { "s" })."
Write-Message -Level Verbose "GUI: $Message"
@@ -1010,7 +1010,7 @@ $ContextMenuStrip.Add_ItemClicked(
If (-not $_.Reasons) { $_.Available = $true }
}
)
- $ContextMenuStrip.Visible = $false
+ $LegacyGUIcontextMenuStrip.Visible = $false
If ($Data = $Data | Sort-Object -Unique) {
$Message = "Enabled $($Data.Count) miner$(If ($Data.Count -ne 1) { "s" })."
Write-Message -Level Verbose "GUI: $Message"
@@ -1036,7 +1036,7 @@ $ContextMenuStrip.Add_ItemClicked(
$Variables.WatchdogTimers = @($Variables.WatchdogTimers.Where({ $_.MinerName -ne $Miner.Name }))
}
)
- $ContextMenuStrip.Visible = $false
+ $LegacyGUIcontextMenuStrip.Visible = $false
If ($Data) {
$Data = $Data | Sort-Object -Unique
$Message = "$($Data.Count) miner watchdog timer$(If ($Data.Count -ne 1) { "s" }) removed."
@@ -1072,7 +1072,7 @@ $ContextMenuStrip.Add_ItemClicked(
)
}
)
- $ContextMenuStrip.Visible = $false
+ $LegacyGUIcontextMenuStrip.Visible = $false
If ($Data) {
$Data = $Data | Sort-Object -Unique
$Message = "Pool stats for $($Data.Count) pool$(If ($Data.Count -ne 1) { "s" }) reset."
@@ -1100,7 +1100,7 @@ $ContextMenuStrip.Add_ItemClicked(
$Variables.WatchdogTimers = @($Variables.WatchdogTimers.Where({ $_.PoolName -ne $SelectedPoolName -or $_.Algorithm -ne $SelectedPoolAlgorithm}))
}
)
- $ContextMenuStrip.Visible = $false
+ $LegacyGUIcontextMenuStrip.Visible = $false
If ($Data) {
$Data = $Data | Sort-Object -Unique
$Message = "$($Data.Count) pool watchdog timer$(If ($Data.Count -ne 1) { "s" }) removed."
@@ -1120,61 +1120,61 @@ $ContextMenuStrip.Add_ItemClicked(
)
# CheckBox Column for DataGridView
-$CheckBoxColumn = New-Object System.Windows.Forms.DataGridViewCheckBoxColumn
-$CheckBoxColumn.HeaderText = ""
-$CheckBoxColumn.Name = "CheckBoxColumn"
-$CheckBoxColumn.ReadOnly = $false
+$LegacyGUIcheckBoxColumn = New-Object System.Windows.Forms.DataGridViewCheckBoxColumn
+$LegacyGUIcheckBoxColumn.HeaderText = ""
+$LegacyGUIcheckBoxColumn.Name = "CheckBoxColumn"
+$LegacyGUIcheckBoxColumn.ReadOnly = $false
# Run Page Controls
-$StatusPageControls = @()
-
-$ActiveMinersLabel = New-Object System.Windows.Forms.Label
-$ActiveMinersLabel.AutoSize = $false
-$ActiveMinersLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$ActiveMinersLabel.Height = 20
-$ActiveMinersLabel.Location = [System.Drawing.Point]::new(6, 6)
-$ActiveMinersLabel.Width = 600
-$StatusPageControls += $ActiveMinersLabel
-
-$ActiveMinersDGV = New-Object System.Windows.Forms.DataGridView
-$ActiveMinersDGV.AllowUserToAddRows = $false
-$ActiveMinersDGV.AllowUserToDeleteRows = $false
-$ActiveMinersDGV.AllowUserToOrderColumns = $true
-$ActiveMinersDGV.AllowUserToResizeColumns = $true
-$ActiveMinersDGV.AllowUserToResizeRows = $false
-$ActiveMinersDGV.AutoSizeColumnsMode = "Fill"
-$ActiveMinersDGV.ColumnHeadersDefaultCellStyle.BackColor = [System.Drawing.SystemColors]::MenuBar
-$ActiveMinersDGV.ColumnHeadersDefaultCellStyle.SelectionBackColor = [System.Drawing.SystemColors]::MenuBar
-$ActiveMinersDGV.ColumnHeadersHeightSizeMode = "AutoSize"
-$ActiveMinersDGV.ContextMenuStrip = $ContextMenuStrip
-$ActiveMinersDGV.DataBindings.DefaultDataSourceUpdateMode = 0
-$ActiveMinersDGV.EnableHeadersVisualStyles = $false
-$ActiveMinersDGV.Font = [System.Drawing.Font]::new("Segoe UI", 9)
-$ActiveMinersDGV.Height = 3
-$ActiveMinersDGV.Location = [System.Drawing.Point]::new(6, ($ActiveMinersLabel.Height + 6))
-$ActiveMinersDGV.Name = "LaunchedMinersDGV"
-$ActiveMinersDGV.ReadOnly = $true
-$ActiveMinersDGV.RowHeadersVisible = $false
-$ActiveMinersDGV.ScrollBars = "None"
-$ActiveMinersDGV.SelectionMode = "FullRowSelect"
-$ActiveMinersDGV.Add_MouseUP(
+$LegacyGUIstatusPageControls = @()
+
+$LegacyGUIactiveMinersLabel = New-Object System.Windows.Forms.Label
+$LegacyGUIactiveMinersLabel.AutoSize = $false
+$LegacyGUIactiveMinersLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIactiveMinersLabel.Height = 20
+$LegacyGUIactiveMinersLabel.Location = [System.Drawing.Point]::new(6, 6)
+$LegacyGUIactiveMinersLabel.Width = 600
+$LegacyGUIstatusPageControls += $LegacyGUIactiveMinersLabel
+
+$LegacyGUIactiveMinersDGV = New-Object System.Windows.Forms.DataGridView
+$LegacyGUIactiveMinersDGV.AllowUserToAddRows = $false
+$LegacyGUIactiveMinersDGV.AllowUserToDeleteRows = $false
+$LegacyGUIactiveMinersDGV.AllowUserToOrderColumns = $true
+$LegacyGUIactiveMinersDGV.AllowUserToResizeColumns = $true
+$LegacyGUIactiveMinersDGV.AllowUserToResizeRows = $false
+$LegacyGUIactiveMinersDGV.AutoSizeColumnsMode = "Fill"
+$LegacyGUIactiveMinersDGV.ColumnHeadersDefaultCellStyle.BackColor = [System.Drawing.SystemColors]::MenuBar
+$LegacyGUIactiveMinersDGV.ColumnHeadersDefaultCellStyle.SelectionBackColor = [System.Drawing.SystemColors]::MenuBar
+$LegacyGUIactiveMinersDGV.ColumnHeadersHeightSizeMode = "AutoSize"
+$LegacyGUIactiveMinersDGV.ContextMenuStrip = $LegacyGUIcontextMenuStrip
+$LegacyGUIactiveMinersDGV.DataBindings.DefaultDataSourceUpdateMode = 0
+$LegacyGUIactiveMinersDGV.EnableHeadersVisualStyles = $false
+$LegacyGUIactiveMinersDGV.Font = [System.Drawing.Font]::new("Segoe UI", 9)
+$LegacyGUIactiveMinersDGV.Height = 3
+$LegacyGUIactiveMinersDGV.Location = [System.Drawing.Point]::new(6, ($LegacyGUIactiveMinersLabel.Height + 6))
+$LegacyGUIactiveMinersDGV.Name = "LaunchedMinersDGV"
+$LegacyGUIactiveMinersDGV.ReadOnly = $true
+$LegacyGUIactiveMinersDGV.RowHeadersVisible = $false
+$LegacyGUIactiveMinersDGV.ScrollBars = "None"
+$LegacyGUIactiveMinersDGV.SelectionMode = "FullRowSelect"
+$LegacyGUIactiveMinersDGV.Add_MouseUP(
{
If ($_.Button -eq [System.Windows.Forms.MouseButtons]::Right) {
- $ContextMenuStrip.Enabled = [Boolean]$This.SelectedRows
+ $LegacyGUIcontextMenuStrip.Enabled = [Boolean]$This.SelectedRows
}
}
)
-$ActiveMinersDGV.Add_Sorted({ Set-TableColor -DataGridView $ActiveMinersDGV })
-Set-DataGridViewDoubleBuffer -Grid $ActiveMinersDGV -Enabled $true
-$StatusPageControls += $ActiveMinersDGV
-
-$SystemLogLabel = New-Object System.Windows.Forms.Label
-$SystemLogLabel.AutoSize = $false
-$SystemLogLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$SystemLogLabel.Height = 20
-$SystemLogLabel.Text = "System Log"
-$SystemLogLabel.Width = 600
-$StatusPageControls += $SystemLogLabel
+$LegacyGUIactiveMinersDGV.Add_Sorted({ Set-TableColor -DataGridView $LegacyGUIactiveMinersDGV })
+Set-DataGridViewDoubleBuffer -Grid $LegacyGUIactiveMinersDGV -Enabled $true
+$LegacyGUIstatusPageControls += $LegacyGUIactiveMinersDGV
+
+$LegacyGUIsystemLogLabel = New-Object System.Windows.Forms.Label
+$LegacyGUIsystemLogLabel.AutoSize = $false
+$LegacyGUIsystemLogLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIsystemLogLabel.Height = 20
+$LegacyGUIsystemLogLabel.Text = "System Log"
+$LegacyGUIsystemLogLabel.Width = 600
+$LegacyGUIstatusPageControls += $LegacyGUIsystemLogLabel
$Variables.TextBoxSystemLog = New-Object System.Windows.Forms.TextBox
$Variables.TextBoxSystemLog.AutoSize = $true
@@ -1184,386 +1184,386 @@ $Variables.TextBoxSystemLog.ReadOnly = $true
$Variables.TextBoxSystemLog.Scrollbars = "Vertical"
$Variables.TextBoxSystemLog.Text = ""
$Variables.TextBoxSystemLog.WordWrap = $true
-$StatusPageControls += $Variables.TextBoxSystemLog
-$Tooltip.SetToolTip($Variables.TextBoxSystemLog, "These are the last 100 lines of the system log")
+$LegacyGUIstatusPageControls += $Variables.TextBoxSystemLog
+$LegacyGUItooltip.SetToolTip($Variables.TextBoxSystemLog, "These are the last 100 lines of the system log")
# Earnings Page Controls
-$EarningsPageControls = @()
-
-$EarningsChart = New-Object System.Windows.Forms.DataVisualization.Charting.Chart
-$EarningsChart.BackColor = [System.Drawing.Color]::FromArgb(255, 240, 240, 240)
-$EarningsChart.Location = [System.Drawing.Point]::new(-10, -5)
-$EarningsPageControls += $EarningsChart
-
-$BalancesLabel = New-Object System.Windows.Forms.Label
-$BalancesLabel.AutoSize = $false
-$BalancesLabel.BringToFront()
-$BalancesLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$BalancesLabel.Height = 20
-$BalancesLabel.Width = 600
-$EarningsPageControls += $BalancesLabel
-
-$BalancesDGV = New-Object System.Windows.Forms.DataGridView
-$BalancesDGV.AllowUserToAddRows = $false
-$BalancesDGV.AllowUserToDeleteRows = $false
-$BalancesDGV.AllowUserToOrderColumns = $true
-$BalancesDGV.AllowUserToResizeColumns = $true
-$BalancesDGV.AllowUserToResizeRows = $false
-$BalancesDGV.AutoSizeColumnsMode = "Fill"
-$BalancesDGV.ColumnHeadersDefaultCellStyle.BackColor = [System.Drawing.SystemColors]::MenuBar
-$BalancesDGV.ColumnHeadersHeightSizeMode = "AutoSize"
-$BalancesDGV.DataBindings.DefaultDataSourceUpdateMode = 0
-$BalancesDGV.EnableHeadersVisualStyles = $false
-$BalancesDGV.Font = [System.Drawing.Font]::new("Segoe UI", 9)
-$BalancesDGV.Height = 3
-$BalancesDGV.Location = [System.Drawing.Point]::new(8, 187)
-$BalancesDGV.Name = "EarningsDGV"
-$BalancesDGV.ReadOnly = $true
-$BalancesDGV.RowHeadersVisible = $false
-$BalancesDGV.ScrollBars = "None"
-Set-DataGridViewDoubleBuffer -Grid $BalancesDGV -Enabled $true
-$EarningsPageControls += $BalancesDGV
+$LegacyGUIearningsPageControls = @()
+
+$LegacyGUIearningsChart = New-Object System.Windows.Forms.DataVisualization.Charting.Chart
+$LegacyGUIearningsChart.BackColor = [System.Drawing.Color]::FromArgb(255, 240, 240, 240)
+$LegacyGUIearningsChart.Location = [System.Drawing.Point]::new(-10, -5)
+$LegacyGUIearningsPageControls += $LegacyGUIearningsChart
+
+$LegacyGUIbalancesLabel = New-Object System.Windows.Forms.Label
+$LegacyGUIbalancesLabel.AutoSize = $false
+$LegacyGUIbalancesLabel.BringToFront()
+$LegacyGUIbalancesLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIbalancesLabel.Height = 20
+$LegacyGUIbalancesLabel.Width = 600
+$LegacyGUIearningsPageControls += $LegacyGUIbalancesLabel
+
+$LegacyGUIbalancesDGV = New-Object System.Windows.Forms.DataGridView
+$LegacyGUIbalancesDGV.AllowUserToAddRows = $false
+$LegacyGUIbalancesDGV.AllowUserToDeleteRows = $false
+$LegacyGUIbalancesDGV.AllowUserToOrderColumns = $true
+$LegacyGUIbalancesDGV.AllowUserToResizeColumns = $true
+$LegacyGUIbalancesDGV.AllowUserToResizeRows = $false
+$LegacyGUIbalancesDGV.AutoSizeColumnsMode = "Fill"
+$LegacyGUIbalancesDGV.ColumnHeadersDefaultCellStyle.BackColor = [System.Drawing.SystemColors]::MenuBar
+$LegacyGUIbalancesDGV.ColumnHeadersHeightSizeMode = "AutoSize"
+$LegacyGUIbalancesDGV.DataBindings.DefaultDataSourceUpdateMode = 0
+$LegacyGUIbalancesDGV.EnableHeadersVisualStyles = $false
+$LegacyGUIbalancesDGV.Font = [System.Drawing.Font]::new("Segoe UI", 9)
+$LegacyGUIbalancesDGV.Height = 3
+$LegacyGUIbalancesDGV.Location = [System.Drawing.Point]::new(8, 187)
+$LegacyGUIbalancesDGV.Name = "EarningsDGV"
+$LegacyGUIbalancesDGV.ReadOnly = $true
+$LegacyGUIbalancesDGV.RowHeadersVisible = $false
+$LegacyGUIbalancesDGV.ScrollBars = "None"
+Set-DataGridViewDoubleBuffer -Grid $LegacyGUIbalancesDGV -Enabled $true
+$LegacyGUIearningsPageControls += $LegacyGUIbalancesDGV
# Miner page Controls
-$MinersPageControls = @()
-
-$RadioButtonMinersOptimal = New-Object System.Windows.Forms.RadioButton
-$RadioButtonMinersOptimal.AutoSize = $false
-$RadioButtonMinersOptimal.Checked = $true
-$RadioButtonMinersOptimal.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$RadioButtonMinersOptimal.Height = 22
-$RadioButtonMinersOptimal.Location = [System.Drawing.Point]::new(0, 0)
-$RadioButtonMinersOptimal.Text = "Optimal miners"
-$RadioButtonMinersOptimal.Width = 150
-$RadioButtonMinersOptimal.Add_Click({ Update-TabControl })
-$Tooltip.SetToolTip($RadioButtonMinersOptimal, "These are all optimal miners per algorithm and device.")
-
-$RadioButtonMinersUnavailable = New-Object System.Windows.Forms.RadioButton
-$RadioButtonMinersUnavailable.AutoSize = $false
-$RadioButtonMinersUnavailable.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$RadioButtonMinersUnavailable.Height = $RadioButtonMinersOptimal.Height
-$RadioButtonMinersUnavailable.Location = [System.Drawing.Point]::new(150, 0)
-$RadioButtonMinersUnavailable.Text = "Unavailable miners"
-$RadioButtonMinersUnavailable.Width = 170
-$RadioButtonMinersUnavailable.Add_Click({ Update-TabControl })
-$Tooltip.SetToolTip($RadioButtonMinersUnavailable, "These are all unavailable miners.`rThe column 'Reason(s)' shows the filter criteria(s) that made the miner unavailable.")
-
-$RadioButtonMiners = New-Object System.Windows.Forms.RadioButton
-$RadioButtonMiners.AutoSize = $false
-$RadioButtonMiners.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$RadioButtonMiners.Height = $RadioButtonMinersUnavailable.Height
-$RadioButtonMiners.Location = [System.Drawing.Point]::new(320, 0)
-$RadioButtonMiners.Text = "All miners"
-$RadioButtonMiners.Width = 100
-$RadioButtonMiners.Add_Click({ Update-TabControl })
-$Tooltip.SetToolTip($RadioButtonMiners, "These are all miners.`rNote: UG-Miner will only create miners for algorithms that have at least one available pool.")
-
-$MinersLabel = New-Object System.Windows.Forms.Label
-$MinersLabel.AutoSize = $false
-$MinersLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$MinersLabel.Height = 20
-$MinersLabel.Location = [System.Drawing.Point]::new(6, 6)
-$MinersLabel.Width = 600
-$MinersPageControls += $MinersLabel
-
-$MinersPanel = New-Object System.Windows.Forms.Panel
-$MinersPanel.Height = 22
-$MinersPanel.Location = [System.Drawing.Point]::new(8, ($MinersLabel.Height + 6))
-$MinersPanel.Controls.Add($RadioButtonMinersOptimal)
-$MinersPanel.Controls.Add($RadioButtonMinersUnavailable)
-$MinersPanel.Controls.Add($RadioButtonMiners)
-$MinersPageControls += $MinersPanel
-
-$MinersDGV = New-Object System.Windows.Forms.DataGridView
-$MinersDGV.AllowUserToAddRows = $false
-$MinersDGV.AllowUserToOrderColumns = $true
-$MinersDGV.AllowUserToResizeColumns = $true
-$MinersDGV.AllowUserToResizeRows = $false
-$MinersDGV.AutoSizeColumnsMode = "Fill"
-$MinersDGV.ColumnHeadersDefaultCellStyle.BackColor = [System.Drawing.SystemColors]::MenuBar
-$MinersDGV.ColumnHeadersDefaultCellStyle.SelectionBackColor = [System.Drawing.SystemColors]::MenuBar
-$MinersDGV.ColumnHeadersHeightSizeMode = "AutoSize"
-$MinersDGV.ColumnHeadersVisible = $true
-$MinersDGV.ContextMenuStrip = $ContextMenuStrip
-$MinersDGV.DataBindings.DefaultDataSourceUpdateMode = 0
-$MinersDGV.EnableHeadersVisualStyles = $false
-$MinersDGV.Font = [System.Drawing.Font]::new("Segoe UI", 9)
-$MinersDGV.Height = 3
-$MinersDGV.Location = [System.Drawing.Point]::new(6, ($MinersLabel.Height + $MinersPanel.Height + 10))
-$MinersDGV.Name = "MinersDGV"
-$MinersDGV.ReadOnly = $true
-$MinersDGV.RowHeadersVisible = $false
-$MinersDGV.SelectionMode = "FullRowSelect"
-$MinersDGV.Add_MouseUP(
+$LegacyGUIminersPageControls = @()
+
+$LegacyGUIradioButtonMinersOptimal = New-Object System.Windows.Forms.RadioButton
+$LegacyGUIradioButtonMinersOptimal.AutoSize = $false
+$LegacyGUIradioButtonMinersOptimal.Checked = $true
+$LegacyGUIradioButtonMinersOptimal.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIradioButtonMinersOptimal.Height = 22
+$LegacyGUIradioButtonMinersOptimal.Location = [System.Drawing.Point]::new(0, 0)
+$LegacyGUIradioButtonMinersOptimal.Text = "Optimal miners"
+$LegacyGUIradioButtonMinersOptimal.Width = 150
+$LegacyGUIradioButtonMinersOptimal.Add_Click({ Update-TabControl })
+$LegacyGUItooltip.SetToolTip($LegacyGUIradioButtonMinersOptimal, "These are all optimal miners per algorithm and device.")
+
+$LegacyGUIradioButtonMinersUnavailable = New-Object System.Windows.Forms.RadioButton
+$LegacyGUIradioButtonMinersUnavailable.AutoSize = $false
+$LegacyGUIradioButtonMinersUnavailable.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIradioButtonMinersUnavailable.Height = $LegacyGUIradioButtonMinersOptimal.Height
+$LegacyGUIradioButtonMinersUnavailable.Location = [System.Drawing.Point]::new(150, 0)
+$LegacyGUIradioButtonMinersUnavailable.Text = "Unavailable miners"
+$LegacyGUIradioButtonMinersUnavailable.Width = 170
+$LegacyGUIradioButtonMinersUnavailable.Add_Click({ Update-TabControl })
+$LegacyGUItooltip.SetToolTip($LegacyGUIradioButtonMinersUnavailable, "These are all unavailable miners.`rThe column 'Reason(s)' shows the filter criteria(s) that made the miner unavailable.")
+
+$LegacyGUIradioButtonMiners = New-Object System.Windows.Forms.RadioButton
+$LegacyGUIradioButtonMiners.AutoSize = $false
+$LegacyGUIradioButtonMiners.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIradioButtonMiners.Height = $LegacyGUIradioButtonMinersUnavailable.Height
+$LegacyGUIradioButtonMiners.Location = [System.Drawing.Point]::new(320, 0)
+$LegacyGUIradioButtonMiners.Text = "All miners"
+$LegacyGUIradioButtonMiners.Width = 100
+$LegacyGUIradioButtonMiners.Add_Click({ Update-TabControl })
+$LegacyGUItooltip.SetToolTip($LegacyGUIradioButtonMiners, "These are all miners.`rNote: UG-Miner will only create miners for algorithms that have at least one available pool.")
+
+$LegacyGUIminersLabel = New-Object System.Windows.Forms.Label
+$LegacyGUIminersLabel.AutoSize = $false
+$LegacyGUIminersLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIminersLabel.Height = 20
+$LegacyGUIminersLabel.Location = [System.Drawing.Point]::new(6, 6)
+$LegacyGUIminersLabel.Width = 600
+$LegacyGUIminersPageControls += $LegacyGUIminersLabel
+
+$LegacyGUIminersPanel = New-Object System.Windows.Forms.Panel
+$LegacyGUIminersPanel.Height = 22
+$LegacyGUIminersPanel.Location = [System.Drawing.Point]::new(8, ($LegacyGUIminersLabel.Height + 6))
+$LegacyGUIminersPanel.Controls.Add($LegacyGUIradioButtonMinersOptimal)
+$LegacyGUIminersPanel.Controls.Add($LegacyGUIradioButtonMinersUnavailable)
+$LegacyGUIminersPanel.Controls.Add($LegacyGUIradioButtonMiners)
+$LegacyGUIminersPageControls += $LegacyGUIminersPanel
+
+$LegacyGUIminersDGV = New-Object System.Windows.Forms.DataGridView
+$LegacyGUIminersDGV.AllowUserToAddRows = $false
+$LegacyGUIminersDGV.AllowUserToOrderColumns = $true
+$LegacyGUIminersDGV.AllowUserToResizeColumns = $true
+$LegacyGUIminersDGV.AllowUserToResizeRows = $false
+$LegacyGUIminersDGV.AutoSizeColumnsMode = "Fill"
+$LegacyGUIminersDGV.ColumnHeadersDefaultCellStyle.BackColor = [System.Drawing.SystemColors]::MenuBar
+$LegacyGUIminersDGV.ColumnHeadersDefaultCellStyle.SelectionBackColor = [System.Drawing.SystemColors]::MenuBar
+$LegacyGUIminersDGV.ColumnHeadersHeightSizeMode = "AutoSize"
+$LegacyGUIminersDGV.ColumnHeadersVisible = $true
+$LegacyGUIminersDGV.ContextMenuStrip = $LegacyGUIcontextMenuStrip
+$LegacyGUIminersDGV.DataBindings.DefaultDataSourceUpdateMode = 0
+$LegacyGUIminersDGV.EnableHeadersVisualStyles = $false
+$LegacyGUIminersDGV.Font = [System.Drawing.Font]::new("Segoe UI", 9)
+$LegacyGUIminersDGV.Height = 3
+$LegacyGUIminersDGV.Location = [System.Drawing.Point]::new(6, ($LegacyGUIminersLabel.Height + $LegacyGUIminersPanel.Height + 10))
+$LegacyGUIminersDGV.Name = "MinersDGV"
+$LegacyGUIminersDGV.ReadOnly = $true
+$LegacyGUIminersDGV.RowHeadersVisible = $false
+$LegacyGUIminersDGV.SelectionMode = "FullRowSelect"
+$LegacyGUIminersDGV.Add_MouseUP(
{
If ($_.Button -eq [System.Windows.Forms.MouseButtons]::Right ) {
- $ContextMenuStrip.Enabled = [Boolean]$This.SelectedRows
+ $LegacyGUIcontextMenuStrip.Enabled = [Boolean]$This.SelectedRows
}
}
)
-$MinersDGV.Add_Sorted(
- { Set-TableColor -DataGridView $MinersDGV }
+$LegacyGUIminersDGV.Add_Sorted(
+ { Set-TableColor -DataGridView $LegacyGUIminersDGV }
)
-Set-DataGridViewDoubleBuffer -Grid $MinersDGV -Enabled $true
-$MinersPageControls += $MinersDGV
+Set-DataGridViewDoubleBuffer -Grid $LegacyGUIminersDGV -Enabled $true
+$LegacyGUIminersPageControls += $LegacyGUIminersDGV
# Pools page Controls
-$PoolsPageControls = @()
-
-$RadioButtonPoolsBest = New-Object System.Windows.Forms.RadioButton
-$RadioButtonPoolsBest.AutoSize = $false
-$RadioButtonPoolsBest.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$RadioButtonPoolsBest.Height = 22
-$RadioButtonPoolsBest.Location = [System.Drawing.Point]::new(0, 0)
-$RadioButtonPoolsBest.Tag = ""
-$RadioButtonPoolsBest.Text = "Best pools"
-$RadioButtonPoolsBest.Width = 120
-$RadioButtonPoolsBest.Checked = $true
-$RadioButtonPoolsBest.Add_Click({ Update-TabControl })
-$Tooltip.SetToolTip($RadioButtonPoolsBest, "This is the list of the best paying pool for each algorithm.")
-
-$RadioButtonPoolsUnavailable = New-Object System.Windows.Forms.RadioButton
-$RadioButtonPoolsUnavailable.AutoSize = $false
-$RadioButtonPoolsUnavailable.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$RadioButtonPoolsUnavailable.Height = $RadioButtonPoolsBest.Height
-$RadioButtonPoolsUnavailable.Location = [System.Drawing.Point]::new(120, 0)
-$RadioButtonPoolsUnavailable.Tag = ""
-$RadioButtonPoolsUnavailable.Text = "Unavailable pools"
-$RadioButtonPoolsUnavailable.Width = 170
-$RadioButtonPoolsUnavailable.Add_Click({ Update-TabControl })
-$Tooltip.SetToolTip($RadioButtonPoolsUnavailable, "This is the pool data of all unavailable pools.`rThe column 'Reason(s)' shows the filter criteria(s) that made the pool unavailable.")
-
-$RadioButtonPools = New-Object System.Windows.Forms.RadioButton
-$RadioButtonPools.AutoSize = $false
-$RadioButtonPools.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$RadioButtonPools.Height = $RadioButtonPoolsUnavailable.Height
-$RadioButtonPools.Location = [System.Drawing.Point]::new((120 + 175), 0)
-$RadioButtonPools.Tag = ""
-$RadioButtonPools.Text = "All pools"
-$RadioButtonPools.Width = 100
-$RadioButtonPools.Add_Click({ Update-TabControl })
-$Tooltip.SetToolTip($RadioButtonPools, "This is the pool data of all configured pools.")
-
-$PoolsLabel = New-Object System.Windows.Forms.Label
-$PoolsLabel.AutoSize = $false
-$PoolsLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$PoolsLabel.Location = [System.Drawing.Point]::new(6, 6)
-$PoolsLabel.Height = 20
-$PoolsLabel.Width = 600
-$PoolsPageControls += $PoolsLabel
-
-$PoolsPanel = New-Object System.Windows.Forms.Panel
-$PoolsPanel.Height = 22
-$PoolsPanel.Location = [System.Drawing.Point]::new(8, ($PoolsLabel.Height + 6))
-$PoolsPanel.Controls.Add($RadioButtonPools)
-$PoolsPanel.Controls.Add($RadioButtonPoolsUnavailable)
-$PoolsPanel.Controls.Add($RadioButtonPoolsBest)
-$PoolsPageControls += $PoolsPanel
-
-$PoolsDGV = New-Object System.Windows.Forms.DataGridView
-$PoolsDGV.AllowUserToAddRows = $false
-$PoolsDGV.AllowUserToOrderColumns = $true
-$PoolsDGV.AllowUserToResizeColumns = $true
-$PoolsDGV.AllowUserToResizeRows = $false
-$PoolsDGV.AutoSizeColumnsMode = "Fill"
-$PoolsDGV.ColumnHeadersDefaultCellStyle.BackColor = [System.Drawing.SystemColors]::MenuBar
-$PoolsDGV.ColumnHeadersDefaultCellStyle.SelectionBackColor = [System.Drawing.SystemColors]::MenuBar
-$PoolsDGV.ColumnHeadersHeightSizeMode = "AutoSize"
-$PoolsDGV.ColumnHeadersVisible = $true
-$PoolsDGV.ContextMenuStrip = $ContextMenuStrip
-$PoolsDGV.DataBindings.DefaultDataSourceUpdateMode = 0
-$PoolsDGV.EnableHeadersVisualStyles = $false
-$PoolsDGV.Font = [System.Drawing.Font]::new("Segoe UI", 9)
-$PoolsDGV.Height = 3
-$PoolsDGV.Location = [System.Drawing.Point]::new(6, ($PoolsLabel.Height + $PoolsPanel.Height + 10))
-$PoolsDGV.Name = "PoolsDGV"
-$PoolsDGV.ReadOnly = $true
-$PoolsDGV.RowHeadersVisible = $false
-$PoolsDGV.SelectionMode = "FullRowSelect"
-$PoolsDGV.Add_MouseUP(
+$LegacyGUIpoolsPageControls = @()
+
+$LegacyGUIradioButtonPoolsBest = New-Object System.Windows.Forms.RadioButton
+$LegacyGUIradioButtonPoolsBest.AutoSize = $false
+$LegacyGUIradioButtonPoolsBest.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIradioButtonPoolsBest.Height = 22
+$LegacyGUIradioButtonPoolsBest.Location = [System.Drawing.Point]::new(0, 0)
+$LegacyGUIradioButtonPoolsBest.Tag = ""
+$LegacyGUIradioButtonPoolsBest.Text = "Best pools"
+$LegacyGUIradioButtonPoolsBest.Width = 120
+$LegacyGUIradioButtonPoolsBest.Checked = $true
+$LegacyGUIradioButtonPoolsBest.Add_Click({ Update-TabControl })
+$LegacyGUItooltip.SetToolTip($LegacyGUIradioButtonPoolsBest, "This is the list of the best paying pool for each algorithm.")
+
+$LegacyGUIradioButtonPoolsUnavailable = New-Object System.Windows.Forms.RadioButton
+$LegacyGUIradioButtonPoolsUnavailable.AutoSize = $false
+$LegacyGUIradioButtonPoolsUnavailable.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIradioButtonPoolsUnavailable.Height = $LegacyGUIradioButtonPoolsBest.Height
+$LegacyGUIradioButtonPoolsUnavailable.Location = [System.Drawing.Point]::new(120, 0)
+$LegacyGUIradioButtonPoolsUnavailable.Tag = ""
+$LegacyGUIradioButtonPoolsUnavailable.Text = "Unavailable pools"
+$LegacyGUIradioButtonPoolsUnavailable.Width = 170
+$LegacyGUIradioButtonPoolsUnavailable.Add_Click({ Update-TabControl })
+$LegacyGUItooltip.SetToolTip($LegacyGUIradioButtonPoolsUnavailable, "This is the pool data of all unavailable pools.`rThe column 'Reason(s)' shows the filter criteria(s) that made the pool unavailable.")
+
+$LegacyGUIradioButtonPools = New-Object System.Windows.Forms.RadioButton
+$LegacyGUIradioButtonPools.AutoSize = $false
+$LegacyGUIradioButtonPools.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIradioButtonPools.Height = $LegacyGUIradioButtonPoolsUnavailable.Height
+$LegacyGUIradioButtonPools.Location = [System.Drawing.Point]::new((120 + 175), 0)
+$LegacyGUIradioButtonPools.Tag = ""
+$LegacyGUIradioButtonPools.Text = "All pools"
+$LegacyGUIradioButtonPools.Width = 100
+$LegacyGUIradioButtonPools.Add_Click({ Update-TabControl })
+$LegacyGUItooltip.SetToolTip($LegacyGUIradioButtonPools, "This is the pool data of all configured pools.")
+
+$LegacyGUIpoolsLabel = New-Object System.Windows.Forms.Label
+$LegacyGUIpoolsLabel.AutoSize = $false
+$LegacyGUIpoolsLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIpoolsLabel.Location = [System.Drawing.Point]::new(6, 6)
+$LegacyGUIpoolsLabel.Height = 20
+$LegacyGUIpoolsLabel.Width = 600
+$LegacyGUIpoolsPageControls += $LegacyGUIpoolsLabel
+
+$LegacyGUIpoolsPanel = New-Object System.Windows.Forms.Panel
+$LegacyGUIpoolsPanel.Height = 22
+$LegacyGUIpoolsPanel.Location = [System.Drawing.Point]::new(8, ($LegacyGUIpoolsLabel.Height + 6))
+$LegacyGUIpoolsPanel.Controls.Add($LegacyGUIradioButtonPools)
+$LegacyGUIpoolsPanel.Controls.Add($LegacyGUIradioButtonPoolsUnavailable)
+$LegacyGUIpoolsPanel.Controls.Add($LegacyGUIradioButtonPoolsBest)
+$LegacyGUIpoolsPageControls += $LegacyGUIpoolsPanel
+
+$LegacyGUIpoolsDGV = New-Object System.Windows.Forms.DataGridView
+$LegacyGUIpoolsDGV.AllowUserToAddRows = $false
+$LegacyGUIpoolsDGV.AllowUserToOrderColumns = $true
+$LegacyGUIpoolsDGV.AllowUserToResizeColumns = $true
+$LegacyGUIpoolsDGV.AllowUserToResizeRows = $false
+$LegacyGUIpoolsDGV.AutoSizeColumnsMode = "Fill"
+$LegacyGUIpoolsDGV.ColumnHeadersDefaultCellStyle.BackColor = [System.Drawing.SystemColors]::MenuBar
+$LegacyGUIpoolsDGV.ColumnHeadersDefaultCellStyle.SelectionBackColor = [System.Drawing.SystemColors]::MenuBar
+$LegacyGUIpoolsDGV.ColumnHeadersHeightSizeMode = "AutoSize"
+$LegacyGUIpoolsDGV.ColumnHeadersVisible = $true
+$LegacyGUIpoolsDGV.ContextMenuStrip = $LegacyGUIcontextMenuStrip
+$LegacyGUIpoolsDGV.DataBindings.DefaultDataSourceUpdateMode = 0
+$LegacyGUIpoolsDGV.EnableHeadersVisualStyles = $false
+$LegacyGUIpoolsDGV.Font = [System.Drawing.Font]::new("Segoe UI", 9)
+$LegacyGUIpoolsDGV.Height = 3
+$LegacyGUIpoolsDGV.Location = [System.Drawing.Point]::new(6, ($LegacyGUIpoolsLabel.Height + $LegacyGUIpoolsPanel.Height + 10))
+$LegacyGUIpoolsDGV.Name = "PoolsDGV"
+$LegacyGUIpoolsDGV.ReadOnly = $true
+$LegacyGUIpoolsDGV.RowHeadersVisible = $false
+$LegacyGUIpoolsDGV.SelectionMode = "FullRowSelect"
+$LegacyGUIpoolsDGV.Add_MouseUP(
{
If ($_.Button -eq [System.Windows.Forms.MouseButtons]::Right ) {
- $ContextMenuStrip.Enabled = [Boolean]$This.SelectedRows
+ $LegacyGUIcontextMenuStrip.Enabled = [Boolean]$This.SelectedRows
}
}
)
-Set-DataGridViewDoubleBuffer -Grid $PoolsDGV -Enabled $true
-$PoolsPageControls += $PoolsDGV
+Set-DataGridViewDoubleBuffer -Grid $LegacyGUIpoolsDGV -Enabled $true
+$LegacyGUIpoolsPageControls += $LegacyGUIpoolsDGV
# Monitoring Page Controls
-$RigMonitorPageControls = @()
-
-$WorkersLabel = New-Object System.Windows.Forms.Label
-$WorkersLabel.AutoSize = $false
-$WorkersLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$WorkersLabel.Height = 20
-$WorkersLabel.Location = [System.Drawing.Point]::new(6, 6)
-$WorkersLabel.Width = 900
-$RigMonitorPageControls += $WorkersLabel
-
-$WorkersDGV = New-Object System.Windows.Forms.DataGridView
-$WorkersDGV.AllowUserToAddRows = $false
-$WorkersDGV.AllowUserToOrderColumns = $true
-$WorkersDGV.AllowUserToResizeColumns = $true
-$WorkersDGV.AllowUserToResizeRows = $false
-$WorkersDGV.AutoSizeColumnsMode = "Fill"
-$WorkersDGV.AutoSizeRowsMode = "AllCells"
-$WorkersDGV.ColumnHeadersDefaultCellStyle.BackColor = [System.Drawing.SystemColors]::MenuBar
-$WorkersDGV.ColumnHeadersHeightSizeMode = "AutoSize"
-$WorkersDGV.ColumnHeadersVisible = $true
-$WorkersDGV.DataBindings.DefaultDataSourceUpdateMode = 0
-$WorkersDGV.DefaultCellStyle.WrapMode = "True"
-$WorkersDGV.EnableHeadersVisualStyles = $false
-$WorkersDGV.Font = [System.Drawing.Font]::new("Segoe UI", 9)
-$WorkersDGV.Height = 3
-$WorkersDGV.Location = [System.Drawing.Point]::new(6, ($WorkersLabel.Height + 8))
-$WorkersDGV.ReadOnly = $true
-$WorkersDGV.RowHeadersVisible = $false
-$WorkersDGV.Add_Sorted(
- { Set-WorkerColor -DataGridView $WorkersDGV }
+$LegacyGUIrigMonitorPageControls = @()
+
+$LegacyGUIworkersLabel = New-Object System.Windows.Forms.Label
+$LegacyGUIworkersLabel.AutoSize = $false
+$LegacyGUIworkersLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIworkersLabel.Height = 20
+$LegacyGUIworkersLabel.Location = [System.Drawing.Point]::new(6, 6)
+$LegacyGUIworkersLabel.Width = 900
+$LegacyGUIrigMonitorPageControls += $LegacyGUIworkersLabel
+
+$LegacyGUIworkersDGV = New-Object System.Windows.Forms.DataGridView
+$LegacyGUIworkersDGV.AllowUserToAddRows = $false
+$LegacyGUIworkersDGV.AllowUserToOrderColumns = $true
+$LegacyGUIworkersDGV.AllowUserToResizeColumns = $true
+$LegacyGUIworkersDGV.AllowUserToResizeRows = $false
+$LegacyGUIworkersDGV.AutoSizeColumnsMode = "Fill"
+$LegacyGUIworkersDGV.AutoSizeRowsMode = "AllCells"
+$LegacyGUIworkersDGV.ColumnHeadersDefaultCellStyle.BackColor = [System.Drawing.SystemColors]::MenuBar
+$LegacyGUIworkersDGV.ColumnHeadersHeightSizeMode = "AutoSize"
+$LegacyGUIworkersDGV.ColumnHeadersVisible = $true
+$LegacyGUIworkersDGV.DataBindings.DefaultDataSourceUpdateMode = 0
+$LegacyGUIworkersDGV.DefaultCellStyle.WrapMode = "True"
+$LegacyGUIworkersDGV.EnableHeadersVisualStyles = $false
+$LegacyGUIworkersDGV.Font = [System.Drawing.Font]::new("Segoe UI", 9)
+$LegacyGUIworkersDGV.Height = 3
+$LegacyGUIworkersDGV.Location = [System.Drawing.Point]::new(6, ($LegacyGUIworkersLabel.Height + 8))
+$LegacyGUIworkersDGV.ReadOnly = $true
+$LegacyGUIworkersDGV.RowHeadersVisible = $false
+$LegacyGUIworkersDGV.Add_Sorted(
+ { Set-WorkerColor -DataGridView $LegacyGUIworkersDGV }
)
-Set-DataGridViewDoubleBuffer -Grid $WorkersDGV -Enabled $true
-$RigMonitorPageControls += $WorkersDGV
-
-$EditMonitoringLink = New-Object System.Windows.Forms.LinkLabel
-$EditMonitoringLink.ActiveLinkColor = [System.Drawing.Color]::Blue
-$EditMonitoringLink.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$EditMonitoringLink.Height = 20
-$EditMonitoringLink.Location = [System.Drawing.Point]::new(6, 6)
-$EditMonitoringLink.LinkColor = [System.Drawing.Color]::Blue
-$EditMonitoringLink.Text = "Edit the monitoring configuration"
-$EditMonitoringLink.TextAlign = "MiddleRight"
-$EditMonitoringLink.Size = New-Object System.Drawing.Size(330, 26)
-$EditMonitoringLink.Visible = $false
-$EditMonitoringLink.Width = 330
-$EditMonitoringLink.Add_Click({ Start-Process "http://localhost:$($Variables.APIRunspace.APIport)/rigmonitor.html" })
-$RigMonitorPageControls += $EditMonitoringLink
-$Tooltip.SetToolTip($EditMonitoringLink, "Click to the edit the monitoring configuration in the Web GUI")
+Set-DataGridViewDoubleBuffer -Grid $LegacyGUIworkersDGV -Enabled $true
+$LegacyGUIrigMonitorPageControls += $LegacyGUIworkersDGV
+
+$LegacyGUIeditMonitoringLink = New-Object System.Windows.Forms.LinkLabel
+$LegacyGUIeditMonitoringLink.ActiveLinkColor = [System.Drawing.Color]::Blue
+$LegacyGUIeditMonitoringLink.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIeditMonitoringLink.Height = 20
+$LegacyGUIeditMonitoringLink.Location = [System.Drawing.Point]::new(6, 6)
+$LegacyGUIeditMonitoringLink.LinkColor = [System.Drawing.Color]::Blue
+$LegacyGUIeditMonitoringLink.Text = "Edit the monitoring configuration"
+$LegacyGUIeditMonitoringLink.TextAlign = "MiddleRight"
+$LegacyGUIeditMonitoringLink.Size = New-Object System.Drawing.Size(330, 26)
+$LegacyGUIeditMonitoringLink.Visible = $false
+$LegacyGUIeditMonitoringLink.Width = 330
+$LegacyGUIeditMonitoringLink.Add_Click({ Start-Process "http://localhost:$($Variables.APIRunspace.APIport)/rigmonitor.html" })
+$LegacyGUIrigMonitorPageControls += $LegacyGUIeditMonitoringLink
+$LegacyGUItooltip.SetToolTip($LegacyGUIeditMonitoringLink, "Click to the edit the monitoring configuration in the Web GUI")
# Switching Page Controls
-$SwitchingPageControls = @()
-
-$SwitchingLogLabel = New-Object System.Windows.Forms.Label
-$SwitchingLogLabel.AutoSize = $false
-$SwitchingLogLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$SwitchingLogLabel.Height = 20
-$SwitchingLogLabel.Location = [System.Drawing.Point]::new(6, 6)
-$SwitchingLogLabel.Width = 600
-$SwitchingPageControls += $SwitchingLogLabel
-
-$SwitchingLogClearButton = New-Object System.Windows.Forms.Button
-$SwitchingLogClearButton.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$SwitchingLogClearButton.Height = 24
-$SwitchingLogClearButton.Location = [System.Drawing.Point]::new(6, ($SwitchingLogLabel.Height + 8))
-$SwitchingLogClearButton.Text = "Clear switching log"
-$SwitchingLogClearButton.Visible = $true
-$SwitchingLogClearButton.Width = 160
-$SwitchingLogClearButton.Add_Click(
+$LegacyGUIswitchingPageControls = @()
+
+$LegacyGUIswitchingLogLabel = New-Object System.Windows.Forms.Label
+$LegacyGUIswitchingLogLabel.AutoSize = $false
+$LegacyGUIswitchingLogLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIswitchingLogLabel.Height = 20
+$LegacyGUIswitchingLogLabel.Location = [System.Drawing.Point]::new(6, 6)
+$LegacyGUIswitchingLogLabel.Width = 600
+$LegacyGUIswitchingPageControls += $LegacyGUIswitchingLogLabel
+
+$LegacyGUIswitchingLogClearButton = New-Object System.Windows.Forms.Button
+$LegacyGUIswitchingLogClearButton.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIswitchingLogClearButton.Height = 24
+$LegacyGUIswitchingLogClearButton.Location = [System.Drawing.Point]::new(6, ($LegacyGUIswitchingLogLabel.Height + 8))
+$LegacyGUIswitchingLogClearButton.Text = "Clear switching log"
+$LegacyGUIswitchingLogClearButton.Visible = $true
+$LegacyGUIswitchingLogClearButton.Width = 160
+$LegacyGUIswitchingLogClearButton.Add_Click(
{
Get-ChildItem -Path ".\Logs\switchinglog.csv" -File | Remove-Item -Force
- $SwitchingDGV.DataSource = $null
+ $LegacyGUIswitchingDGV.DataSource = $null
$Data = "Switching log '.\Logs\switchinglog.csv' cleared."
Write-Message -Level Verbose "GUI: $Data"
- $SwitchingLogClearButton.Enabled = $false
+ $LegacyGUIswitchingLogClearButton.Enabled = $false
[Void][System.Windows.Forms.MessageBox]::Show($Data, "$($Variables.Branding.ProductLabel) $($_.ClickedItem.Text)", [System.Windows.Forms.MessageBoxButtons]::OK, 64)
}
)
-$SwitchingPageControls += $SwitchingLogClearButton
-$Tooltip.SetToolTip($SwitchingLogClearButton, "This will clear the switching log '.\Logs\switchinglog.csv'")
-
-$CheckShowSwitchingCPU = New-Object System.Windows.Forms.CheckBox
-$CheckShowSwitchingCPU.AutoSize = $false
-$CheckShowSwitchingCPU.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$CheckShowSwitchingCPU.Height = 20
-$CheckShowSwitchingCPU.Location = [System.Drawing.Point]::new(($SwitchingLogClearButton.Width + 40), ($SwitchingLogLabel.Height + 10))
-$CheckShowSwitchingCPU.Tag = "CPU"
-$CheckShowSwitchingCPU.Text = "CPU"
-$CheckShowSwitchingCPU.Width = 70
-$SwitchingPageControls += $CheckShowSwitchingCPU
-$CheckShowSwitchingCPU.ForEach({ $_.Add_Click({ CheckBoxSwitching_Click($this) }) })
-
-$CheckShowSwitchingAMD = New-Object System.Windows.Forms.CheckBox
-$CheckShowSwitchingAMD.AutoSize = $false
-$CheckShowSwitchingAMD.Height = 20
-$CheckShowSwitchingAMD.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$CheckShowSwitchingAMD.Location = [System.Drawing.Point]::new(($SwitchingLogClearButton.Width + 40 + $CheckShowSwitchingCPU.Width), ($SwitchingLogLabel.Height + 10))
-$CheckShowSwitchingAMD.Tag = "AMD"
-$CheckShowSwitchingAMD.Text = "AMD"
-$CheckShowSwitchingAMD.Width = 70
-$SwitchingPageControls += $CheckShowSwitchingAMD
-$CheckShowSwitchingAMD.ForEach({ $_.Add_Click({ CheckBoxSwitching_Click($this) }) })
-
-$CheckShowSwitchingINTEL = New-Object System.Windows.Forms.CheckBox
-$CheckShowSwitchingINTEL.AutoSize = $false
-$CheckShowSwitchingINTEL.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$CheckShowSwitchingINTEL.Height = 20
-$CheckShowSwitchingINTEL.Location = [System.Drawing.Point]::new(($SwitchingLogClearButton.Width + 40 + $CheckShowSwitchingCPU.Width + $CheckShowSwitchingAMD.Width), ($SwitchingLogLabel.Height + 10))
-$CheckShowSwitchingINTEL.Tag = "INTEL"
-$CheckShowSwitchingINTEL.Text = "INTEL"
-$CheckShowSwitchingINTEL.Width = 77
-$SwitchingPageControls += $CheckShowSwitchingINTEL
-$CheckShowSwitchingINTEL.ForEach({ $_.Add_Click({ CheckBoxSwitching_Click($this) }) })
-
-$CheckShowSwitchingNVIDIA = New-Object System.Windows.Forms.CheckBox
-$CheckShowSwitchingNVIDIA.AutoSize = $false
-$CheckShowSwitchingNVIDIA.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$CheckShowSwitchingNVIDIA.Height = 20
-$CheckShowSwitchingNVIDIA.Location = [System.Drawing.Point]::new(($SwitchingLogClearButton.Width + 40 + $CheckShowSwitchingCPU.Width + $CheckShowSwitchingAMD.Width + $CheckShowSwitchingINTEL.Width), ($SwitchingLogLabel.Height + 10))
-$CheckShowSwitchingNVIDIA.Tag = "NVIDIA"
-$CheckShowSwitchingNVIDIA.Text = "NVIDIA"
-$CheckShowSwitchingNVIDIA.Width = 80
-$SwitchingPageControls += $CheckShowSwitchingNVIDIA
-$CheckShowSwitchingNVIDIA.ForEach({ $_.Add_Click({ CheckBoxSwitching_Click($this) }) })
-
-$SwitchingDGV = New-Object System.Windows.Forms.DataGridView
-$SwitchingDGV.AllowUserToAddRows = $false
-$SwitchingDGV.AllowUserToOrderColumns = $true
-$SwitchingDGV.AllowUserToResizeColumns = $true
-$SwitchingDGV.AllowUserToResizeRows = $false
-$SwitchingDGV.AutoSizeColumnsMode = "Fill"
-$SwitchingDGV.ColumnHeadersDefaultCellStyle.BackColor = [System.Drawing.SystemColors]::MenuBar
-$SwitchingDGV.ColumnHeadersHeightSizeMode = "AutoSize"
-$SwitchingDGV.ColumnHeadersVisible = $true
-$SwitchingDGV.DataBindings.DefaultDataSourceUpdateMode = 0
-$SwitchingDGV.EnableHeadersVisualStyles = $false
-$SwitchingDGV.Font = [System.Drawing.Font]::new("Segoe UI", 9)
-$SwitchingDGV.Height = 3
-$SwitchingDGV.Location = [System.Drawing.Point]::new(6, ($SwitchingLogLabel.Height + $SwitchingLogClearButton.Height + 12))
-$SwitchingDGV.Name = "SwitchingDGV"
-$SwitchingDGV.ReadOnly = $true
-$SwitchingDGV.RowHeadersVisible = $false
-$SwitchingDGV.Add_Sorted(
+$LegacyGUIswitchingPageControls += $LegacyGUIswitchingLogClearButton
+$LegacyGUItooltip.SetToolTip($LegacyGUIswitchingLogClearButton, "This will clear the switching log '.\Logs\switchinglog.csv'")
+
+$LegacyGUIcheckShowSwitchingCPU = New-Object System.Windows.Forms.CheckBox
+$LegacyGUIcheckShowSwitchingCPU.AutoSize = $false
+$LegacyGUIcheckShowSwitchingCPU.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIcheckShowSwitchingCPU.Height = 20
+$LegacyGUIcheckShowSwitchingCPU.Location = [System.Drawing.Point]::new(($LegacyGUIswitchingLogClearButton.Width + 40), ($LegacyGUIswitchingLogLabel.Height + 10))
+$LegacyGUIcheckShowSwitchingCPU.Tag = "CPU"
+$LegacyGUIcheckShowSwitchingCPU.Text = "CPU"
+$LegacyGUIcheckShowSwitchingCPU.Width = 70
+$LegacyGUIswitchingPageControls += $LegacyGUIcheckShowSwitchingCPU
+$LegacyGUIcheckShowSwitchingCPU.ForEach({ $_.Add_Click({ CheckBoxSwitching_Click($this) }) })
+
+$LegacyGUIcheckShowSwitchingAMD = New-Object System.Windows.Forms.CheckBox
+$LegacyGUIcheckShowSwitchingAMD.AutoSize = $false
+$LegacyGUIcheckShowSwitchingAMD.Height = 20
+$LegacyGUIcheckShowSwitchingAMD.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIcheckShowSwitchingAMD.Location = [System.Drawing.Point]::new(($LegacyGUIswitchingLogClearButton.Width + 40 + $LegacyGUIcheckShowSwitchingCPU.Width), ($LegacyGUIswitchingLogLabel.Height + 10))
+$LegacyGUIcheckShowSwitchingAMD.Tag = "AMD"
+$LegacyGUIcheckShowSwitchingAMD.Text = "AMD"
+$LegacyGUIcheckShowSwitchingAMD.Width = 70
+$LegacyGUIswitchingPageControls += $LegacyGUIcheckShowSwitchingAMD
+$LegacyGUIcheckShowSwitchingAMD.ForEach({ $_.Add_Click({ CheckBoxSwitching_Click($this) }) })
+
+$LegacyGUIcheckShowSwitchingINTEL = New-Object System.Windows.Forms.CheckBox
+$LegacyGUIcheckShowSwitchingINTEL.AutoSize = $false
+$LegacyGUIcheckShowSwitchingINTEL.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIcheckShowSwitchingINTEL.Height = 20
+$LegacyGUIcheckShowSwitchingINTEL.Location = [System.Drawing.Point]::new(($LegacyGUIswitchingLogClearButton.Width + 40 + $LegacyGUIcheckShowSwitchingCPU.Width + $LegacyGUIcheckShowSwitchingAMD.Width), ($LegacyGUIswitchingLogLabel.Height + 10))
+$LegacyGUIcheckShowSwitchingINTEL.Tag = "INTEL"
+$LegacyGUIcheckShowSwitchingINTEL.Text = "INTEL"
+$LegacyGUIcheckShowSwitchingINTEL.Width = 77
+$LegacyGUIswitchingPageControls += $LegacyGUIcheckShowSwitchingINTEL
+$LegacyGUIcheckShowSwitchingINTEL.ForEach({ $_.Add_Click({ CheckBoxSwitching_Click($this) }) })
+
+$LegacyGUIcheckShowSwitchingNVIDIA = New-Object System.Windows.Forms.CheckBox
+$LegacyGUIcheckShowSwitchingNVIDIA.AutoSize = $false
+$LegacyGUIcheckShowSwitchingNVIDIA.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIcheckShowSwitchingNVIDIA.Height = 20
+$LegacyGUIcheckShowSwitchingNVIDIA.Location = [System.Drawing.Point]::new(($LegacyGUIswitchingLogClearButton.Width + 40 + $LegacyGUIcheckShowSwitchingCPU.Width + $LegacyGUIcheckShowSwitchingAMD.Width + $LegacyGUIcheckShowSwitchingINTEL.Width), ($LegacyGUIswitchingLogLabel.Height + 10))
+$LegacyGUIcheckShowSwitchingNVIDIA.Tag = "NVIDIA"
+$LegacyGUIcheckShowSwitchingNVIDIA.Text = "NVIDIA"
+$LegacyGUIcheckShowSwitchingNVIDIA.Width = 80
+$LegacyGUIswitchingPageControls += $LegacyGUIcheckShowSwitchingNVIDIA
+$LegacyGUIcheckShowSwitchingNVIDIA.ForEach({ $_.Add_Click({ CheckBoxSwitching_Click($this) }) })
+
+$LegacyGUIswitchingDGV = New-Object System.Windows.Forms.DataGridView
+$LegacyGUIswitchingDGV.AllowUserToAddRows = $false
+$LegacyGUIswitchingDGV.AllowUserToOrderColumns = $true
+$LegacyGUIswitchingDGV.AllowUserToResizeColumns = $true
+$LegacyGUIswitchingDGV.AllowUserToResizeRows = $false
+$LegacyGUIswitchingDGV.AutoSizeColumnsMode = "Fill"
+$LegacyGUIswitchingDGV.ColumnHeadersDefaultCellStyle.BackColor = [System.Drawing.SystemColors]::MenuBar
+$LegacyGUIswitchingDGV.ColumnHeadersHeightSizeMode = "AutoSize"
+$LegacyGUIswitchingDGV.ColumnHeadersVisible = $true
+$LegacyGUIswitchingDGV.DataBindings.DefaultDataSourceUpdateMode = 0
+$LegacyGUIswitchingDGV.EnableHeadersVisualStyles = $false
+$LegacyGUIswitchingDGV.Font = [System.Drawing.Font]::new("Segoe UI", 9)
+$LegacyGUIswitchingDGV.Height = 3
+$LegacyGUIswitchingDGV.Location = [System.Drawing.Point]::new(6, ($LegacyGUIswitchingLogLabel.Height + $LegacyGUIswitchingLogClearButton.Height + 12))
+$LegacyGUIswitchingDGV.Name = "SwitchingDGV"
+$LegacyGUIswitchingDGV.ReadOnly = $true
+$LegacyGUIswitchingDGV.RowHeadersVisible = $false
+$LegacyGUIswitchingDGV.Add_Sorted(
{
If ($Config.UseColorForMinerStatus) {
- ForEach ($Row in $SwitchingDGV.Rows) { $Row.DefaultCellStyle.Backcolor = $Colors[$Row.DataBoundItem.Action] }
+ ForEach ($Row in $LegacyGUIswitchingDGV.Rows) { $Row.DefaultCellStyle.Backcolor = $LegacyGUIcolors[$Row.DataBoundItem.Action] }
}
}
)
-Set-DataGridViewDoubleBuffer -Grid $SwitchingDGV -Enabled $true
-$SwitchingPageControls += $SwitchingDGV
+Set-DataGridViewDoubleBuffer -Grid $LegacyGUIswitchingDGV -Enabled $true
+$LegacyGUIswitchingPageControls += $LegacyGUIswitchingDGV
# Watchdog Page Controls
-$WatchdogTimersPageControls = @()
-
-$WatchdogTimersLabel = New-Object System.Windows.Forms.Label
-$WatchdogTimersLabel.AutoSize = $false
-$WatchdogTimersLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$WatchdogTimersLabel.Height = 20
-$WatchdogTimersLabel.Location = [System.Drawing.Point]::new(6, 6)
-$WatchdogTimersLabel.Width = 600
-$WatchdogTimersPageControls += $WatchdogTimersLabel
-
-$WatchdogTimersRemoveButton = New-Object System.Windows.Forms.Button
-$WatchdogTimersRemoveButton.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$WatchdogTimersRemoveButton.Height = 24
-$WatchdogTimersRemoveButton.Location = [System.Drawing.Point]::new(6, ($WatchdogTimersLabel.Height + 8))
-$WatchdogTimersRemoveButton.Text = "Remove all watchdog timers"
-$WatchdogTimersRemoveButton.Visible = $true
-$WatchdogTimersRemoveButton.Width = 220
-$WatchdogTimersRemoveButton.Add_Click(
+$LegacyGUIwatchdogTimersPageControls = @()
+
+$LegacyGUIwatchdogTimersLabel = New-Object System.Windows.Forms.Label
+$LegacyGUIwatchdogTimersLabel.AutoSize = $false
+$LegacyGUIwatchdogTimersLabel.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIwatchdogTimersLabel.Height = 20
+$LegacyGUIwatchdogTimersLabel.Location = [System.Drawing.Point]::new(6, 6)
+$LegacyGUIwatchdogTimersLabel.Width = 600
+$LegacyGUIwatchdogTimersPageControls += $LegacyGUIwatchdogTimersLabel
+
+$LegacyGUIwatchdogTimersRemoveButton = New-Object System.Windows.Forms.Button
+$LegacyGUIwatchdogTimersRemoveButton.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUIwatchdogTimersRemoveButton.Height = 24
+$LegacyGUIwatchdogTimersRemoveButton.Location = [System.Drawing.Point]::new(6, ($LegacyGUIwatchdogTimersLabel.Height + 8))
+$LegacyGUIwatchdogTimersRemoveButton.Text = "Remove all watchdog timers"
+$LegacyGUIwatchdogTimersRemoveButton.Visible = $true
+$LegacyGUIwatchdogTimersRemoveButton.Width = 220
+$LegacyGUIwatchdogTimersRemoveButton.Add_Click(
{
$Variables.WatchDogTimers = @()
- $WatchdogTimersDGV.DataSource = $null
+ $LegacyGUIwatchdogTimersDGV.DataSource = $null
$Variables.Miners.ForEach(
{
$_.Reasons = [System.Collections.Generic.List[String]]@($_.Reasons.Where({ $_ -notlike "Miner suspended by watchdog *" }) | Sort-Object -Unique)
@@ -1577,81 +1577,79 @@ $WatchdogTimersRemoveButton.Add_Click(
}
)
Write-Message -Level Verbose "GUI: All watchdog timers reset."
- $WatchdogTimersRemoveButton.Enabled = $false
+ $LegacyGUIwatchdogTimersRemoveButton.Enabled = $false
[Void][System.Windows.Forms.MessageBox]::Show("Watchdog timers will be recreated in next cycle.", "$($Variables.Branding.ProductLabel) $($_.ClickedItem.Text)", [System.Windows.Forms.MessageBoxButtons]::OK, 64)
}
)
-$WatchdogTimersPageControls += $WatchdogTimersRemoveButton
-$Tooltip.SetToolTip($WatchdogTimersRemoveButton, "This will remove all watchdog timers.`rWatchdog timers will be recreated in next cycle.")
-
-$WatchdogTimersDGV = New-Object System.Windows.Forms.DataGridView
-$WatchdogTimersDGV.AllowUserToAddRows = $false
-$WatchdogTimersDGV.AllowUserToOrderColumns = $true
-$WatchdogTimersDGV.AllowUserToResizeColumns = $true
-$WatchdogTimersDGV.AllowUserToResizeRows = $false
-$WatchdogTimersDGV.AutoSizeColumnsMode = "Fill"
-$WatchdogTimersDGV.ColumnHeadersDefaultCellStyle.BackColor = [System.Drawing.SystemColors]::MenuBar
-$WatchdogTimersDGV.ColumnHeadersHeightSizeMode = "AutoSize"
-$WatchdogTimersDGV.ColumnHeadersVisible = $true
-$WatchdogTimersDGV.DataBindings.DefaultDataSourceUpdateMode = 0
-$WatchdogTimersDGV.EnableHeadersVisualStyles = $false
-$WatchdogTimersDGV.Font = [System.Drawing.Font]::new("Segoe UI", 9)
-$WatchdogTimersDGV.Height = 3
-$WatchdogTimersDGV.Location = [System.Drawing.Point]::new(6, ($WatchdogTimersLabel.Height + $WatchdogTimersRemoveButton.Height + 12))
-$WatchdogTimersDGV.Name = "WatchdogTimersDGV"
-$WatchdogTimersDGV.ReadOnly = $true
-$WatchdogTimersDGV.RowHeadersVisible = $false
-Set-DataGridViewDoubleBuffer -Grid $WatchdogTimersDGV -Enabled $true
-$WatchdogTimersPageControls += $WatchdogTimersDGV
-
-$LegacyGUIForm.Controls.AddRange(@($LegacyGUIControls))
-$StatusPage.Controls.AddRange(@($StatusPageControls))
-$EarningsPage.Controls.AddRange(@($EarningsPageControls))
-$MinersPage.Controls.AddRange(@($MinersPageControls))
-$PoolsPage.Controls.AddRange(@($PoolsPageControls))
-$RigMonitorPage.Controls.AddRange(@($RigMonitorPageControls))
-$SwitchingPage.Controls.AddRange(@($SwitchingPageControls))
-$WatchdogTimersPage.Controls.AddRange(@($WatchdogTimersPageControls))
-
-$TabControl = New-Object System.Windows.Forms.TabControl
-$TabControl.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
-$TabControl.Location = [System.Drawing.Point]::new(6, $MiningSummaryLabel.Bottom)
-$TabControl.Name = "TabControl"
-$TabControl.ShowToolTips = $true
-$TabControl.Height = 0
-$TabControl.Width = 0
-# $TabControl.Controls.AddRange(@($StatusPage, $EarningsPage, $MinersPage, $PoolsPage, $RigMonitorPage, $SwitchingPage, $WatchdogTimersPage))
-$TabControl.Controls.AddRange(@($StatusPage, $EarningsPage, $MinersPage, $PoolsPage, $SwitchingPage, $WatchdogTimersPage))
-$TabControl.Add_Click({ Update-TabControl })
-
-$LegacyGUIForm.Controls.Add($TabControl)
-$LegacyGUIForm.KeyPreview = $true
-$LegacyGUIForm.ResumeLayout()
-
-$LegacyGUIForm.Add_Load(
+$LegacyGUIwatchdogTimersPageControls += $LegacyGUIwatchdogTimersRemoveButton
+$LegacyGUItooltip.SetToolTip($LegacyGUIwatchdogTimersRemoveButton, "This will remove all watchdog timers.`rWatchdog timers will be recreated in next cycle.")
+
+$LegacyGUIwatchdogTimersDGV = New-Object System.Windows.Forms.DataGridView
+$LegacyGUIwatchdogTimersDGV.AllowUserToAddRows = $false
+$LegacyGUIwatchdogTimersDGV.AllowUserToOrderColumns = $true
+$LegacyGUIwatchdogTimersDGV.AllowUserToResizeColumns = $true
+$LegacyGUIwatchdogTimersDGV.AllowUserToResizeRows = $false
+$LegacyGUIwatchdogTimersDGV.AutoSizeColumnsMode = "Fill"
+$LegacyGUIwatchdogTimersDGV.ColumnHeadersDefaultCellStyle.BackColor = [System.Drawing.SystemColors]::MenuBar
+$LegacyGUIwatchdogTimersDGV.ColumnHeadersHeightSizeMode = "AutoSize"
+$LegacyGUIwatchdogTimersDGV.ColumnHeadersVisible = $true
+$LegacyGUIwatchdogTimersDGV.DataBindings.DefaultDataSourceUpdateMode = 0
+$LegacyGUIwatchdogTimersDGV.EnableHeadersVisualStyles = $false
+$LegacyGUIwatchdogTimersDGV.Font = [System.Drawing.Font]::new("Segoe UI", 9)
+$LegacyGUIwatchdogTimersDGV.Height = 3
+$LegacyGUIwatchdogTimersDGV.Location = [System.Drawing.Point]::new(6, ($LegacyGUIwatchdogTimersLabel.Height + $LegacyGUIwatchdogTimersRemoveButton.Height + 12))
+$LegacyGUIwatchdogTimersDGV.Name = "WatchdogTimersDGV"
+$LegacyGUIwatchdogTimersDGV.ReadOnly = $true
+$LegacyGUIwatchdogTimersDGV.RowHeadersVisible = $false
+Set-DataGridViewDoubleBuffer -Grid $LegacyGUIwatchdogTimersDGV -Enabled $true
+$LegacyGUIwatchdogTimersPageControls += $LegacyGUIwatchdogTimersDGV
+
+$LegacyGUIform.Controls.AddRange(@($LegacyGUIControls))
+$LegacyGUIstatusPage.Controls.AddRange(@($LegacyGUIstatusPageControls))
+$LegacyGUIearningsPage.Controls.AddRange(@($LegacyGUIearningsPageControls))
+$LegacyGUIminersPage.Controls.AddRange(@($LegacyGUIminersPageControls))
+$LegacyGUIpoolsPage.Controls.AddRange(@($LegacyGUIpoolsPageControls))
+$LegacyGUIrigMonitorPage.Controls.AddRange(@($LegacyGUIrigMonitorPageControls))
+$LegacyGUIswitchingPage.Controls.AddRange(@($LegacyGUIswitchingPageControls))
+$LegacyGUIwatchdogTimersPage.Controls.AddRange(@($LegacyGUIwatchdogTimersPageControls))
+
+$LegacyGUItabControl = New-Object System.Windows.Forms.TabControl
+$LegacyGUItabControl.Font = [System.Drawing.Font]::new("Microsoft Sans Serif", 10)
+$LegacyGUItabControl.Location = [System.Drawing.Point]::new(6, $LegacyGUIminingSummaryLabel.Bottom)
+$LegacyGUItabControl.Name = "TabControl"
+$LegacyGUItabControl.ShowToolTips = $true
+$LegacyGUItabControl.Height = 0
+$LegacyGUItabControl.Width = 0
+# $LegacyGUItabControl.Controls.AddRange(@($LegacyGUIstatusPage, $LegacyGUIearningsPage, $LegacyGUIminersPage, $LegacyGUIpoolsPage, $LegacyGUIrigMonitorPage, $LegacyGUIswitchingPage, $LegacyGUIwatchdogTimersPage))
+$LegacyGUItabControl.Controls.AddRange(@($LegacyGUIstatusPage, $LegacyGUIearningsPage, $LegacyGUIminersPage, $LegacyGUIpoolsPage, $LegacyGUIswitchingPage, $LegacyGUIwatchdogTimersPage))
+$LegacyGUItabControl.Add_Click({ Update-TabControl })
+
+$LegacyGUIform.Controls.Add($LegacyGUItabControl)
+$LegacyGUIform.KeyPreview = $true
+$LegacyGUIform.ResumeLayout()
+
+$LegacyGUIform.Add_Load(
{
If (Test-Path -LiteralPath ".\Config\WindowSettings.json" -PathType Leaf) {
$WindowSettings = Get-Content -Path ".\Config\WindowSettings.json" | ConvertFrom-Json -AsHashtable
# Restore window size
- If ($WindowSettings.Width -gt $LegacyGUIForm.MinimumSize.Width) { $LegacyGUIForm.Width = $WindowSettings.Width }
- If ($WindowSettings.Height -gt $LegacyGUIForm.MinimumSize.Height) { $LegacyGUIForm.Height = $WindowSettings.Height }
- If ($WindowSettings.Top -gt 0) { $LegacyGUIForm.Top = $WindowSettings.Top }
- If ($WindowSettings.Left -gt 0) { $LegacyGUIForm.Left = $WindowSettings.Left }
+ If ($WindowSettings.Width -gt $LegacyGUIform.MinimumSize.Width) { $LegacyGUIform.Width = $WindowSettings.Width }
+ If ($WindowSettings.Height -gt $LegacyGUIform.MinimumSize.Height) { $LegacyGUIform.Height = $WindowSettings.Height }
+ If ($WindowSettings.Top -gt 0) { $LegacyGUIform.Top = $WindowSettings.Top }
+ If ($WindowSettings.Left -gt 0) { $LegacyGUIform.Left = $WindowSettings.Left }
}
- $Global:LegacyGUIFormWindowState = If ($Config.LegacyGUIStartMinimized) { [System.Windows.Forms.FormWindowState]::Minimized } Else { [System.Windows.Forms.FormWindowState]::Normal }
-
- Form-Resize
+ $LegacyGUIformWindowState = If ($Config.LegacyGUIStartMinimized) { [System.Windows.Forms.FormWindowState]::Minimized } Else { [System.Windows.Forms.FormWindowState]::Normal }
Update-GUIstatus
- $MiningSummaryLabel.Text = ""
- $MiningSummaryLabel.SendToBack()
- (($Variables.Summary -replace 'Power Cost', '
Power Cost' -replace ' / ', '/' -replace ' ', ' ' -replace ' ', ' ') -split '
').ForEach({ $MiningSummaryLabel.Text += "`r`n$_" })
- $MiningSummaryLabel.Text += "`r`n "
- If (-not $Variables.MinersBest) { $MiningSummaryLabel.ForeColor = [System.Drawing.Color]::Black }
- ElseIf ($Variables.MiningProfit -ge 0) { $MiningSummaryLabel.ForeColor = [System.Drawing.Color]::Green }
- ElseIf ($Variables.MiningProfit -lt 0) { $MiningSummaryLabel.ForeColor = [System.Drawing.Color]::Red }
+ $LegacyGUIminingSummaryLabel.Text = ""
+ $LegacyGUIminingSummaryLabel.SendToBack()
+ (($Variables.Summary -replace 'Power Cost', '
Power Cost' -replace ' / ', '/' -replace ' ', ' ' -replace ' ', ' ') -split '
').ForEach({ $LegacyGUIminingSummaryLabel.Text += "`r`n$_" })
+ $LegacyGUIminingSummaryLabel.Text += "`r`n "
+ If (-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 }
$TimerUI = New-Object System.Windows.Forms.Timer
$TimerUI.Interval = 100
@@ -1659,14 +1657,14 @@ $LegacyGUIForm.Add_Load(
{
If ($LegacyGUIform.CanSelect) {
If ($Variables.APIRunspace) {
- If ($EditConfigLink.Tag -ne "WebGUI") {
- $EditConfigLink.Tag = "WebGUI"
- $EditConfigLink.Text = "Edit configuration in the Web GUI"
+ If ($LegacyGUIeditConfigLink.Tag -ne "WebGUI") {
+ $LegacyGUIeditConfigLink.Tag = "WebGUI"
+ $LegacyGUIeditConfigLink.Text = "Edit configuration in the Web GUI"
}
}
- ElseIf ($EditConfigLink.Tag -ne "Edit-File") {
- $EditConfigLink.Tag = "Edit-File"
- $EditConfigLink.Text = "Edit configuration file '$($Variables.ConfigFile)' in notepad"
+ ElseIf ($LegacyGUIeditConfigLink.Tag -ne "Edit-File") {
+ $LegacyGUIeditConfigLink.Tag = "Edit-File"
+ $LegacyGUIeditConfigLink.Text = "Edit configuration file '$($Variables.ConfigFile)' in notepad"
}
[Void](MainLoop)
}
@@ -1676,7 +1674,7 @@ $LegacyGUIForm.Add_Load(
}
)
-$LegacyGUIForm.Add_FormClosing(
+$LegacyGUIform.Add_FormClosing(
{
If ($Config.LegacyGUI) {
$MsgBoxInput = [System.Windows.Forms.MessageBox]::Show("Do you want to shut down $($Variables.Branding.ProductLabel)?", "$($Variables.Branding.ProductLabel)", [System.Windows.Forms.MessageBoxButtons]::YesNo, 32, "Button2")
@@ -1694,9 +1692,9 @@ $LegacyGUIForm.Add_FormClosing(
Stop-Brain
Stop-BalancesTracker
- If ($LegacyGUIForm.DesktopBounds.Width -ge 0) {
+ If ($LegacyGUIform.DesktopBounds.Width -ge 0) {
# Save window settings
- $LegacyGUIForm.DesktopBounds | ConvertTo-Json | Out-File -LiteralPath ".\Config\WindowSettings.json" -Force -ErrorAction Ignore
+ $LegacyGUIform.DesktopBounds | ConvertTo-Json | Out-File -LiteralPath ".\Config\WindowSettings.json" -Force -ErrorAction Ignore
}
Write-Message -Level Info "$($Variables.Branding.ProductLabel) has shut down."
@@ -1709,18 +1707,18 @@ $LegacyGUIForm.Add_FormClosing(
}
)
-$LegacyGUIForm.Add_KeyDown(
+$LegacyGUIform.Add_KeyDown(
{
If ($PSItem.KeyCode -eq "F5") { Update-TabControl }
}
)
-$LegacyGUIForm.Add_ResizeEnd({ Form-Resize })
+$LegacyGUIform.Add_ResizeEnd({ Form-Resize })
-$LegacyGUIForm.Add_SizeChanged(
+$LegacyGUIform.Add_SizeChanged(
{
- If ($this.WindowState -ne $Global:LegacyGUIFormWindowState) {
- $Global:LegacyGUIFormWindowState = $this.WindowState
+ If ($this.WindowState -ne $LegacyGUIformWindowState) {
+ $LegacyGUIformWindowState = $this.WindowState
Form-Resize
}
}
diff --git a/Includes/MinerAPIs/BzMiner.ps1 b/Includes/MinerAPIs/BzMiner.ps1
index a81f57ab..3bf8d383 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Class BzMiner : Miner {
@@ -70,7 +70,7 @@ Class BzMiner : Miner {
If ($HashRate.PSObject.Properties.Value -gt 0) {
If ($this.ReadPowerConsumption) {
- $PowerConsumption = [Double]($Devices | Measure-Object power -Sum | Select-Object -ExpandProperty Sum)
+ $PowerConsumption = [Double]($Devices | Measure-Object power -Sum).Sum
If (-not $PowerConsumption) {
$PowerConsumption = $this.GetPowerConsumption()
}
diff --git a/Includes/MinerAPIs/Ccminer.ps1 b/Includes/MinerAPIs/Ccminer.ps1
index 2a9ba89a..0193fe12 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Class CcMiner : Miner {
diff --git a/Includes/MinerAPIs/EthMiner.ps1 b/Includes/MinerAPIs/EthMiner.ps1
index 59c475c3..4647b259 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Class EthMiner : Miner {
diff --git a/Includes/MinerAPIs/FireIce.ps1 b/Includes/MinerAPIs/FireIce.ps1
index 297f7792..977d3854 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Class Fireice : Miner {
diff --git a/Includes/MinerAPIs/Gminer.ps1 b/Includes/MinerAPIs/Gminer.ps1
index d0d56fef..1f0a8831 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Class GMiner : Miner {
@@ -62,7 +62,7 @@ Class GMiner : Miner {
If ($HashRate.PSObject.Properties.Value -gt 0) {
If ($this.ReadPowerConsumption) {
- $PowerConsumption = [Double]($Data.devices | Measure-Object power_usage -Sum | Select-Object -ExpandProperty Sum)
+ $PowerConsumption = [Double]($Data.devices | Measure-Object power_usage -Sum).Sum
If (-not $PowerConsumption) {
$PowerConsumption = $this.GetPowerConsumption()
}
diff --git a/Includes/MinerAPIs/HellMiner.ps1 b/Includes/MinerAPIs/HellMiner.ps1
index 833cbf25..ba82a29a 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Class HellMiner : Miner {
diff --git a/Includes/MinerAPIs/MiniZ.ps1 b/Includes/MinerAPIs/MiniZ.ps1
index 9170622a..ce00c981 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Class MiniZ : Miner {
@@ -55,7 +55,7 @@ Class MiniZ : Miner {
If ($HashRate.PSObject.Properties.Value -gt 0) {
If ($this.ReadPowerConsumption) {
- $PowerConsumption = [Double]($Data.result | Measure-Object gpu_power_usage -Sum | Select-Object -ExpandProperty Sum)
+ $PowerConsumption = [Double]($Data.result | Measure-Object gpu_power_usage -Sum).Sum
If (-not $PowerConsumption) {
$PowerConsumption = $this.GetPowerConsumption()
}
diff --git a/Includes/MinerAPIs/NBMiner.ps1 b/Includes/MinerAPIs/NBMiner.ps1
index edde6455..f77ba00f 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Class NBMiner : Miner {
@@ -62,7 +62,7 @@ Class NBMiner : Miner {
If ($HashRate.PSObject.Properties.Value -gt 0) {
If ($this.ReadPowerConsumption) {
- $PowerConsumption = [Double]($Data.miner | Measure-Object total_power_consume -Sum | Select-Object -ExpandProperty Sum)
+ $PowerConsumption = [Double]($Data.miner | Measure-Object total_power_consume -Sum).Sum
If (-not $PowerConsumption) {
$PowerConsumption = $this.GetPowerConsumption()
}
diff --git a/Includes/MinerAPIs/NanoMiner.ps1 b/Includes/MinerAPIs/NanoMiner.ps1
index 14e15a18..84eabe07 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Class NanoMiner : Miner {
diff --git a/Includes/MinerAPIs/OneZero.ps1 b/Includes/MinerAPIs/OneZero.ps1
index a640ee59..5b613b3f 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Class OneZero : Miner {
@@ -52,7 +52,7 @@ Class OneZero : Miner {
If ($HashRate.PSObject.Properties.Value -gt 0) {
If ($this.ReadPowerConsumption) {
- $PowerConsumption = [Double]($Data.Devices | Measure-Object power -Sum | Select-Object -ExpandProperty Sum)
+ $PowerConsumption = [Double]($Data.Devices | Measure-Object power -Sum).Sum
If (-not $PowerConsumption) {
$PowerConsumption = $this.GetPowerConsumption()
}
diff --git a/Includes/MinerAPIs/Rigel.ps1 b/Includes/MinerAPIs/Rigel.ps1
index 29047510..5c501777 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Class Rigel : Miner {
diff --git a/Includes/MinerAPIs/SRBMiner.ps1 b/Includes/MinerAPIs/SRBMiner.ps1
index 13360de8..266d6bdf 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Class SRBMiner : Miner {
@@ -65,7 +65,7 @@ Class SRBMiner : Miner {
If ($HashRate.PSObject.Properties.Value -gt 0) {
If ($this.ReadPowerConsumption) {
- $PowerConsumption = [Double]($Data.gpu_devices | Measure-Object asic_power -Sum | Select-Object -ExpandProperty Sum)
+ $PowerConsumption = [Double]($Data.gpu_devices | Measure-Object asic_power -Sum).Sum
If (-not $PowerConsumption) {
$PowerConsumption = $this.GetPowerConsumption()
}
diff --git a/Includes/MinerAPIs/TeamBlackMiner.ps1 b/Includes/MinerAPIs/TeamBlackMiner.ps1
index 1f729c1e..ed12a20a 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Class TeamBlackMiner : Miner {
@@ -68,7 +68,7 @@ Class TeamBlackMiner : Miner {
If ($HashRate.PSObject.Properties.Value -gt 0) {
If ($this.ReadPowerConsumption) {
$Data.Devices.ForEach({ $PowerConsumption += [Double]$_.PSObject.Properties.Value.watt })
- $PowerConsumption = [Double]($Data.result | Measure-Object gpu_power_usage -Sum | Select-Object -ExpandProperty Sum)
+ $PowerConsumption = [Double]($Data.result | Measure-Object gpu_power_usage -Sum).Sum
If (-not $PowerConsumption) {
$PowerConsumption = $this.GetPowerConsumption()
}
diff --git a/Includes/MinerAPIs/Trex.ps1 b/Includes/MinerAPIs/Trex.ps1
index fe9e2811..2c1389fb 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Class Trex : Miner {
@@ -64,7 +64,7 @@ Class Trex : Miner {
If ($HashRate.PSObject.Properties.Value -gt 0) {
If ($this.ReadPowerConsumption) {
- $PowerConsumption = [Double]($Data.gpus | Measure-Object power -Sum | Select-Object -ExpandProperty Sum)
+ $PowerConsumption = [Double]($Data.gpus | Measure-Object power -Sum).Sum
If (-not $PowerConsumption) {
$PowerConsumption = $this.GetPowerConsumption()
}
diff --git a/Includes/MinerAPIs/Xgminer.ps1 b/Includes/MinerAPIs/Xgminer.ps1
index 2e322bc7..8ca98e1e 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Class XgMiner : Miner {
diff --git a/Includes/MinerAPIs/XmRig.ps1 b/Includes/MinerAPIs/XmRig.ps1
index c2f3909d..80c5dbd9 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Class XmRig : Miner {
diff --git a/Includes/MinerAPIs/lolMiner.ps1 b/Includes/MinerAPIs/lolMiner.ps1
index db2af681..4785375f 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Class lolMiner : Miner {
@@ -86,7 +86,7 @@ Class lolMiner : Miner {
If ($HashRate.PSObject.Properties.Value -gt 0) {
If ($this.ReadPowerConsumption) {
- $PowerConsumption = [Double]($Data.Workers | Measure-Object Power -Sum | Select-Object -ExpandProperty Sum)
+ $PowerConsumption = [Double]($Data.Workers | Measure-Object Power -Sum).Sum
If (-not $PowerConsumption) {
$PowerConsumption = $this.GetPowerConsumption()
}
diff --git a/Miners/BzMiner-v21.2.0.ps1 b/Miners/BzMiner-v21.2.0.ps1
index 4da76d2b..a9c7e6f0 100644
--- a/Miners/BzMiner-v21.2.0.ps1
+++ b/Miners/BzMiner-v21.2.0.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -in @("AMD", "INTEL") -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.OpenCL.DriverVersion -ge [Version]"460.27.03") }))) { Return }
@@ -103,14 +103,14 @@ If ($Algorithms) {
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
$ExcludeGPUModel = $_.ExcludeGPUModel
- If ($AvailableMinerDevices = $MinerDevices.Where({ (-not $ExcludeGPUModel -or $_.Model -notmatch $ExcludeGPUModel) -and $_.Architecture -notin $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ (-not $ExcludeGPUModel -or $_.Model -notmatch $ExcludeGPUModel) -and $_.Architecture -notin $ExcludeGPUArchitecture })) {
$ExcludePools = $_.ExcludePools
ForEach ($Pool0 in $MinerPools[0][$_.Algorithms[0]].Where({ $_.Name -notin $ExcludePools[0] -and ($Config.SSL -ne "Always" -or $_.SSLSelfSignedCertificate -ne $true) })) {
ForEach ($Pool1 in $MinerPools[1][$_.Algorithms[1]].Where({ $_.Name -notin $ExcludePools[1] -and ($Config.SSL -ne "Always" -or $_.SSLSelfSignedCertificate -ne $true) })) {
$MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })"
diff --git a/Miners/CcminerAlexis78-v1.5.2.ps1 b/Miners/CcminerAlexis78-v1.5.2.ps1
index c2d1abd3..fc4ffa98 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
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 b610e340..c8976963 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
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 c05ace0e..2139fc8a 100644
--- a/Miners/CcminerKlausT-v8.25.ps1
+++ b/Miners/CcminerKlausT-v8.25.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -and $_.OpenCL.ComputeCapability -lt "6.0" -and $_.Architecture -ne "Other" }))) { Return }
diff --git a/Miners/CcminerKlausT-v8.26x2.ps1 b/Miners/CcminerKlausT-v8.26x2.ps1
index a22abf64..fc8c0dcb 100644
--- a/Miners/CcminerKlausT-v8.26x2.ps1
+++ b/Miners/CcminerKlausT-v8.26x2.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge [Version]"6.0" }))) { Return }
diff --git a/Miners/CcminerLyra2z330-v8.21r9.ps1 b/Miners/CcminerLyra2z330-v8.21r9.ps1
index 082fa59a..c713ac0b 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
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 d4364377..6234c2f6 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
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 09792485..472f55f8 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
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 2ba48b37..bbe75f7e 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
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 a4c09e19..c9eb9876 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($AvailableMinerDevices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return }
diff --git a/Miners/CcminerVerusGpu-v3.8.3.ps1 b/Miners/CcminerVerusGpu-v3.8.3.ps1
index 75aa5fe1..d5a9d534 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "7.5" }))) { Return }
diff --git a/Miners/ClaymoreDualME-v2.7.ps1 b/Miners/ClaymoreDualME-v2.7.ps1
index b1b384d0..48d72cc2 100644
--- a/Miners/ClaymoreDualME-v2.7.ps1
+++ b/Miners/ClaymoreDualME-v2.7.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ ($_.Type -eq "AMD" -and $Variables.DriverVersion.CIM.AMD -le [Version]"20.45.01.28") -or $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return } # Only supports AMD drivers until 20.12.1
diff --git a/Miners/ClaymoreNeoscrypt-v1.2.ps1 b/Miners/ClaymoreNeoscrypt-v1.2.ps1
index 9eca8b14..652de0cf 100644
--- a/Miners/ClaymoreNeoscrypt-v1.2.ps1
+++ b/Miners/ClaymoreNeoscrypt-v1.2.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -and $Variables.DriverVersion.CIM.AMD -lt [Version]"26.20.15011.10003" }))) { Return }
diff --git a/Miners/CpuMiner-v1.4.ps1 b/Miners/CpuMiner-v1.4.ps1
index 425c7026..7c08db30 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
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 34716480..e2f3ed0c 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
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 5a554aa4..89b3657d 100644
--- a/Miners/CryptoDredge-v0.16.0.ps1
+++ b/Miners/CryptoDredge-v0.16.0.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return }
diff --git a/Miners/CryptoDredge-v0.27.0.ps1 b/Miners/CryptoDredge-v0.27.0.ps1
index 4ddab32a..0ec12f03 100644
--- a/Miners/CryptoDredge-v0.27.0.ps1
+++ b/Miners/CryptoDredge-v0.27.0.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" -and $_.Architecture -ne "Other" }))) { Return }
@@ -63,13 +63,13 @@ If ($Algorithms) {
$Algorithms.ForEach(
{
$MinComputeCapability = $_.MinComputeCapability
- If ($AvailableMinerDevices = $MinerDevices.Where({ [Double]$_.OpenCL.ComputeCapability -ge $MinComputeCapability })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ [Double]$_.OpenCL.ComputeCapability -ge $MinComputeCapability })) {
$ExcludePools = $_.ExcludePools
ForEach ($Pool in $MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools})) {
$MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($_.Algorithm)"
diff --git a/Miners/EthMiner-v0.19.0.18.ps1 b/Miners/EthMiner-v0.19.0.18.ps1
index 3c4a0d3f..dd3a3da0 100644
--- a/Miners/EthMiner-v0.19.0.18.ps1
+++ b/Miners/EthMiner-v0.19.0.18.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAVersion -ge [Version]"9.1") }))) { Return }
diff --git a/Miners/EvrProgPow-v1p3p0.ps1 b/Miners/EvrProgPow-v1p3p0.ps1
index 68f01ec5..5302e57d 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return }
@@ -46,14 +46,14 @@ If ($Algorithms) {
$Algorithms.ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
# $ExcludePools = $_.ExcludePools
# ForEach ($Pool in $MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools })) {
ForEach ($Pool in $MinerPools[0][$_.Algorithm]) {
$MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)"
diff --git a/Miners/FrkHashMiner-v1.3.14.ps1 b/Miners/FrkHashMiner-v1.3.14.ps1
index 861c681a..614e1ef0 100644
--- a/Miners/FrkHashMiner-v1.3.14.ps1
+++ b/Miners/FrkHashMiner-v1.3.14.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAVersion -ge [Version]"9.1" }))) { Return }
diff --git a/Miners/GMiner-v2.75.ps1 b/Miners/GMiner-v2.75.ps1
index 34ddde9c..e92c737b 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
using module ..\Includes\Include.psm1
diff --git a/Miners/GMiner-v3.44.ps1 b/Miners/GMiner-v3.44.ps1
index ea6f499c..1ba658d5 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
using module ..\Includes\Include.psm1
@@ -86,14 +86,14 @@ If ($Algorithms) {
($Algorithms | Where-Object Type -EQ $_.Type).ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
$ExcludePools = $_.ExcludePools
ForEach ($Pool0 in $MinerPools[0][$_.Algorithms[0]].Where({ $_.Name -notin $ExcludePools[0] })) {
ForEach ($Pool1 in $MinerPools[1][$_.Algorithms[1]].Where({ $_.Name -notin $ExcludePools[1] })) {
$MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })"
diff --git a/Miners/HellMiner-v0.59.1.ps1 b/Miners/HellMiner-v0.59.1.ps1
index 8e677c87..53c994b5 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($AvailableMinerDevices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return }
diff --git a/Miners/JayddeeCpu-v24.3.ps1 b/Miners/JayddeeCpu-v24.3.ps1
index f74263d0..d3cf1a28 100644
--- a/Miners/JayddeeCpu-v24.3.ps1
+++ b/Miners/JayddeeCpu-v24.3.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
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 ac432b14..a5d6e70a 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" }))) { Return }
@@ -34,27 +34,27 @@ $Algorithms = @(
$Algorithms = $Algorithms.Where({ $_.MinerSet -le $Config.MinerSet })
$Algorithms = $Algorithms.Where({ $MinerPools[0][$_.Algorithm] })
-$Algorithms = $Algorithms.Where({ $MinerPools[0][$_.Algorithm].Name -notin $_.ExcludePools })
+# $Algorithms = $Algorithms.Where({ $MinerPools[0][$_.Algorithm].Name -notin $_.ExcludePools })
If ($Algorithms) {
($Devices | Select-Object Model -Unique).ForEach(
{
- If ($Miner_Devices = $Devices | Where-Object Model -EQ $_.Model) {
- $MinerAPIPort = $Config.APIPort + ($Miner_Devices.Id | Sort-Object -Top 1) + 1
+ If ($MinerDevices = $Devices | Where-Object Model -EQ $_.Model) {
+ $MinerAPIPort = $Config.APIPort + ($MinerDevices.Id | Sort-Object -Top 1) + 1
$Algorithms.ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMiner_Devices = $Miner_Devices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
-
- $ExcludePools = $_.ExcludePools
- ForEach ($Pool in $MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
+ # $ExcludePools = $_.ExcludePools
+ # ForEach ($Pool in $MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools })) {
+ ForEach ($Pool in $MinerPools[0][$_.Algorithm]) {
$MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB
- If ($AvailableMiner_Devices = $AvailableMiner_Devices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
- $Miner_Name = "$Name-$($AvailableMiner_Devices.Count)x$($AvailableMiner_Devices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)"
+ $Miner_Name = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)"
$Protocol = Switch ($Pool.Protocol) {
"ethproxy" { "stratum1" }
@@ -66,8 +66,8 @@ If ($Algorithms) {
[PSCustomObject]@{
API = "EthMiner"
- Arguments = "$($_.Arguments) --pool $($Protocol)://$([System.Web.HttpUtility]::UrlEncode("$($Pool.User)")):$([System.Web.HttpUtility]::UrlEncode($($Pool.Pass)))@$($Pool.Host):$($Pool.PoolPorts | Select-Object -Last 1) --farm-recheck 10000 --farm-retries 40 --work-timeout 100000 --response-timeout 720 --api-bind 127.0.0.1:$($MinerAPIPort) --cl-devices $(($AvailableMiner_Devices.$DeviceEnumerator | Sort-Object -Unique).ForEach({ '{0:x}' -f $_ }) -join ',')"
- DeviceNames = $AvailableMiner_Devices.Name
+ Arguments = "$($_.Arguments) --pool $($Protocol)://$([System.Web.HttpUtility]::UrlEncode("$($Pool.User)")):$([System.Web.HttpUtility]::UrlEncode($($Pool.Pass)))@$($Pool.Host):$($Pool.PoolPorts | Select-Object -Last 1) --farm-recheck 10000 --farm-retries 40 --work-timeout 100000 --response-timeout 720 --api-bind 127.0.0.1:$($MinerAPIPort) --cl-devices $(($AvailableMinerDevices.$DeviceEnumerator | Sort-Object -Unique).ForEach({ '{0:x}' -f $_ }) -join ',')"
+ DeviceNames = $AvailableMinerDevices.Name
EnvVars = @("SSL_NOVERIFY=TRUE")
Fee = @(0) # Dev fee
MinerSet = $_.MinerSet
diff --git a/Miners/KawpowMiner-v1.2.4cuda.ps1 b/Miners/KawpowMiner-v1.2.4cuda.ps1
index 148f7ac9..cde59725 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return }
@@ -46,14 +46,14 @@ If ($Algorithms) {
$Algorithms.ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
# $ExcludePools = $_.ExcludePools
# ForEach ($Pool in $MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools })) {
ForEach ($Pool in $MinerPools[0][$_.Algorithm]) {
$MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)"
diff --git a/Miners/Kudaraidee-v1.2.0a.ps1 b/Miners/Kudaraidee-v1.2.0a.ps1
index 6939f368..ed832b98 100644
--- a/Miners/Kudaraidee-v1.2.0a.ps1
+++ b/Miners/Kudaraidee-v1.2.0a.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Vendor -ne "CPU" -or $_.CUDAVersion -ge [Version]"10.2" }))) { Return }
diff --git a/Miners/MeowPowMiner-v2.0.0cl.ps1 b/Miners/MeowPowMiner-v2.0.0cl.ps1
index 6ed1871d..a584c1df 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" }))) { Return }
@@ -46,14 +46,14 @@ If ($Algorithms) {
$Algorithms.ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
# $ExcludePools = $_.ExcludePools
# ForEach ($Pool in $MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools })) {
ForEach ($Pool in $MinerPools[0][$_.Algorithm]) {
$MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices= $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)"
diff --git a/Miners/MeowPowMiner-v2.0.0cuda.ps1 b/Miners/MeowPowMiner-v2.0.0cuda.ps1
index e64b2889..eb8837f8 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return }
@@ -46,14 +46,14 @@ If ($Algorithms) {
$Algorithms.ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
# $ExcludePools = $_.ExcludePools
# ForEach ($Pool in $MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools })) {
ForEach ($Pool in $MinerPools[0][$_.Algorithm]) {
$MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)"
diff --git a/Miners/MiniZ-v2.4d.ps1 b/Miners/MiniZ-v2.4d.ps1
index 7fe7f4cc..2da281a0 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
using module ..\Includes\Include.psm1
@@ -85,13 +85,13 @@ If ($Algorithms) {
($Algorithms | Where-Object Type -EQ $_.Type).ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
$ExcludePools = $_.ExcludePools
ForEach ($Pool in $MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools })) {
$MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)"
diff --git a/Miners/NBMiner-v42.3.ps1 b/Miners/NBMiner-v42.3.ps1
index 3f0f1ebe..c6322d62 100644
--- a/Miners/NBMiner-v42.3.ps1
+++ b/Miners/NBMiner-v42.3.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAVersion -ge [Version]"10.0") }))) { Return }
@@ -57,7 +57,7 @@ If ($Algorithms) {
($Algorithms | Where-Object Type -EQ $_.Type).ForEach(
{
$MinComputeCapability = $_.MinComputeCapability
- If ($AvailableMinerDevices = $MinerDevices.Where({ [Double]$_.OpenCL.ComputeCapability -ge $MinComputeCapability })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ [Double]$_.OpenCL.ComputeCapability -ge $MinComputeCapability })) {
# $ExcludePools = $_.ExcludePools
# ForEach ($Pool in $MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools })) {
@@ -66,7 +66,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 ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)"
diff --git a/Miners/NSFMiner-v1.3.14.ps1 b/Miners/NSFMiner-v1.3.14.ps1
index ea497ca9..38d69a85 100644
--- a/Miners/NSFMiner-v1.3.14.ps1
+++ b/Miners/NSFMiner-v1.3.14.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAVersion -ge [Version]"9.1") }))) { Return }
diff --git a/Miners/NanoMiner-v3.9.1.ps1 b/Miners/NanoMiner-v3.9.1.ps1
index 0cb8458b..ffc671cb 100644
--- a/Miners/NanoMiner-v3.9.1.ps1
+++ b/Miners/NanoMiner-v3.9.1.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -ne "NVIDIA" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.OpenCL.DriverVersion -ge [Version]"455.23") }))) { Return }
@@ -100,7 +100,7 @@ If ($Algorithms) {
($Algorithms | Where-Object Type -EQ $_.Type).ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Type -eq "CPU" -or $_.Architecture -notin $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Type -eq "CPU" -or $_.Architecture -notin $ExcludeGPUArchitecture })) {
$ExcludePools = $_.ExcludePools
ForEach ($Pool0 in $MinerPools[0][$_.Algorithms[0]].Where({ $_.Name -notin $ExcludePools[0] -and ($Config.SSL -ne "Always" -or $_.SSLSelfSignedCertificate -ne $true) }) | Select-Object -Last $(If ($_.Type -eq "CPU") { 1 } Else { $MinerPools[0][$_.Algorithms[0]].Count })) {
@@ -108,7 +108,7 @@ If ($Algorithms) {
$Pools = @(($Pool0, $Pool1).Where({ $_ }))
$MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.Type -eq "CPU" -or $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.Type -eq "CPU" -or $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })"
diff --git a/Miners/Ninjarig-1.0.3.ps1 b/Miners/Ninjarig-1.0.3.ps1
index 79a50ddb..afe4728e 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
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 32340040..f9ed1d1f 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($AvailableMinerDevices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return }
diff --git a/Miners/OneZeroMiner-v1.3.4.ps1 b/Miners/OneZeroMiner-v1.3.4.ps1
index 926f8f4b..78d523ef 100644
--- a/Miners/OneZeroMiner-v1.3.4.ps1
+++ b/Miners/OneZeroMiner-v1.3.4.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "NVIDIA" -and $_.OpenCL.DriverVersion -ge [Version]"450.80.02" }))) { Return }
diff --git a/Miners/PhoenixMiner-v6.2c.ps1 b/Miners/PhoenixMiner-v6.2c.ps1
index 17283957..d4e5989a 100644
--- a/Miners/PhoenixMiner-v6.2c.ps1
+++ b/Miners/PhoenixMiner-v6.2c.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return }
@@ -83,7 +83,7 @@ If ($Algorithms) {
($Algorithms | Where-Object Type -EQ $_.Type).ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
# $ExcludePools = $_.ExcludePools
# ForEach ($Pool0 in $MinerPools[0][$_.Algorithms[0]].Where({ $_.Name -notin $ExcludePools[0] -and $_.Epoch -lt 602 -and $_.Algorithm -ne "EtcHash" -or $_.Epoch -lt 302 })) {
@@ -92,7 +92,7 @@ If ($Algorithms) {
ForEach ($Pool1 in $MinerPools[1][$_.Algorithms[1]]) {
$MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ 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)
diff --git a/Miners/Radiator-v1.0.0.ps1 b/Miners/Radiator-v1.0.0.ps1
index 6f2578b7..457ebf49 100644
--- a/Miners/Radiator-v1.0.0.ps1
+++ b/Miners/Radiator-v1.0.0.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return }
diff --git a/Miners/Raptor3umCpu-v2.0.ps1 b/Miners/Raptor3umCpu-v2.0.ps1
index b9987194..1dd5fc01 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($AvailableMinerDevices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return }
diff --git a/Miners/Rigel-v1.17.4.ps1 b/Miners/Rigel-v1.17.4.ps1
index e53158a9..8d6e2d7c 100644
--- a/Miners/Rigel-v1.17.4.ps1
+++ b/Miners/Rigel-v1.17.4.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
# Return
@@ -96,7 +96,7 @@ If ($Algorithms) {
$Algorithms.ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
$ExcludePools = $_.ExcludePools
ForEach ($Pool0 in $MinerPools[0][$_.Algorithms[0]].Where({ $_.Name -notin $ExcludePools[0] })) {
@@ -104,7 +104,7 @@ If ($Algorithms) {
$Pools = @(($Pool0, $Pool1).Where({ $_ }))
$MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })"
diff --git a/Miners/RplantCpu-v5.0.40.ps1 b/Miners/RplantCpu-v5.0.40.ps1
index 3b1b329a..9fd6d14c 100644
--- a/Miners/RplantCpu-v5.0.40.ps1
+++ b/Miners/RplantCpu-v5.0.40.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
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 df7e0e63..d78b758b 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($AvailableMinerDevices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" }))) { Return }
diff --git a/Miners/SRBMinerMulti-v0.9.4.ps1 b/Miners/SRBMinerMulti-v0.9.4.ps1
index 3a4d2fc6..3cabf966 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -and $_.Architecture -eq "Other" }))) { Return }
diff --git a/Miners/SRBMinerMulti-v2.5.6.ps1 b/Miners/SRBMinerMulti-v2.5.6.ps1
new file mode 100644
index 00000000..a1c39c12
--- /dev/null
+++ b/Miners/SRBMinerMulti-v2.5.6.ps1
@@ -0,0 +1,360 @@
+<#
+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.2.12
+Version date: 2024/06/26
+#>
+
+If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" -or $_.Type -eq "INTEL" -or ($_.Type -eq "AMD" -and $_.Model -notmatch "^RX5[5|6]0$" -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.5.6/SRBMiner-Multi-2-5-6-win64.zip"
+$Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName
+$Path = "$PWD\Bin\$Name\SRBMiner-MULTI.exe"
+$DeviceEnumerator = "Type_Vendor_Slot"
+
+# Algorithm parameter values are case sensitive!
+$Algorithms = @(
+ # [PSCustomObject]@{ Algorithms = @("0x10"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm 0x10") }
+ # [PSCustomObject]@{ Algorithms = @("Argon2d16000"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm argon2d_16000") }
+ # [PSCustomObject]@{ Algorithms = @("Argon2d500"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm argon2d_dynamic") }
+ # [PSCustomObject]@{ Algorithms = @("Argon2Chukwa"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm argon2id_chukwa") }
+ # [PSCustomObject]@{ Algorithms = @("Argon2Chukwa2"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm argon2id_chukwa2") }
+ # [PSCustomObject]@{ Algorithms = @("Aurum"); Type = "AMD"; Fee = @(0.02); MinMemGiB = 2; MinerSet = 0; WarmupTimes = @(45, 20); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm aurum") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm autolykos2") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "Blake3"); Type = "AMD"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm autolykos2", " --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "Decred"); Type = "AMD"; Fee = @(0.01, 0.01); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm autolykos2", " --algorithm blake3_decred") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "HeavyHash"); Type = "AMD"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm autolykos2", " --algorithm heavyhash") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "HeavyHashKarlsen"); Type = "AMD"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @("GCN4"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm autolykos2", " --algorithm karlsenhash") } # No optimized DUAL binary found for GPU0
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "HeavyHashPyrin"); Type = "AMD"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @("GCN4"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm autolykos2", " --algorithm pyrinhash") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "SHA256dt"); Type = "AMD"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm autolykos2", " --algorithm sha256dt") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "SHA512256d"); Type = "AMD"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm autolykos2", " --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("Blake3"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("CryptonightGpu"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm cryptonight_gpu") }
+ # [PSCustomObject]@{ Algorithms = @("CryptonightHeavyXhv"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm cryptonight_xhv") }
+ # [PSCustomObject]@{ Algorithms = @("CryptonightTurtle"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm cryptonight_turtle") } # TeamRedMiner-v0.10.21 is fastest
+ # [PSCustomObject]@{ Algorithms = @("CryptonightUpx"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm cryptonight_upx") }
+ # [PSCustomObject]@{ Algorithms = @("CurveHash"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 2; MinerSet = 1; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm curvehash") }
+ # [PSCustomObject]@{ Algorithms = @("Decred"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm blake3d_decred") }
+ # [PSCustomObject]@{ Algorithms = @("EtcHash"); Type = "AMD"; Fee = @(0.0065); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm etchash") } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool
+ # [PSCustomObject]@{ Algorithms = @("EtcHash", "Blake3"); Type = "AMD"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm etchash", " --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("EtcHash", "Decred"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm etchash", " --algorithm blake3_decred") }
+ # [PSCustomObject]@{ Algorithms = @("EtcHash", "HeavyHash"); Type = "AMD"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm etchash", " --algorithm heavyhash") }
+ # [PSCustomObject]@{ Algorithms = @("EtcHash", "SHA256dt"); Type = "AMD"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm etchash", " --algorithm sha256dt") }
+ # [PSCustomObject]@{ Algorithms = @("EtcHash", "SHA512256d"); Type = "AMD"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm etchash", " --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("Ethash"); Type = "AMD"; Fee = @(0.0065); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm ethash") } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool
+ # [PSCustomObject]@{ Algorithms = @("Ethash", "Blake3"); Type = "AMD"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm ethash", " --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("Ethash", "Decred"); Type = "AMD"; Fee = @(0.0065, 0.01); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm ethash", " --algorithm blake3_decred") }
+ # [PSCustomObject]@{ Algorithms = @("Ethash", "Heavyhash"); Type = "AMD"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm ethash", " --algorithm heavyhash") }
+ # [PSCustomObject]@{ Algorithms = @("Ethash", "SHA256dt"); Type = "AMD"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm ethash", " --algorithm sha256dt") }
+ # [PSCustomObject]@{ Algorithms = @("Ethash", "SHA512256d"); Type = "AMD"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm ethash", " --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("EthashB3"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm ethashb3") }
+ # [PSCustomObject]@{ Algorithms = @("EthashB3", "Blake3"); Type = "AMD"; Fee = @(0.0085, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm ethashb3", " --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("EthashB3", "Decred"); Type = "AMD"; Fee = @(0.0085, 0.01); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm ethashb3", " --algorithm blake3_decred") }
+ # [PSCustomObject]@{ Algorithms = @("EthashB3", "HeavyHashKarlsen"); Type = "AMD"; Fee = @(0.0085, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm ethashb3", " --algorithm karlsenhash") }
+ # [PSCustomObject]@{ Algorithms = @("EthashB3", "SHA256dt"); Type = "AMD"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm ethashb3", " --algorithm sha256dt") }
+ # [PSCustomObject]@{ Algorithms = @("EthashB3", "SHA512256d"); Type = "AMD"; Fee = @(0.0085, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm ethashb3", " --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("EvrProgPow"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm evrprogpow") }
+ # [PSCustomObject]@{ Algorithms = @("FiroPow"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm firopow") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 6; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm fishhash") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash", "Blake3"); Type = "AMD"; Fee = @(0.0085, 0.0085); MinMemGiB = 6; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @("GCN4"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm fishhash", " --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash", "Decred"); Type = "AMD"; Fee = @(0.0085, 0.01); MinMemGiB = 6; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @("GCN4"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm fishhash", " --algorithm blake3_decred") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash", "HeavyHashKarlsen"); Type = "AMD"; Fee = @(0.0085, 0.0085); MinMemGiB = 6; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @("GCN4"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm fishhash", " --algorithm karlsenhash") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash", "HeavyHashPyrin"); Type = "AMD"; Fee = @(0.0085, 0.0085); MinMemGiB = 6; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @("GCN4"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm fishhash", " --algorithm pyrinhash") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash", "SHA512256d"); Type = "AMD"; Fee = @(0.0085, 0.0085); MinMemGiB = 6; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @("GCN4"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm fishhash", " --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("HeavyHash"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm heavyhash") } # FPGA
+ # [PSCustomObject]@{ Algorithms = @("HeavyHashKarlsen"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(30, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm KarlsenHash") }
+ # [PSCustomObject]@{ Algorithms = @("HeavyHashPyrin"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm pyrinhash") }
+ # [PSCustomObject]@{ Algorithms = @("KawPow"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ProHashing"), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm kawpow") }
+ # [PSCustomObject]@{ Algorithms = @("Lyra2v2Webchain"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm lyra2v2_webchain") }
+ # [PSCustomObject]@{ Algorithms = @("MemeHash"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm memehash") }
+ # [PSCustomObject]@{ Algorithms = @("ProgPowEpic"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm progpow_epic") }
+ # [PSCustomObject]@{ Algorithms = @("MeowPow"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm meowpow") }
+ # [PSCustomObject]@{ Algorithms = @("ProgPowSero"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm progpow_sero") }
+ # [PSCustomObject]@{ Algorithms = @("ProgPowVeil"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm progpow_veil") }
+ # [PSCustomObject]@{ Algorithms = @("ProgPowVeriblock"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm progpow_veriblock") }
+ # [PSCustomObject]@{ Algorithms = @("ProgPowZ"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm progpow_zano") }
+ # [PSCustomObject]@{ Algorithms = @("Pufferfish2BMB"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 8; MinerSet = 2; WarmupTimes = @(30, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm pufferfish2bmb") }
+ # [PSCustomObject]@{ Algorithms = @("SHA256dt"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(45, 20); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm sha256dt") }
+ # [PSCustomObject]@{ Algorithms = @("SHA3d"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(30, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm sha3d") } # FPGA
+ # [PSCustomObject]@{ Algorithms = @("SHA512256d"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(30, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("UbqHash"); Type = "AMD"; Fee = @(0.0065); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm ubqhash") }
+ # [PSCustomObject]@{ Algorithms = @("VerusHash"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(30, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm verushash") }
+ # [PSCustomObject]@{ Algorithms = @("VertHash"); Type = "AMD"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm verthash --verthash-dat-path ..\.$($Variables.VerthashDatPath)") }
+ # [PSCustomObject]@{ Algorithms = @("Yescrypt"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(90, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("MiningDutch"), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm yescrypt") }
+ # [PSCustomObject]@{ Algorithms = @("YescryptR8"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(90, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm yescryptr8") }
+ # [PSCustomObject]@{ Algorithms = @("YescryptR16"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(90, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm yescryptr16") }
+ # [PSCustomObject]@{ Algorithms = @("YescryptR32"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(90, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm yescryptr32") }
+ # [PSCustomObject]@{ Algorithms = @("XelisHash"); Type = "AMD"; Fee = @(0.02); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(0, 20); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm xelishash") }
+
+ [PSCustomObject]@{ Algorithms = @("Argon2d16000"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm argon2d_16000") }
+ [PSCustomObject]@{ Algorithms = @("Argon2d500"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm argon2d_dynamic") }
+ [PSCustomObject]@{ Algorithms = @("Argon2Chukwa"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm argon2id_chukwa") }
+ [PSCustomObject]@{ Algorithms = @("Argon2Chukwa2"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm argon2id_chukwa2") }
+ [PSCustomObject]@{ Algorithms = @("Aurum"); Type = "CPU"; Fee = @(0.02); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm aurum") }
+# [PSCustomObject]@{ Algorithms = @("CryptonightGpu"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(120, 30); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm cryptonight_gpu --cpu-threads-intensity 2") } # Not profitable with CPU
+# [PSCustomObject]@{ Algorithms = @("CryptonightHeavyxXhv"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm cryptonight_xhv --cpu-threads-intensity 2") } # Not profitable with CPU
+# [PSCustomObject]@{ Algorithms = @("CryptonightTurtle"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm cryptonight_turtle --cpu-threads-intensity 2") } # Not profitable with CPU
+# [PSCustomObject]@{ Algorithms = @("CryptonightUpx"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm cryptonight_upx --cpu-threads-intensity 2") } # Not profitable with CPU
+ [PSCustomObject]@{ Algorithms = @("CpuPower"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm cpupower") }
+# [PSCustomObject]@{ Algorithms = @("CurveHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm curvehash") } # Not profitable with CPU
+ [PSCustomObject]@{ Algorithms = @("Ghostrider"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(180, 60); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm ghostrider") }
+ [PSCustomObject]@{ Algorithms = @("Lyra2v2Webchain"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm lyra2v2_webchain") }
+ [PSCustomObject]@{ Algorithms = @("MemeHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 30); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm memehash") }
+# [PSCustomObject]@{ Algorithms = @("Mike"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 60); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm mike") } # No results in time
+ [PSCustomObject]@{ Algorithms = @("MinotaurX"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(40, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm minotaurx") }
+ [PSCustomObject]@{ Algorithms = @("Panthera"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm panthera") }
+ [PSCustomObject]@{ Algorithms = @("Pufferfish2BMB"); Type = "CPU"; Fee = @(0.01); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm pufferfish2bmb") }
+ [PSCustomObject]@{ Algorithms = @("RandomGrft"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomgrft --Randomx-use-1gb-pages") }
+ [PSCustomObject]@{ Algorithms = @("RandomL"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randoml --Randomx-use-1gb-pages") }
+ [PSCustomObject]@{ Algorithms = @("RandomSfx"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomsfx --Randomx-use-1gb-pages") }
+ [PSCustomObject]@{ Algorithms = @("RandomNevo"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomnevo --Randomx-use-1gb-pages") }
+ [PSCustomObject]@{ Algorithms = @("RandomTuske"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(90, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomtuske --Randomx-use-1gb-pages") }
+ [PSCustomObject]@{ Algorithms = @("RandomxArq"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomarq --Randomx-use-1gb-pages") } # FPGA
+ [PSCustomObject]@{ Algorithms = @("RandomxEpic"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomepic --Randomx-use-1gb-pages") }
+ [PSCustomObject]@{ Algorithms = @("RandomxKeva"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomkeva --Randomx-use-1gb-pages") }
+ [PSCustomObject]@{ Algorithms = @("RandomxScash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(90, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomscash --Randomx-use-1gb-pages") }
+ [PSCustomObject]@{ Algorithms = @("RandomXeq"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomxeq --Randomx-use-1gb-pages") }
+ [PSCustomObject]@{ Algorithms = @("RandomYada"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomyada --Randomx-use-1gb-pages") }
+ [PSCustomObject]@{ Algorithms = @("SHA3d"); Type = "CPU"; Fee = @(0.02); MinerSet = 2; WarmupTimes = @(90, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm flex") }
+ [PSCustomObject]@{ Algorithms = @("VerusHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm verushash") }
+ [PSCustomObject]@{ Algorithms = @("YescryptR16"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yescryptr16") }
+ [PSCustomObject]@{ Algorithms = @("YescryptR32"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 45); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yescryptr32") }
+ [PSCustomObject]@{ Algorithms = @("YescryptR8"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yescryptr8") }
+ [PSCustomObject]@{ Algorithms = @("Yespower"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 40); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespower") }
+ [PSCustomObject]@{ Algorithms = @("Yespower2b"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespower2b") }
+ [PSCustomObject]@{ Algorithms = @("YespowerIc"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespoweric") }
+ [PSCustomObject]@{ Algorithms = @("YespowerLtncg"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowerltncg") }
+ [PSCustomObject]@{ Algorithms = @("YespowerMgpc"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowermgpc") }
+ [PSCustomObject]@{ Algorithms = @("YespowerR16"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowerr16") }
+ [PSCustomObject]@{ Algorithms = @("YespowerSugar"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowersugar") }
+ [PSCustomObject]@{ Algorithms = @("YespowerTide"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowertide") }
+ [PSCustomObject]@{ Algorithms = @("YespowerUrx"); Type = "CPU"; Fee = @(0); MinerSet = 1; WarmupTimes = @(60, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowerurx") }
+ [PSCustomObject]@{ Algorithms = @("Yescrypt"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(90, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yescrypt") }
+ [PSCustomObject]@{ Algorithms = @("XelisHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(90, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm xelishash") }
+
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2"); Type = "INTEL"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm autolykos2") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "Blake3"); Type = "INTEL"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm autolykos2", " --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "Decred"); Type = "INTEL"; Fee = @(0.01, 0.01); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm autolykos2", " --algorithm blake3_decred") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "HeavyHash"); Type = "INTEL"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm autolykos2", " --algorithm heavyhash") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "HeavyHashKarlsen"); Type = "INTEL"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm autolykos2", " --algorithm karnlsenhash") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "HeavyHashPyrin"); Type = "INTEL"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm autolykos2", " --algorithm pyrinhash") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "SHA256dt"); Type = "INTEL"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm autolykos2", " --algorithm sha256dt") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "SHA512256d"); Type = "INTEL"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm autolykos2", " --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("Aurum"); Type = "INTEL"; Fee = @(0.02); MinMemGiB = 2; MinerSet = 0; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm aurum") }
+ # [PSCustomObject]@{ Algorithms = @("Blake3"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("Decred"); Type = "INTEL"; Fee = @(0.01); MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm blake3_decred") }
+ # [PSCustomObject]@{ Algorithms = @("EtcHash"); Type = "INTEL"; Fee = @(0.0065); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm etchash") }
+ # [PSCustomObject]@{ Algorithms = @("EtcHash", "Blake3"); Type = "INTEL"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm etchash", " --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("EtcHash", "Decred"); Type = "INTEL"; Fee = @(0.0065, 0.01); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm etchash", " --algorithm blake3_decred") }
+ # [PSCustomObject]@{ Algorithms = @("EtcHash", "HeavyHash"); Type = "INTEL"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm etchash", " --algorithm heavyhash") }
+ # [PSCustomObject]@{ Algorithms = @("EtcHash", "SHA256dt"); Type = "INTEL"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm etchash", " --algorithm sha256dt") }
+ # [PSCustomObject]@{ Algorithms = @("EtcHash", "SHA512256d"); Type = "INTEL"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm etchash", " --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("Ethash"); Type = "INTEL"; Fee = @(0.0065); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm ethash") }
+ # [PSCustomObject]@{ Algorithms = @("Ethash", "Blake3"); Type = "INTEL"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm ethash", " --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("Ethash", "Decred"); Type = "INTEL"; Fee = @(0.0065, 0.01); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm ethash", " --algorithm blake3_decred") }
+ # [PSCustomObject]@{ Algorithms = @("Ethash", "Heavyhash"); Type = "INTEL"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm ethash", " --algorithm heavyhash") }
+ # [PSCustomObject]@{ Algorithms = @("Ethash", "SHA256dt"); Type = "INTEL"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm ethash", " --algorithm sha256dt") }
+ # [PSCustomObject]@{ Algorithms = @("Ethash", "SHA512256d"); Type = "INTEL"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm ethash", " --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("EthashB3"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm ethashb3") }
+ # [PSCustomObject]@{ Algorithms = @("EthashB3", "Blake3"); Type = "INTEL"; Fee = @(0.0085, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm ethashb3", " --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("EthashB3", "Decred"); Type = "INTEL"; Fee = @(0.0085, 0.01); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm ethashb3", " --algorithm blake3_decred") }
+ # [PSCustomObject]@{ Algorithms = @("EthashB3", "HeavyHashKarlsen"); Type = "INTEL"; Fee = @(0.0085, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm ethashb3", " --algorithm karlsenhash") }
+ # [PSCustomObject]@{ Algorithms = @("EthashB3", "SHA512256d"); Type = "INTEL"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm ethashb3", " --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("FiroPow"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm firopow") }
+ # [PSCustomObject]@{ Algorithms = @("HeavyHash"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm heavyhash") } # FPGA
+ # [PSCustomObject]@{ Algorithms = @("HeavyHashKarlsen"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm karnlsenhash") }
+ # [PSCustomObject]@{ Algorithms = @("HeavyHashPyrin"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm pyrinhash") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash"); Type = "INTEL"; Fee = @(0.01); MinMemGiB = 6; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm fishhash") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash", "Blake3"); Type = "INTEL"; Fee = @(0.01, 0.0085); MinMemGiB = 6; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm fishhash", " --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash", "Decred"); Type = "INTEL"; Fee = @(0.01, 0.01); MinMemGiB = 6; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm fishhash", " --algorithm blake3_decred") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash", "HeavyHashPyrin"); Type = "INTEL"; Fee = @(0.01, 0.0085); MinMemGiB = 6; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm fishhash", " --algorithm sha256dt") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash", "HeavyHashKarlsen"); Type = "INTEL"; Fee = @(0.0085, 0.0085); MinMemGiB = 6; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm fishhash", " --algorithm karlsenhash") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash", "SHA512256d"); Type = "INTEL"; Fee = @(0.01, 0.0085); MinMemGiB = 6; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm fishhash", " --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("KawPow"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ProHashing"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm kawpow") }
+ # [PSCustomObject]@{ Algorithms = @("MemeHash"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm memehash") }
+ # [PSCustomObject]@{ Algorithms = @("MeowPow"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ProHashing"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm meowpow") }
+ # [PSCustomObject]@{ Algorithms = @("ProgPowEpic"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm progpow_epic") }
+ # [PSCustomObject]@{ Algorithms = @("ProgPowSero"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm progpow_sero") }
+ # [PSCustomObject]@{ Algorithms = @("ProgPowVeil"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm progpow_veil") }
+ # [PSCustomObject]@{ Algorithms = @("ProgPowVeriblock"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm progpow_veriblock") }
+ # [PSCustomObject]@{ Algorithms = @("ProgPowZ"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm progpow_zano") }
+ # [PSCustomObject]@{ Algorithms = @("SHA256dt"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm sha256dt") }
+ # [PSCustomObject]@{ Algorithms = @("SHA3d"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(30, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm sha3d") } # FPGA
+ # [PSCustomObject]@{ Algorithms = @("SHA512256d"); Type = "INTEL"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("UbqHash"); Type = "INTEL"; Fee = @(0.0065); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm ubqhash") }
+
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(45, 20); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm autolykos2") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "Blake3"); Type = "NVIDIA"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm autolykos2", " --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "Decred"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm autolykos2", " --algorithm blake3_decred") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "HeavyHash"); Type = "NVIDIA"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm autolykos2", " --algorithm heavyhash") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "SHA256dt"); Type = "NVIDIA"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 20); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm autolykos2", " --algorithm sha256dt") }
+ # [PSCustomObject]@{ Algorithms = @("Autolykos2", "SHA512256d"); Type = "NVIDIA"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 20); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm autolykos2", " --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("Aurum"); Type = "NVIDIA"; Fee = @(0.02); MinMemGiB = 2; MinerSet = 0; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm aurum") }
+ # [PSCustomObject]@{ Algorithms = @("Blake3"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("CryptonightGpu"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(60, 30); ExcludeGPUArchitecture = @("Other", "Pascal"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm cryptonight_gpu") }
+ # [PSCustomObject]@{ Algorithms = @("CryptonightHeavyXhv"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm cryptonight_xhv") }
+ # [PSCustomObject]@{ Algorithms = @("Decred"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(30, 20); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm blake3_decred") }
+ # [PSCustomObject]@{ Algorithms = @("EtcHash"); Type = "NVIDIA"; Fee = @(0.0065); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 20); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm etchash") } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool
+ # [PSCustomObject]@{ Algorithms = @("EtcHash", "Blake3"); Type = "NVIDIA"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm etchash", " --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("EtcHash", "Decred"); Type = "NVIDIA"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm etchash", " --algorithm blake3_decred") }
+ # [PSCustomObject]@{ Algorithms = @("EtcHash", "HeavyHash"); Type = "NVIDIA"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 20); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm etchash", " --algorithm heavyhash") }
+ # [PSCustomObject]@{ Algorithms = @("EtcHash", "SHA256dt"); Type = "NVIDIA"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 20); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm etchash", " --algorithm sha256dt") }
+ # [PSCustomObject]@{ Algorithms = @("EtcHash", "SHA512256d"); Type = "NVIDIA"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 20); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm etchash", " --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("Ethash"); Type = "NVIDIA"; Fee = @(0.0065); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm ethash") } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool
+ # [PSCustomObject]@{ Algorithms = @("Ethash", "Blake3"); Type = "NVIDIA"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm ethash", " --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("Ethash", "Decred"); Type = "NVIDIA"; Fee = @(0.0065, 0.01); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm ethash", " --algorithm blake3_decred") }
+ # [PSCustomObject]@{ Algorithms = @("Ethash", "Heavyhash"); Type = "NVIDIA"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 20); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm ethash", " --algorithm heavyhash") }
+ # [PSCustomObject]@{ Algorithms = @("Ethash", "SHA256dt"); Type = "NVIDIA"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 20); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm ethash", " --algorithm sha256dt") }
+ # [PSCustomObject]@{ Algorithms = @("Ethash", "SHA512256d"); Type = "NVIDIA"; Fee = @(0.0065, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 20); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm ethash", " --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("EthashB3"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm ethashb3") }
+ # [PSCustomObject]@{ Algorithms = @("EthashB3", "Blake3"); Type = "NVIDIA"; Fee = @(0.0085, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@("ZergPool"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm ethashb3", " --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("EthashB3", "Decred"); Type = "NVIDIA"; Fee = @(0.0085, 0.01); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@("ZergPool"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm ethashb3", " --algorithm blake3_decred") }
+ # [PSCustomObject]@{ Algorithms = @("EthashB3", "SHA512256d"); Type = "NVIDIA"; Fee = @(0.0085, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 20); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@("ZergPool"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm ethashb3", " --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("EvrProgPow"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(60, 20); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm evrprogpow") }
+ # [PSCustomObject]@{ Algorithms = @("FiroPow"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(60, 20); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm firopow") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 6; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm fishhash") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 6; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm fishhash") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash", "Blake3"); Type = "NVIDIA"; Fee = @(0.01, 0.0085); MinMemGiB = 6; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm fishhash", " --algorithm blake3_alephium") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash", "Decred"); Type = "NVIDIA"; Fee = @(0.01, 0.01); MinMemGiB = 6; MinerSet = 0; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm fishhash", " --algorithm blake3_decred") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash", "HeavyHashPyrin"); Type = "NVIDIA"; Fee = @(0.01, 0.0085); MinMemGiB = 6; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm fishhash", " --algorithm sha256dt") }
+ # [PSCustomObject]@{ Algorithms = @("FishHash", "SHA512256d"); Type = "NVIDIA"; Fee = @(0.01, 0.0085); MinMemGiB = 6; MinerSet = 0; WarmupTimes = @(60, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm fishhash", " --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("HeavyHash"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(45, 20); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm heavyhash") } # FPGA
+ # [PSCustomObject]@{ Algorithms = @("HeavyHashKarlsen"); Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm KarlsenHash") }
+ # [PSCustomObject]@{ Algorithms = @("KawPow"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 20); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ProHashing"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm kawpow") }
+ # [PSCustomObject]@{ Algorithms = @("Lyra2v2Webchain"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm lyra2v2_webchain") }
+ # [PSCustomObject]@{ Algorithms = @("MemeHash"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm memehash") }
+ # [PSCustomObject]@{ Algorithms = @("MeowPow"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ProHashing"), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm meowpow") }
+ # [PSCustomObject]@{ Algorithms = @("ProgPowEpic"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm progpow_epic") }
+ # [PSCustomObject]@{ Algorithms = @("ProgPowSero"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm progpow_sero") }
+ # [PSCustomObject]@{ Algorithms = @("ProgPowVeil"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm progpow_veil") }
+ # [PSCustomObject]@{ Algorithms = @("ProgPowVeriblock"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 2; MinerSet = 2; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm progpow_veriblock") }
+ # [PSCustomObject]@{ Algorithms = @("ProgPowZ"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm progpow_zano") }
+ # [PSCustomObject]@{ Algorithms = @("SHA256dt"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm sha256dt") }
+ # [PSCustomObject]@{ Algorithms = @("SHA3d"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm sha3d") } # FPGA
+ # [PSCustomObject]@{ Algorithms = @("SHA512256d"); Type = "NVIDIA"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(45, 0); ExcludeGPUArchitecture = @("Other"); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm sha512_256d_radiant") }
+ # [PSCustomObject]@{ Algorithms = @("UbqHash"); Type = "NVIDIA"; Fee = @(0.0065); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-intel --algorithm ubqhash") }
+)
+
+$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({ $MinerPools[0][$_.Algorithms[0]].Name -notin $_.ExcludePools[0] })
+$Algorithms = $Algorithms.Where({ $MinerPools[1][$_.Algorithms[1]].Name -notin $_.ExcludePools[1] })
+
+If ($Algorithms) {
+
+ # Allowed max loss for 1. algorithm
+ # $GpuDualMaxLosses = @($null, 2, 4, 7, 10, 15, 21, 30)
+ # $GpuDualMaxLosses = @($null, 5)
+ # $GpuDualMaxLosses = @($null)
+
+ # Build command sets for max loss
+ # $Algorithms = $Algorithms.ForEach(
+ # {
+ # $_.PsObject.Copy()
+ # If ($_.Algorithms[1]) {
+ # ForEach ($GpuDualMaxLoss in $GpuDualMaxLosses) {
+ # $_ | Add-Member GpuDualMaxLoss $GpuDualMaxLoss -Force
+ # $_.PsObject.Copy()
+ # }
+ # }
+ # }
+ # )
+
+ ($Devices | Select-Object Type, Model -Unique).ForEach(
+ {
+ If ($MinerDevices = $Devices | Where-Object Type -EQ $_.Type | Where-Object Model -EQ $_.Model) {
+ $MinerAPIPort = $Config.APIPort + ($MinerDevices.Id | Sort-Object -Top 1) + 1
+
+ ($Algorithms | Where-Object Type -EQ $_.Type).ForEach(
+ {
+ $ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Type -eq "CPU" -or $_.Architecture -notin $ExcludeGPUArchitecture })) {
+
+ If ($_.Algorithms[0] -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({ $_.Name -notin $ExcludePools[0] }) | Select-Object -Last $(If ($_.Type -eq "CPU") { 1 } Else { $MinerPools[0][$_.Algorithms[0]].Count })) {
+ ForEach ($Pool1 in $MinerPools[1][$_.Algorithms[1]].Where({ $_.Name -notin $ExcludePools[1] }) | Select-Object -Last $(If ($_.Type -eq "CPU") { 1 } Else { $MinerPools[1][$_.Algorithms[1]].Count })) {
+ $Pools = @(($Pool0, $Pool1).Where({ $_ }))
+
+ $MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.Type -eq "CPU" -or $_.MemoryGiB -gt $MinMemGiB })) {
+
+ $MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })$(If ($_.GpuDualMaxLoss) { "-$($_.GpuDualMaxLoss)" })"
+
+ $Arguments = ""
+ ForEach ($Pool in $Pools) {
+ $Arguments += Switch ($Pool.Protocol) {
+ "minerproxy" { " --esm 0" }
+ "ethproxy" { " --esm 0" }
+ "ethstratum1" { " --esm 1" }
+ "ethstratum2" { " --esm 2" }
+ "ethstratumnh" { " --esm 2" }
+ }
+ $Arguments += "$($_.Arguments[$Pools.IndexOf($Pool)]) --pool $($Pool.Host):$($Pool.PoolPorts | Select-Object -Last 1) --wallet $($Pool.User)"
+ $Arguments += " --password $($Pool.Pass)"
+ If ($Pool.WorkerName) { $Arguments += " --worker $($Pool.WorkerName)" }
+ $Arguments += If ($Pool.PoolPorts[1]) { " --tls true" } Else { " --tls false" }
+ If ($_.GpuDualMaxLoss) { $Arguments += " --gpu-dual-max-loss $($_.GpuDualMaxLoss)" }
+ }
+ Remove-Variable Pool
+
+ If ($_.Type -eq "CPU") {
+ $Arguments += " --cpu-threads $($AvailableMinerDevices.CIM.NumberOfLogicalProcessors -1)"
+ }
+ Else {
+ $Arguments += " --gpu-id $(($AvailableMinerDevices.$DeviceEnumerator | Sort-Object -Unique).ForEach({ '{0:x}' -f $_ }) -join ',')"
+ }
+ If ($_.Type -eq "CPU" -and $Variables.UseMinerTweaks) { $Arguments += " --disable-msr-tweaks" }
+
+ [PSCustomObject]@{
+ API = "SRBMiner"
+ Arguments = "$Arguments --api-rig-name $($Config.WorkerName) --api-enable --api-port $MinerAPIPort"
+ DeviceNames = $AvailableMinerDevices.Name
+ Fee = $_.Fee # Dev fee
+ MinerSet = $_.MinerSet
+ MinerUri = "http://127.0.0.1:$($MinerAPIPort)/stats"
+ 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 = $_ } }))
+ }
+ }
+ }
+ }
+ }
+ }
+ )
+ }
+ }
+ )
+}
diff --git a/Miners/SRBMinerMulti-v2.5.7.ps1 b/Miners/SRBMinerMulti-v2.5.7.ps1
index 147861f1..26108c7a 100644
--- a/Miners/SRBMinerMulti-v2.5.7.ps1
+++ b/Miners/SRBMinerMulti-v2.5.7.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "CPU" -or $_.Type -eq "INTEL" -or ($_.Type -eq "AMD" -and $_.Model -notmatch "^RX5[5|6]0$" -and $_.OpenCL.ClVersion -ge "OpenCL C 2.0") -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.OpenCL.DriverVersion -ge "510.00") }))) { Return }
@@ -102,51 +102,51 @@ $Algorithms = @(
[PSCustomObject]@{ Algorithms = @("YescryptR32"); Type = "AMD"; Fee = @(0.0085); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(90, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm yescryptr32") }
[PSCustomObject]@{ Algorithms = @("XelisHash"); Type = "AMD"; Fee = @(0.02); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(0, 20); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-intel --disable-gpu-nvidia --algorithm xelishash") }
- [PSCustomObject]@{ Algorithms = @("Argon2d16000"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm argon2d_16000") }
- [PSCustomObject]@{ Algorithms = @("Argon2d500"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm argon2d_dynamic") }
- [PSCustomObject]@{ Algorithms = @("Argon2Chukwa"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm argon2id_chukwa") }
- [PSCustomObject]@{ Algorithms = @("Argon2Chukwa2"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm argon2id_chukwa2") }
- [PSCustomObject]@{ Algorithms = @("Aurum"); Type = "CPU"; Fee = @(0.02); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm aurum") }
-# [PSCustomObject]@{ Algorithms = @("CryptonightGpu"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(120, 30); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm cryptonight_gpu --cpu-threads-intensity 2") } # Not profitable with CPU
-# [PSCustomObject]@{ Algorithms = @("CryptonightHeavyxXhv"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm cryptonight_xhv --cpu-threads-intensity 2") } # Not profitable with CPU
-# [PSCustomObject]@{ Algorithms = @("CryptonightTurtle"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm cryptonight_turtle --cpu-threads-intensity 2") } # Not profitable with CPU
-# [PSCustomObject]@{ Algorithms = @("CryptonightUpx"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm cryptonight_upx --cpu-threads-intensity 2") } # Not profitable with CPU
- [PSCustomObject]@{ Algorithms = @("CpuPower"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm cpupower") }
-# [PSCustomObject]@{ Algorithms = @("CurveHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm curvehash") } # Not profitable with CPU
- [PSCustomObject]@{ Algorithms = @("Ghostrider"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(180, 60); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm ghostrider") }
- [PSCustomObject]@{ Algorithms = @("Lyra2v2Webchain"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm lyra2v2_webchain") }
- [PSCustomObject]@{ Algorithms = @("MemeHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 30); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm memehash") }
-# [PSCustomObject]@{ Algorithms = @("Mike"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 60); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm mike") } # No results in time
- [PSCustomObject]@{ Algorithms = @("MinotaurX"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(40, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm minotaurx") }
- [PSCustomObject]@{ Algorithms = @("Panthera"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm panthera") }
- [PSCustomObject]@{ Algorithms = @("Pufferfish2BMB"); Type = "CPU"; Fee = @(0.01); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm pufferfish2bmb") }
- [PSCustomObject]@{ Algorithms = @("RandomGrft"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomgrft --Randomx-use-1gb-pages") }
- [PSCustomObject]@{ Algorithms = @("RandomL"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randoml --Randomx-use-1gb-pages") }
- [PSCustomObject]@{ Algorithms = @("RandomSfx"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomsfx --Randomx-use-1gb-pages") }
- [PSCustomObject]@{ Algorithms = @("RandomNevo"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomnevo --Randomx-use-1gb-pages") }
- [PSCustomObject]@{ Algorithms = @("RandomTuske"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(90, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomtuske --Randomx-use-1gb-pages") }
- [PSCustomObject]@{ Algorithms = @("RandomxArq"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomarq --Randomx-use-1gb-pages") } # FPGA
- [PSCustomObject]@{ Algorithms = @("RandomxEpic"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomepic --Randomx-use-1gb-pages") }
- [PSCustomObject]@{ Algorithms = @("RandomxKeva"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomkeva --Randomx-use-1gb-pages") }
- [PSCustomObject]@{ Algorithms = @("RandomxScash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(90, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomscash --Randomx-use-1gb-pages") }
- [PSCustomObject]@{ Algorithms = @("RandomXeq"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomxeq --Randomx-use-1gb-pages") }
- [PSCustomObject]@{ Algorithms = @("RandomYada"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomyada --Randomx-use-1gb-pages") }
- [PSCustomObject]@{ Algorithms = @("SHA3d"); Type = "CPU"; Fee = @(0.02); MinerSet = 2; WarmupTimes = @(90, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm flex") }
- [PSCustomObject]@{ Algorithms = @("VerusHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm verushash") }
- [PSCustomObject]@{ Algorithms = @("YescryptR16"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yescryptr16") }
- [PSCustomObject]@{ Algorithms = @("YescryptR32"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 45); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yescryptr32") }
- [PSCustomObject]@{ Algorithms = @("YescryptR8"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yescryptr8") }
- [PSCustomObject]@{ Algorithms = @("Yespower"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 40); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespower") }
- [PSCustomObject]@{ Algorithms = @("Yespower2b"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespower2b") }
- [PSCustomObject]@{ Algorithms = @("YespowerIc"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespoweric") }
- [PSCustomObject]@{ Algorithms = @("YespowerLtncg"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowerltncg") }
- [PSCustomObject]@{ Algorithms = @("YespowerMgpc"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowermgpc") }
- [PSCustomObject]@{ Algorithms = @("YespowerR16"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowerr16") }
- [PSCustomObject]@{ Algorithms = @("YespowerSugar"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowersugar") }
- [PSCustomObject]@{ Algorithms = @("YespowerTide"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowertide") }
- [PSCustomObject]@{ Algorithms = @("YespowerUrx"); Type = "CPU"; Fee = @(0); MinerSet = 1; WarmupTimes = @(60, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowerurx") }
- [PSCustomObject]@{ Algorithms = @("Yescrypt"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(90, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yescrypt") }
- [PSCustomObject]@{ Algorithms = @("XelisHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(90, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm xelishash") }
+# [PSCustomObject]@{ Algorithms = @("Argon2d16000"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm argon2d_16000") }
+# [PSCustomObject]@{ Algorithms = @("Argon2d500"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm argon2d_dynamic") }
+# [PSCustomObject]@{ Algorithms = @("Argon2Chukwa"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm argon2id_chukwa") }
+# [PSCustomObject]@{ Algorithms = @("Argon2Chukwa2"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm argon2id_chukwa2") }
+# [PSCustomObject]@{ Algorithms = @("Aurum"); Type = "CPU"; Fee = @(0.02); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm aurum") }
+# # [PSCustomObject]@{ Algorithms = @("CryptonightGpu"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(120, 30); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm cryptonight_gpu --cpu-threads-intensity 2") } # Not profitable with CPU
+# # [PSCustomObject]@{ Algorithms = @("CryptonightHeavyxXhv"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm cryptonight_xhv --cpu-threads-intensity 2") } # Not profitable with CPU
+# # [PSCustomObject]@{ Algorithms = @("CryptonightTurtle"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm cryptonight_turtle --cpu-threads-intensity 2") } # Not profitable with CPU
+# # [PSCustomObject]@{ Algorithms = @("CryptonightUpx"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm cryptonight_upx --cpu-threads-intensity 2") } # Not profitable with CPU
+# [PSCustomObject]@{ Algorithms = @("CpuPower"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm cpupower") }
+# # [PSCustomObject]@{ Algorithms = @("CurveHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm curvehash") } # Not profitable with CPU
+# [PSCustomObject]@{ Algorithms = @("Ghostrider"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(180, 60); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm ghostrider") }
+# [PSCustomObject]@{ Algorithms = @("Lyra2v2Webchain"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm lyra2v2_webchain") }
+# [PSCustomObject]@{ Algorithms = @("MemeHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 30); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm memehash") }
+# # [PSCustomObject]@{ Algorithms = @("Mike"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 60); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm mike") } # No results in time
+# [PSCustomObject]@{ Algorithms = @("MinotaurX"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(40, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm minotaurx") }
+# [PSCustomObject]@{ Algorithms = @("Panthera"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm panthera") }
+# [PSCustomObject]@{ Algorithms = @("Pufferfish2BMB"); Type = "CPU"; Fee = @(0.01); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm pufferfish2bmb") }
+# [PSCustomObject]@{ Algorithms = @("RandomGrft"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomgrft --Randomx-use-1gb-pages") }
+# [PSCustomObject]@{ Algorithms = @("RandomL"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randoml --Randomx-use-1gb-pages") }
+# [PSCustomObject]@{ Algorithms = @("RandomSfx"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomsfx --Randomx-use-1gb-pages") }
+# [PSCustomObject]@{ Algorithms = @("RandomNevo"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomnevo --Randomx-use-1gb-pages") }
+# [PSCustomObject]@{ Algorithms = @("RandomTuske"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(90, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomtuske --Randomx-use-1gb-pages") }
+# [PSCustomObject]@{ Algorithms = @("RandomxArq"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomarq --Randomx-use-1gb-pages") } # FPGA
+# [PSCustomObject]@{ Algorithms = @("RandomxEpic"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomepic --Randomx-use-1gb-pages") }
+# [PSCustomObject]@{ Algorithms = @("RandomxKeva"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(30, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomkeva --Randomx-use-1gb-pages") }
+# [PSCustomObject]@{ Algorithms = @("RandomxScash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(90, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomscash --Randomx-use-1gb-pages") }
+# [PSCustomObject]@{ Algorithms = @("RandomXeq"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomxeq --Randomx-use-1gb-pages") }
+# [PSCustomObject]@{ Algorithms = @("RandomYada"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 0); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm randomyada --Randomx-use-1gb-pages") }
+# [PSCustomObject]@{ Algorithms = @("SHA3d"); Type = "CPU"; Fee = @(0.02); MinerSet = 2; WarmupTimes = @(90, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm flex") }
+# # [PSCustomObject]@{ Algorithms = @("VerusHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm verushash") } # https://github.com/RainbowMiner/RainbowMiner/issues/2816
+# [PSCustomObject]@{ Algorithms = @("YescryptR16"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yescryptr16") }
+# [PSCustomObject]@{ Algorithms = @("YescryptR32"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 45); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yescryptr32") }
+# [PSCustomObject]@{ Algorithms = @("YescryptR8"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yescryptr8") }
+# [PSCustomObject]@{ Algorithms = @("Yespower"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 40); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespower") }
+# [PSCustomObject]@{ Algorithms = @("Yespower2b"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespower2b") }
+# [PSCustomObject]@{ Algorithms = @("YespowerIc"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespoweric") }
+# [PSCustomObject]@{ Algorithms = @("YespowerLtncg"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowerltncg") }
+# [PSCustomObject]@{ Algorithms = @("YespowerMgpc"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowermgpc") }
+# [PSCustomObject]@{ Algorithms = @("YespowerR16"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowerr16") }
+# [PSCustomObject]@{ Algorithms = @("YespowerSugar"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowersugar") }
+# [PSCustomObject]@{ Algorithms = @("YespowerTide"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(60, 25); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowertide") }
+# [PSCustomObject]@{ Algorithms = @("YespowerUrx"); Type = "CPU"; Fee = @(0); MinerSet = 1; WarmupTimes = @(60, 15); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yespowerurx") }
+# [PSCustomObject]@{ Algorithms = @("Yescrypt"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(90, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm yescrypt") }
+# [PSCustomObject]@{ Algorithms = @("XelisHash"); Type = "CPU"; Fee = @(0.0085); MinerSet = 2; WarmupTimes = @(90, 20); ExcludePools = @(@(), @()); Arguments = @(" --disable-gpu --algorithm xelishash") }
[PSCustomObject]@{ Algorithms = @("Autolykos2"); Type = "INTEL"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm autolykos2") }
[PSCustomObject]@{ Algorithms = @("Autolykos2", "Blake3"); Type = "INTEL"; Fee = @(0.01, 0.0085); MinMemGiB = 1.24; MinerSet = 0; WarmupTimes = @(45, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = @(" --disable-cpu --disable-gpu-amd --disable-gpu-nvidia --algorithm autolykos2", " --algorithm blake3_alephium") }
@@ -285,7 +285,7 @@ If ($Algorithms) {
($Algorithms | Where-Object Type -EQ $_.Type).ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Type -eq "CPU" -or $_.Architecture -notin $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Type -eq "CPU" -or $_.Architecture -notin $ExcludeGPUArchitecture })) {
If ($_.Algorithms[0] -eq "VertHash" -and (Get-Item -Path $Variables.VerthashDatPath -ErrorAction Ignore).length -ne 1283457024) {
$PrerequisitePath = $Variables.VerthashDatPath
@@ -302,7 +302,7 @@ If ($Algorithms) {
$Pools = @(($Pool0, $Pool1).Where({ $_ }))
$MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.Type -eq "CPU" -or $_.MemoryGiB -gt $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.Type -eq "CPU" -or $_.MemoryGiB -gt $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })$(If ($_.GpuDualMaxLoss) { "-$($_.GpuDualMaxLoss)" })"
diff --git a/Miners/SgMinerFancyIX-v0.9.4.ps1 b/Miners/SgMinerFancyIX-v0.9.4.ps1
index 4eb68a63..fd69ae73 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
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 e2d15619..bdce374c 100644
--- a/Miners/Suprminer-v2.31v2.ps1
+++ b/Miners/Suprminer-v2.31v2.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return }
diff --git a/Miners/TTMiner-v2024.2.0.ps1 b/Miners/TTMiner-v2024.2.0.ps1
index 0567771b..aab6b160 100644
--- a/Miners/TTMiner-v2024.2.0.ps1
+++ b/Miners/TTMiner-v2024.2.0.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ ($_.Type -eq "NVIDIA" -and $_.OpenCL.ComputeCapability -gt "5.0") -or $_.Type -eq "AMD" } ))) { Return }
@@ -95,13 +95,13 @@ If ($Algorithms) {
($Algorithms | Where-Object Type -EQ $_.Type).ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
$ExcludePools = $_.ExcludePools
ForEach ($Pool in $MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools })) {
$MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)"
diff --git a/Miners/TTMiner-v2024.2.1b5.2.ps1 b/Miners/TTMiner-v2024.2.1b5.2.ps1
new file mode 100644
index 00000000..1e7a10cd
--- /dev/null
+++ b/Miners/TTMiner-v2024.2.1b5.2.ps1
@@ -0,0 +1,149 @@
+<#
+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.2.12
+Version date: 2024/06/26
+#>
+
+Return
+
+If (-not ($Devices = $Variables.EnabledDevices.Where({ ($_.Type -eq "NVIDIA" -and $_.OpenCL.ComputeCapability -gt "5.0") -or $_.Type -eq "AMD" } ))) { Return }
+
+$URI = Switch ($Variables.DriverVersion.CUDA) {
+ { $_ -ge "11.0" } { "https://github.com/TrailingStop/TT-Miner-beta/releases/download/2024.2.1-beta5/TT-Miner-2024.2.1B5.2.zip" }
+ Default { Return }
+}
+$Name = [String](Get-Item $MyInvocation.MyCommand.Path).BaseName
+$Path = "$PWD\Bin\$Name\TT-Miner.exe"
+$DeviceEnumerator = "Type_Index"
+
+$Algorithms = @(
+# [PSCustomObject]@{ Algorithm = "Blake3"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 2.0; MinerSet = 2; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a Blake3" }
+# [PSCustomObject]@{ Algorithm = "EtcHash"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a EtcHash" }
+# [PSCustomObject]@{ Algorithm = "Ethash"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.00; MinerSet = 2; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a Ethash" }
+# [PSCustomObject]@{ Algorithm = "EthashB3"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.00; MinerSet = 2; WarmupTimes = @(30, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a EthashB3" }
+# [PSCustomObject]@{ Algorithm = "EvrProPow"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a EvrProgPow" }
+# [PSCustomObject]@{ Algorithm = "FiroPow"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a FiroPow" }
+# [PSCustomObject]@{ Algorithm = "FiroPowSCC"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(30, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -c SCC" }
+# [PSCustomObject]@{ Algorithm = "FishHash"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 4; MinerSet = 2; WarmupTimes = @(30, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a FishHash" }
+# [PSCustomObject]@{ Algorithm = "KawPow"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(90, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a KawPow" }
+# # [PSCustomObject]@{ Algorithm = "MemeHash"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(120, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a Memehash" } # Not yet working
+# [PSCustomObject]@{ Algorithm = "MeowPow"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(120, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a meowpow" }
+# [PSCustomObject]@{ Algorithm = "ProgPowEpic"; Type = "AMD"; Fee = @(0.02); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(60, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -c EPIC" }
+# [PSCustomObject]@{ Algorithm = "ProgPowSero"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(60, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -c SERO" }
+# [PSCustomObject]@{ Algorithm = "ProgPowVeil"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(60, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -c VEIL" }
+# [PSCustomObject]@{ Algorithm = "ProgPowZ"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(60, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -c ZANO" }
+# [PSCustomObject]@{ Algorithm = "ProgPowVeriblock"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(60, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a vProgPow" }
+# # [PSCustomObject]@{ Algorithm = "SHA256d"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a SHA256D" } # ASIC
+# [PSCustomObject]@{ Algorithm = "SHA256dt"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a SHA256DT" }
+# [PSCustomObject]@{ Algorithm = "SHA3D"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a Sha3D" }
+# [PSCustomObject]@{ Algorithm = "SHA512256d"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a SHA512256D" }
+# [PSCustomObject]@{ Algorithm = "SHA3Solidity"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a SHA3SOL" }
+# [PSCustomObject]@{ Algorithm = "UbqHash"; Type = "AMD"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a UbqHash" }
+
+ [PSCustomObject]@{ Algorithm = "Blake3"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 2.0; MinerSet = 2; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a Blake3" }
+ [PSCustomObject]@{ Algorithm = "EtcHash"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a EtcHash" }
+ [PSCustomObject]@{ Algorithm = "Ethash"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.00; MinerSet = 2; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a Ethash" }
+ [PSCustomObject]@{ Algorithm = "EthashB3"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.00; MinerSet = 2; WarmupTimes = @(30, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a EthashB3" }
+ [PSCustomObject]@{ Algorithm = "EvrProPow"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a EvrProgPow" }
+ [PSCustomObject]@{ Algorithm = "FiroPow"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a FiroPow" }
+ [PSCustomObject]@{ Algorithm = "FiroPowSCC"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(30, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -c SCC" }
+ [PSCustomObject]@{ Algorithm = "FishHash"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 4; MinerSet = 2; WarmupTimes = @(30, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a FishHash" }
+# [PSCustomObject]@{ Algorithm = "Ghostrider"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 3; MinerSet = 2; WarmupTimes = @(180, 60); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a Ghostrider" } # No hashrate
+ [PSCustomObject]@{ Algorithm = "KawPow"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(90, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a KawPow" }
+# [PSCustomObject]@{ Algorithm = "MemeHash"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(120, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a Memehash" } # Not yet working
+ [PSCustomObject]@{ Algorithm = "MeowPow"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 0; WarmupTimes = @(120, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a meowpow" }
+ [PSCustomObject]@{ Algorithm = "ProgPowEpic"; Type = "NVIDIA"; Fee = @(0.02); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(60, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -c EPIC" }
+ [PSCustomObject]@{ Algorithm = "ProgPowSero"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(60, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -c SERO" }
+ [PSCustomObject]@{ Algorithm = "ProgPowVeil"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 2; WarmupTimes = @(60, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -c VEIL" }
+ [PSCustomObject]@{ Algorithm = "ProgPowZ"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(60, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -c ZANO" }
+ [PSCustomObject]@{ Algorithm = "ProgPowVeriblock"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 2; WarmupTimes = @(60, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a vProgPow" }
+# [PSCustomObject]@{ Algorithm = "SHA256d"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a SHA256D" } # ASIC
+ [PSCustomObject]@{ Algorithm = "SHA256dt"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a SHA256DT" }
+ [PSCustomObject]@{ Algorithm = "SHA3D"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a Sha3D" }
+ [PSCustomObject]@{ Algorithm = "SHA512256d"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a SHA512256D" }
+ [PSCustomObject]@{ Algorithm = "SHA3Solidity"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1; MinerSet = 1; WarmupTimes = @(30, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a SHA3SOL" }
+ [PSCustomObject]@{ Algorithm = "UbqHash"; Type = "NVIDIA"; Fee = @(0.01); MinMemGiB = 1.24; MinerSet = 1; WarmupTimes = @(60, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(); Arguments = " -a UbqHash" }
+)
+
+$Algorithms = $Algorithms.Where({ $_.MinerSet -le $Config.MinerSet })
+$Algorithms = $Algorithms.Where({ $MinerPools[0][$_.Algorithm] })
+# $Algorithms = $Algorithms.Where({ $MinerPools[0][$_.Algorithm].Name -notin $_.ExcludePools })
+$Algorithms = $Algorithms.Where({ $MinerPools[0][$_.Algorithm].PoolPorts[0] })
+
+If ($Algorithms) {
+
+ ($Devices | Select-Object Type, Model -Unique).ForEach(
+ {
+ If ($MinerDevices = $Devices | Where-Object Model -EQ $_.Model) {
+ $MinerAPIPort = $Config.APIPort + ($MinerDevices.Id | Sort-Object -Top 1) + 1
+
+ ($Algorithms | Where-Object Type -EQ $_.Type).ForEach(
+ {
+ $ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
+
+ # $ExcludePools = $_.ExcludePools
+ # ForEach ($Pool in $MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools })) {
+ ForEach ($Pool in $MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] })) {
+
+ $MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+
+ $MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)"
+
+ If ($Pool.Currency -in @("AKA", "ALPH", "ALT", "ARL", "AVS", "BBC", "BCH", "BLACK", "BNBTC", "BTC", "BTRM", "BUT", "CLO", "CLORE", "EGAZ", "EGEM", "ELH", "EPIC", "ETC", "ETHF", "ETHO", "ETHW", "ETI", "ETP", "EVOX", "EVR", "EXP", "FiroPowFIRO", "FITA", "FRENS", "GRAMS", "GSPC", "HVQ", "IRON", "JGC", "KAW", "KCN", "LAB", "LTR", "MEOW", "MEWC", "NAPI", "NEOX", "NOVO", "OCTA", "PAPRY", "PRCO", "REDE", "RTH", "RTM", "RVN", "RXD", "SATO", "SATOX", "SCC", "SERO", "THOON", "TTM", "UBQ", "VBK", "VEIL", "VKAX", "VTE", "XNA", "YERB", "ZANO", "ZELS", "ZIL", "ZKBTC")) {
+ $Arguments = "$($_.Arguments -replace ' -[a|c] \w+') -c $($Pool.Currency)"
+ }
+ Else {
+ $Arguments = $_.Arguments
+ }
+ If ($AvailableMinerDevices.Where({ $_.MemoryGiB -le 2 })) { $Arguments = $Arguments -replace ' -intensity [0-9\.]+' }
+
+ $Arguments += " -o $(If ($Pool.PoolPorts[1]) { "ssl://" } Else { "tcp://" })$($Pool.Host):$($Pool.PoolPorts | Select-Object -Last 1)"
+ $Arguments += " -u $($Pool.User)"
+ If ($Pool.Pass) { $Arguments += " -p $($Pool.Pass)" }
+ If ($Pool.WorkerName) { $Arguments += " -w $($Pool.WorkerName)" }
+
+ If (-not $Pool.SendHashrate) { $Arguments += " -no-hashrate" }
+
+ [PSCustomObject]@{
+ API = "EthMiner"
+ Arguments = "$Arguments -report-average 5 -report-interval 5 -b 127.0.0.1:$($MinerAPIPort) -d $(($AvailableMinerDevices.$DeviceEnumerator | Sort-Object -Unique).ForEach({ '{0:x}' -f $_ }) -join ',')"
+ DeviceNames = $AvailableMinerDevices.Name
+ Fee = 0 #$_.Fee # Dev fee
+ MinerSet = $_.MinerSet
+ MinerUri = "http://127.0.0.1:$($MinerAPIPort)"
+ Name = $MinerName
+ Path = $Path
+ Port = $MinerAPIPort
+ 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 = @(@{ Pool = $Pool })
+ }
+ }
+ }
+ }
+ }
+ )
+ }
+ }
+ )
+}
diff --git a/Miners/TTMiner-v5.0.3.ps1 b/Miners/TTMiner-v5.0.3.ps1
index 9d243bbe..10454fea 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return }
@@ -58,14 +58,14 @@ If ($Algorithms) {
$Algorithms.ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture }) ) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture }) ) {
# $ExcludePools = $_.ExcludePools
# ForEach ($Pool in $MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Name -notin $ExcludePools -and $_.Algorithm -notin @("Ethash", "KawPow") -or (<# Miner supports Ethash up to epoch 384 #>$_.Algorithm -eq "Ethash" -and $_.Epoch -le 384) -or (<# Miner supports Kawpow up to 4GB #>$_.Algorithm -eq "KawPow" -and $_.DAGSizeGiB -lt 4) })) {
ForEach ($Pool in $MinerPools[0][$_.Algorithm].Where({ $_.PoolPorts[0] -and $_.Algorithm -notin @("Ethash", "KawPow") -or (<# Miner supports Ethash up to epoch 384 #>$_.Algorithm -eq "Ethash" -and $_.Epoch -le 384) -or (<# Miner supports Kawpow up to 4GB #>$_.Algorithm -eq "KawPow" -and $_.DAGSizeGiB -lt 4) })) {
$MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB }) ) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB }) ) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)"
diff --git a/Miners/TeamBlackMiner-v2.25.ps1 b/Miners/TeamBlackMiner-v2.25.ps1
index 63e2a747..8f16e4b5 100644
--- a/Miners/TeamBlackMiner-v2.25.ps1
+++ b/Miners/TeamBlackMiner-v2.25.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.CUDAVersion -ge [Version]"11.6") }))) { Return }
@@ -31,57 +31,57 @@ $DeviceSelector = @{ AMD = " --cl-devices"; NVIDIA = " --cuda-devices" }
$DeviceEnumerator = "Type_Vendor_Slot"
$Algorithms = @(
- [PSCustomObject]@{ Algorithms = @("EtcHash"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etchash" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool
- [PSCustomObject]@{ Algorithms = @("EtcHash", "EthashB3"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(120, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @("ZergPool")); Arguments = " --algo etc+ethb3" } # https://github.com/sp-hash/TeamBlackMiner/issues/450
- [PSCustomObject]@{ Algorithms = @("EtcHash", "EvrProgPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+evr" }
- [PSCustomObject]@{ Algorithms = @("EtcHash", "FiroPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+firo" }
- [PSCustomObject]@{ Algorithms = @("EtcHash", "KawPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+rvn" }
- [PSCustomObject]@{ Algorithms = @("EtcHash", "MeowPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+meow" }
- [PSCustomObject]@{ Algorithms = @("EtcHash", "VertHash"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(120, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } # 120 Seconds; https://github.com/sp-hash/TeamBlackMiner/issues/427
- [PSCustomObject]@{ Algorithms = @("Ethash"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethash" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool
- [PSCustomObject]@{ Algorithms = @("Ethash", "EthashB3"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(120, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @("ZergPool")); Arguments = " --algo eth+ethb3" } # https://github.com/sp-hash/TeamBlackMiner/issues/450
- [PSCustomObject]@{ Algorithms = @("Ethash", "EvrProgPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+evr" }
- [PSCustomObject]@{ Algorithms = @("Ethash", "FiroPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+firo" }
- [PSCustomObject]@{ Algorithms = @("Ethash", "KawPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+rvn" }
- [PSCustomObject]@{ Algorithms = @("Ethash", "MeowPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+meow" }
- [PSCustomObject]@{ Algorithms = @("Ethash", "VertHash"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(120, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } # 120 Secs; https://github.com/sp-hash/TeamBlackMiner/issues/427
- [PSCustomObject]@{ Algorithms = @("EthashB3"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethashb3" }
- [PSCustomObject]@{ Algorithms = @("EthashB3", "FiroPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(90, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+firo" }
- [PSCustomObject]@{ Algorithms = @("EthashB3", "EvrProgPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(90, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+evr" }
- [PSCustomObject]@{ Algorithms = @("EthashB3", "KawPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+rvn" }
- [PSCustomObject]@{ Algorithms = @("EthashB3", "MeowPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+meow" }
- [PSCustomObject]@{ Algorithms = @("EthashB3", "VertHash"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(120, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } # 120 Seconds; https://github.com/sp-hash/TeamBlackMiner/issues/427
- [PSCustomObject]@{ Algorithms = @("EvrProgPow"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo evrprogpow" }
- [PSCustomObject]@{ Algorithms = @("FiroPow"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo firopow" }
- [PSCustomObject]@{ Algorithms = @("KawPow"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo kawpow" }
- [PSCustomObject]@{ Algorithms = @("MeowPow"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo meowpow" }
- [PSCustomObject]@{ Algorithms = @("VertHash"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 3.0; MinerSet = 1; Tuning = ""; WarmupTimes = @(30, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo verthash --verthash-data ..\.$($Variables.VerthashDatPath)" }
+ [PSCustomObject]@{ Algorithms = @("EtcHash"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etchash" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool
+ [PSCustomObject]@{ Algorithms = @("EtcHash", "EthashB3"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(120, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @("ZergPool")); Arguments = " --algo etc+ethb3" } # https://github.com/sp-hash/TeamBlackMiner/issues/450
+ [PSCustomObject]@{ Algorithms = @("EtcHash", "EvrProgPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+evr" }
+ [PSCustomObject]@{ Algorithms = @("EtcHash", "FiroPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+firo" }
+ [PSCustomObject]@{ Algorithms = @("EtcHash", "KawPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @("HashCryptos", "MiningDutch")); Arguments = " --algo etc+rvn" }
+ [PSCustomObject]@{ Algorithms = @("EtcHash", "MeowPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+meow" }
+ [PSCustomObject]@{ Algorithms = @("EtcHash", "VertHash"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(120, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } # 120 Seconds; https://github.com/sp-hash/TeamBlackMiner/issues/427
+ [PSCustomObject]@{ Algorithms = @("Ethash"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethash" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool
+ [PSCustomObject]@{ Algorithms = @("Ethash", "EthashB3"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(120, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @("ZergPool")); Arguments = " --algo eth+ethb3" } # https://github.com/sp-hash/TeamBlackMiner/issues/450
+ [PSCustomObject]@{ Algorithms = @("Ethash", "EvrProgPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+evr" }
+ [PSCustomObject]@{ Algorithms = @("Ethash", "FiroPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+firo" }
+ [PSCustomObject]@{ Algorithms = @("Ethash", "KawPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @("HashCryptos", "MiningDutch")); Arguments = " --algo eth+rvn" }
+ [PSCustomObject]@{ Algorithms = @("Ethash", "MeowPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+meow" }
+ [PSCustomObject]@{ Algorithms = @("Ethash", "VertHash"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(120, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } # 120 Secs; https://github.com/sp-hash/TeamBlackMiner/issues/427
+ [PSCustomObject]@{ Algorithms = @("EthashB3"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethashb3" }
+ [PSCustomObject]@{ Algorithms = @("EthashB3", "FiroPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(90, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+firo" }
+ [PSCustomObject]@{ Algorithms = @("EthashB3", "EvrProgPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(90, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+evr" }
+ [PSCustomObject]@{ Algorithms = @("EthashB3", "KawPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @("HashCryptos", "MiningDutch")); Arguments = " --algo ethb3+rvn" }
+ [PSCustomObject]@{ Algorithms = @("EthashB3", "MeowPow"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+meow" }
+ [PSCustomObject]@{ Algorithms = @("EthashB3", "VertHash"); Type = "AMD"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = ""; WarmupTimes = @(120, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" } # 120 Seconds; https://github.com/sp-hash/TeamBlackMiner/issues/427
+ [PSCustomObject]@{ Algorithms = @("EvrProgPow"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo evrprogpow" }
+ [PSCustomObject]@{ Algorithms = @("FiroPow"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo firopow" }
+ [PSCustomObject]@{ Algorithms = @("KawPow"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@("HashCryptos", "MiningDutch"), @()); Arguments = " --algo kawpow" }
+ [PSCustomObject]@{ Algorithms = @("MeowPow"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = ""; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo meowpow" }
+ [PSCustomObject]@{ Algorithms = @("VertHash"); Type = "AMD"; Fee = @(0.005); MinMemGiB = 3.0; MinerSet = 1; Tuning = ""; WarmupTimes = @(30, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo verthash --verthash-data ..\.$($Variables.VerthashDatPath)" }
- [PSCustomObject]@{ Algorithms = @("EtcHash"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etchash" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool
- [PSCustomObject]@{ Algorithms = @("EtcHash", "EthashB3"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @("ZergPool")); Arguments = " --algo etc+ethb3" }
- [PSCustomObject]@{ Algorithms = @("EtcHash", "EvrProgPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+evr" }
- [PSCustomObject]@{ Algorithms = @("EtcHash", "FiroPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+firo" }
- [PSCustomObject]@{ Algorithms = @("EtcHash", "KawPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+rvn" }
- [PSCustomObject]@{ Algorithms = @("EtcHash", "MeowPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+meow" }
- [PSCustomObject]@{ Algorithms = @("EtcHash", "VertHash"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 20); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" }
- [PSCustomObject]@{ Algorithms = @("Ethash"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethash" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool
- [PSCustomObject]@{ Algorithms = @("Ethash", "EthashB3"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @("ZergPool")); Arguments = " --algo eth+ethb3" }
- [PSCustomObject]@{ Algorithms = @("Ethash", "EvrProgPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+evr" }
- [PSCustomObject]@{ Algorithms = @("Ethash", "FiroPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+firo" }
- [PSCustomObject]@{ Algorithms = @("Ethash", "KawPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 20); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+rvn" }
- [PSCustomObject]@{ Algorithms = @("Ethash", "MeowPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 20); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+meow" }
- [PSCustomObject]@{ Algorithms = @("Ethash", "VertHash"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.70; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 20); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" }
- [PSCustomObject]@{ Algorithms = @("EthashB3"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethashb3" }
- [PSCustomObject]@{ Algorithms = @("EthashB3", "EvrProgPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+evr" }
- [PSCustomObject]@{ Algorithms = @("EthashB3", "FiroPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+firo" }
- [PSCustomObject]@{ Algorithms = @("EthashB3", "KawPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+rvn" }
- [PSCustomObject]@{ Algorithms = @("EthashB3", "MeowPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+meow" }
- [PSCustomObject]@{ Algorithms = @("EthashB3", "VertHash"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.70; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" }
- [PSCustomObject]@{ Algorithms = @("EvrProgPow"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo evrprogpow" }
- [PSCustomObject]@{ Algorithms = @("FiroPow"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo firopow" }
- [PSCustomObject]@{ Algorithms = @("KawPow"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo kawpow" }
- [PSCustomObject]@{ Algorithms = @("MeowPow"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo meowpow" }
- [PSCustomObject]@{ Algorithms = @("VertHash"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 3.0; MinerSet = 0; Tuning = " --tweak 2"; WarmupTimes = @(30, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo verthash --verthash-data ..\.$($Variables.VerthashDatPath)" }
+ [PSCustomObject]@{ Algorithms = @("EtcHash"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etchash" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool
+ [PSCustomObject]@{ Algorithms = @("EtcHash", "EthashB3"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @("ZergPool")); Arguments = " --algo etc+ethb3" }
+ [PSCustomObject]@{ Algorithms = @("EtcHash", "EvrProgPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+evr" }
+ [PSCustomObject]@{ Algorithms = @("EtcHash", "FiroPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+firo" }
+ [PSCustomObject]@{ Algorithms = @("EtcHash", "KawPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @("HashCryptos", "MiningDutch")); Arguments = " --algo etc+rvn" }
+ [PSCustomObject]@{ Algorithms = @("EtcHash", "MeowPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+meow" }
+ [PSCustomObject]@{ Algorithms = @("EtcHash", "VertHash"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 20); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo etc+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" }
+ [PSCustomObject]@{ Algorithms = @("Ethash"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo ethash" } # PhoenixMiner-v6.2c may be faster, but I see lower speed at the pool
+ [PSCustomObject]@{ Algorithms = @("Ethash", "EthashB3"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @("ZergPool")); Arguments = " --algo eth+ethb3" }
+ [PSCustomObject]@{ Algorithms = @("Ethash", "EvrProgPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @("HashCryptos", "MiningDutch")); Arguments = " --algo eth+evr" }
+ [PSCustomObject]@{ Algorithms = @("Ethash", "FiroPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+firo" }
+ [PSCustomObject]@{ Algorithms = @("Ethash", "KawPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 20); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @("HashCryptos", "MiningDutch")); Arguments = " --algo eth+rvn" }
+ [PSCustomObject]@{ Algorithms = @("Ethash", "MeowPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 20); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+meow" }
+ [PSCustomObject]@{ Algorithms = @("Ethash", "VertHash"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.70; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 20); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo eth+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" }
+ [PSCustomObject]@{ Algorithms = @("EthashB3"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(45, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethashb3" }
+ [PSCustomObject]@{ Algorithms = @("EthashB3", "EvrProgPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+evr" }
+ [PSCustomObject]@{ Algorithms = @("EthashB3", "FiroPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+firo" }
+ [PSCustomObject]@{ Algorithms = @("EthashB3", "KawPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @("HashCryptos", "MiningDutch")); Arguments = " --algo ethb3+rvn" }
+ [PSCustomObject]@{ Algorithms = @("EthashB3", "MeowPow"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.51; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+meow" }
+ [PSCustomObject]@{ Algorithms = @("EthashB3", "VertHash"); Type = "NVIDIA"; Fee = @(0.005, 0.005); MinMemGiB = 1.70; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(45, 45); ExcludeGPUArchitecture = @(); ExcludePools = @(@("ZergPool"), @()); Arguments = " --algo ethb3+vtc --verthash-data ..\.$($Variables.VerthashDatPath)" }
+ [PSCustomObject]@{ Algorithms = @("EvrProgPow"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 1; Tuning = " --tweak 2"; WarmupTimes = @(90, 15); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo evrprogpow" }
+ [PSCustomObject]@{ Algorithms = @("FiroPow"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(90, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo firopow" }
+ [PSCustomObject]@{ Algorithms = @("KawPow"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@("HashCryptos", "MiningDutch"), @()); Arguments = " --algo kawpow" }
+ [PSCustomObject]@{ Algorithms = @("MeowPow"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 1.24; MinerSet = 2; Tuning = " --tweak 2"; WarmupTimes = @(45, 30); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo meowpow" }
+ [PSCustomObject]@{ Algorithms = @("VertHash"); Type = "NVIDIA"; Fee = @(0.005); MinMemGiB = 3.0; MinerSet = 0; Tuning = " --tweak 2"; WarmupTimes = @(30, 0); ExcludeGPUArchitecture = @(); ExcludePools = @(@(), @()); Arguments = " --algo verthash --verthash-data ..\.$($Variables.VerthashDatPath)" }
)
$Algorithms = $Algorithms.Where({ $_.MinerSet -le $Config.MinerSet })
@@ -100,7 +100,7 @@ If ($Algorithms) {
($Algorithms | Where-Object Type -EQ $_.Type).ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
If ($_.Algorithms -contains "VertHash" -and (Get-Item -Path $Variables.VerthashDatPath -ErrorAction Ignore).length -ne 1283457024) {
$PrerequisitePath = $Variables.VerthashDatPath
@@ -119,7 +119,7 @@ If ($Algorithms) {
If (-not $_.Algorithms[1] -or ($Pool0.PoolPorts[0] -and $Pool1.PoolPorts[0]) -or ($Pool0.PoolPorts[1] -and $Pool1.PoolPorts[1])) {
$MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })$(If ($_.Intensity) { "-$($_.Intensity)" })"
@@ -130,12 +130,13 @@ If ($Algorithms) {
If ($Pool0.Pass) { $Arguments += " --server-passwd $($Pool0.Pass)" }
$SecondAlgo = Switch ($_.Algorithms[1]) {
- "EthashB3" { "ethb3" }
- "FiroPow" { "firo" }
- "KawPow" { "rvn" }
- "MeowPow" { "meow" }
- "VertHash" { "vtc" }
- Default { "" }
+ "EthashB3" { "ethb3" }
+ "EvrProgPow" { "evr" }
+ "FiroPow" { "firo" }
+ "KawPow" { "rvn" }
+ "MeowPow" { "meow" }
+ "VertHash" { "vtc" }
+ Default { "" }
}
If ($SecondAlgo) {
$Arguments += " --$($SecondAlgo)-hostname $($Pool1.Host) --$($SecondAlgo)-wallet $($Pool1.User) --$($SecondAlgo)-passwd $($Pool1.Pass)"
diff --git a/Miners/TeamRedMiner-v0.10.21.ps1 b/Miners/TeamRedMiner-v0.10.21.ps1
index efea0439..71e96d46 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -eq "AMD" -and $_.OpenCL.ClVersion -ge "OpenCL C 2.0" }))) { Return }
@@ -104,7 +104,7 @@ If ($Algorithms) {
$Algorithms.ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
If ($_.Algorithms -contains "VertHash" -and (Get-Item -Path $Variables.VerthashDatPath -ErrorAction Ignore).length -ne 1283457024) {
$PrerequisitePath = $Variables.VerthashDatPath
@@ -120,7 +120,7 @@ If ($Algorithms) {
ForEach ($Pool1 in $MinerPools[1][$_.Algorithms[1]].Where({ $_.Name -notin $ExcludePools[1] -and ($Config.SSL -ne "Always" -or $_.SSLSelfSignedCertificate -ne $true) })) {
$MinMemGiB = $_.MinMemGiB + $Pool0.DAGSizeGiB + $Pool1.DAGSizeGiB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })"
diff --git a/Miners/Trex-v0.26.8.ps1 b/Miners/Trex-v0.26.8.ps1
index ad112853..9e87ddf4 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return }
diff --git a/Miners/Wildrig-v0.40.5.ps1 b/Miners/Wildrig-v0.40.5.ps1
index 6e3ca0f2..63b707a0 100644
--- a/Miners/Wildrig-v0.40.5.ps1
+++ b/Miners/Wildrig-v0.40.5.ps1
@@ -18,7 +18,7 @@ along with this program. If not, see .
<#
Product: UG-Miner
Version: 6.2.9
-Version date: 2024/06/23
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ ($_.Type -eq "AMD" -and $_.OpenCL.ClVersion -ge "OpenCL C 1.2") -or $_.Type -eq "INTEL" -or ($_.OpenCL.ComputeCapability -ge "5.0" -and $_.OpenCL.DriverVersion -ge [Version]"452.39.00") }))) { Return }
@@ -270,13 +270,13 @@ If ($Algorithms) {
($Algorithms | Where-Object Type -EQ $_.Type).ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Architecture -notmatch $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notmatch $ExcludeGPUArchitecture })) {
$ExcludePools = $_.ExcludePools
ForEach ($Pool in $MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools })) {
$MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)"
diff --git a/Miners/XmRig-v6.21.3.15.ps1 b/Miners/XmRig-v6.21.3.15.ps1
index 471cff42..ba25972c 100644
--- a/Miners/XmRig-v6.21.3.15.ps1
+++ b/Miners/XmRig-v6.21.3.15.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.Type -in @("AMD", "CPU", "INTEL") -or $_.OpenCL.ComputeCapability -gt "5.0" }))) { Return }
diff --git a/Miners/XmrStak-v2.10.8.ps1 b/Miners/XmrStak-v2.10.8.ps1
index d6bf6418..60ca99d1 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" -and $_.OpenCL.ComputeCapability -lt "8.6" }))) { Return }
diff --git a/Miners/ZealotEnemy-v2.6.2.ps1 b/Miners/ZealotEnemy-v2.6.2.ps1
index 0f5148bb..4a3b0226 100644
--- a/Miners/ZealotEnemy-v2.6.2.ps1
+++ b/Miners/ZealotEnemy-v2.6.2.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -gt "5.0" }))) { Return }
@@ -70,7 +70,7 @@ If ($Algorithms) {
$Algorithms.ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
# $ExcludePools = $_.ExcludePools
# ForEach ($Pool in $MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools })) {
@@ -78,7 +78,7 @@ If ($Algorithms) {
$MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB
If ($_.Algorithm -eq "KawPow" -and $MinMemGB -lt 2) { $MinMemGiB = 4 } # No hash rates in time for GPUs with 2GB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)"
diff --git a/Miners/ZealotEnemy-v2.6.3.ps1 b/Miners/ZealotEnemy-v2.6.3.ps1
index ce113a56..15b4b89c 100644
--- a/Miners/ZealotEnemy-v2.6.3.ps1
+++ b/Miners/ZealotEnemy-v2.6.3.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
If (-not ($Devices = $Variables.EnabledDevices.Where({ $_.OpenCL.ComputeCapability -ge "5.0" }))) { Return }
@@ -66,7 +66,7 @@ If ($Algorithms) {
$Algorithms.ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notin $ExcludeGPUArchitecture })) {
# $ExcludePools = $_.ExcludePools
# ForEach ($Pool in $MinerPools[0][$_.Algorithm].Where({ $_.Name -notin $ExcludePools })) {
@@ -74,7 +74,7 @@ If ($Algorithms) {
$MinMemGiB = $_.MinMemGiB + $Pool.DAGSizeGiB
If ($_.Algorithm -eq "KawPow" -and $MinMemGB -lt 2) { $MinMemGiB = 4 } # No hash rates in time for GPUs with 2GB
- If ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool.AlgorithmVariant)"
diff --git a/Miners/lolMiner-v1.88.ps1 b/Miners/lolMiner-v1.88.ps1
index 0cafd416..16ec93f5 100644
--- a/Miners/lolMiner-v1.88.ps1
+++ b/Miners/lolMiner-v1.88.ps1
@@ -17,8 +17,8 @@ along with this program. If not, see .
<#
Product: UG-Miner
-Version: 6.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
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 }
@@ -151,7 +151,7 @@ If ($Algorithms) {
($Algorithms | Where-Object Type -EQ $_.Type).ForEach(
{
$ExcludeGPUArchitecture = $_.ExcludeGPUArchitecture
- If ($AvailableMinerDevices = $MinerDevices.Where({ $_.Architecture -notmatch $ExcludeGPUArchitecture })) {
+ If ($SupportedMinerDevices = $MinerDevices.Where({ $_.Architecture -notmatch $ExcludeGPUArchitecture })) {
$ExcludePools = $_.ExcludePools
ForEach ($Pool0 in $MinerPools[0][$_.Algorithms[0]].Where({ $_.Name -notin $ExcludePools[0] })) {
@@ -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 ($AvailableMinerDevices = $AvailableMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
+ If ($AvailableMinerDevices = $SupportedMinerDevices.Where({ $_.MemoryGiB -ge $MinMemGiB })) {
$MinerName = "$Name-$($AvailableMinerDevices.Count)x$($AvailableMinerDevices.Model | Select-Object -Unique)-$($Pool0.AlgorithmVariant)$(If ($Pool1) { "&$($Pool1.AlgorithmVariant)" })$(If ($_.MaxDualImpact -gt 0) { "-$($_.MaxDualImpact)" })"
diff --git a/Pools/HashCryptos.ps1 b/Pools/HashCryptos.ps1
index ca632598..71745926 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Param(
diff --git a/Pools/HiveON.ps1 b/Pools/HiveON.ps1
index 31d02643..c4794a7f 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Param(
diff --git a/Pools/MiningDutch.ps1 b/Pools/MiningDutch.ps1
index bed38cce..9b7a8d12 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Param(
diff --git a/Pools/MiningPoolHub.ps1 b/Pools/MiningPoolHub.ps1
index a4d1b67c..d3907387 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Param(
diff --git a/Pools/NiceHash.ps1 b/Pools/NiceHash.ps1
index aff2e1a1..d54aeb4a 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Param(
diff --git a/Pools/ProHashing.ps1 b/Pools/ProHashing.ps1
index f52b502f..3861e5f1 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Param(
diff --git a/Pools/ZPool.ps1 b/Pools/ZPool.ps1
index d159c551..a1644de0 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Param(
diff --git a/Pools/ZergPool.ps1 b/Pools/ZergPool.ps1
index 1a446b7c..39f47093 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
Param(
@@ -95,7 +95,7 @@ If ($DivisorMultiplier -and $Regions) {
Disabled = $Stat.Disabled
EarningsAdjustmentFactor = $PoolConfig.EarningsAdjustmentFactor
Fee = $Request.$Pool.Fees / 100
- Host = $PoolHost
+ Host = $PoolHost.toLower()
Key = $Key
MiningCurrency = If ($Currency) { $Currency } Else { "" }
Name = $Name
diff --git a/UG-Miner.ps1 b/UG-Miner.ps1
index de6e30e3..a090d0f8 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.2.11
-Version date: 2024/06/23
+Version: 6.2.12
+Version date: 2024/06/26
#>
using module .\Includes\Include.psm1
@@ -296,7 +296,7 @@ $Variables.Branding = [PSCustomObject]@{
BrandName = "UG-Miner"
BrandWebSite = "https://github.com/UselessGuru/UG-Miner"
ProductLabel = "UG-Miner"
- Version = [System.Version]"6.2.11"
+ Version = [System.Version]"6.2.12"
}
$WscriptShell = New-Object -ComObject Wscript.Shell
@@ -350,7 +350,7 @@ $Variables.AllCommandLineParameters = [Ordered]@{ }
)
$Variables.MutexAddCoinName = New-Object System.Threading.Mutex($false, "$($Variables.Branding.ProductLabel)_Add-CoinName")
-$Variables.MutexWriteMessage = New-Object System.Threading.Mutex($false, "$($Variables.Branding.ProductLabel)_WriteMessage")
+$Variables.MutexWriteMessage = New-Object System.Threading.Mutex($false, "$($Variables.Branding.ProductLabel)_Write-Message")
Write-Host "$($Variables.Branding.ProductLabel) is getting ready. Please wait..."
@@ -558,7 +558,7 @@ Function MainLoop {
$Variables.Summary = "Resuming mining.
System has been idle for $($Config.IdleSec) second$(If ($Config.IdleSec -ne 1) { "s" })."
Write-Message -Level Verbose ($Variables.Summary -replace '
', ' ')
Write-Host ($Variables.Summary -replace '
', ' ')
- $MiningSummaryLabel.Text = ($Variables.Summary -replace '
', ' ')
+ $LegacyGUIminingSummaryLabel.Text = ($Variables.Summary -replace '
', ' ')
}
If ($LegacyGUIform) { Update-GUIstatus }
Start-Core
@@ -589,7 +589,7 @@ Function MainLoop {
}
# If something (pause button, idle timer, WebGUI/config) has set the RestartCycle flag, stop and start mining to switch modes immediately
- If ($Variables.RestartCycle -or ($LegacyGUIform -and -not $MiningSummaryLabel.Text)) {
+ If ($Variables.RestartCycle -or ($LegacyGUIform -and -not $LegacyGUIminingSummaryLabel.Text)) {
$Variables.RestartCycle = $false
If ($Config.WebGUI) { Start-APIServer } Else { Stop-APIServer }
@@ -860,24 +860,24 @@ Function MainLoop {
If ($Config.WebGUI) { Start-APIServer } Else { Stop-APIServer }
$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) {
- $LegacyGUIForm.Text = $host.UI.RawUI.WindowTitle
+ If ($LegacyGUIform) {
+ $LegacyGUIform.Text = $host.UI.RawUI.WindowTitle
# Refresh selected tab
Update-TabControl
If ($Variables.MyIP) {
- $MiningSummaryLabel.Text = ""
- $MiningSummaryLabel.SendToBack()
- (($Variables.Summary -replace 'Power Cost', '
Power Cost' -replace ' / ', '/' -replace ' ', ' ' -replace ' ', ' ') -split '
').ForEach({ $MiningSummaryLabel.Text += "`r`n$_" })
- $MiningSummaryLabel.Text += "`r`n "
- If ($Variables.MiningProfit -ge 0) { $MiningSummaryLabel.ForeColor = [System.Drawing.Color]::Green }
- ElseIf ($Variables.MiningProfit -lt 0) { $MiningSummaryLabel.ForeColor = [System.Drawing.Color]::Red }
- Else { $MiningSummaryLabel.ForeColor = [System.Drawing.Color]::Black }
+ $LegacyGUIminingSummaryLabel.Text = ""
+ $LegacyGUIminingSummaryLabel.SendToBack()
+ (($Variables.Summary -replace 'Power Cost', '
Power Cost' -replace ' / ', '/' -replace ' ', ' ' -replace ' ', ' ') -split '
').ForEach({ $LegacyGUIminingSummaryLabel.Text += "`r`n$_" })
+ $LegacyGUIminingSummaryLabel.Text += "`r`n "
+ If ($Variables.MiningProfit -ge 0) { $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Green }
+ ElseIf ($Variables.MiningProfit -lt 0) { $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Red }
+ Else { $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Black }
}
Else {
Write-Message -Level Error $Variables.Message
- $MiningSummaryLabel.ForeColor = [System.Drawing.Color]::Red
- $MiningSummaryLabel.Text = "Error: $($Variables.Summary)"
+ $LegacyGUIminingSummaryLabel.ForeColor = [System.Drawing.Color]::Red
+ $LegacyGUIminingSummaryLabel.Text = "Error: $($Variables.Summary)"
}
}
@@ -907,7 +907,7 @@ Function MainLoop {
Write-Host "Projected payment date: $(If ($_.ProjectedPayDate -is [DateTime]) { $_.ProjectedPayDate.ToString("G") } Else { $_.ProjectedPayDate })`n"
}
)
- Remove-Variable Currency -ErrorAction Ignore
+ Remove-Variable Currency, mBTCfactor -ErrorAction Ignore
}
If ($Variables.MyIP) {
@@ -917,10 +917,10 @@ Function MainLoop {
@{ Label = "Miner"; Expression = { $_.Name } }
If ($Variables.ShowEarningBias) { @{ Label = "EarningBias"; Expression = { If ([Double]::IsNaN($_.Earning_Bias)) { "n/a" } Else { "{0:n$($Config.DecimalsMax)}" -f ($_.Earning_Bias * $Variables.Rates.($Config.PayoutCurrency).($Config.MainCurrency)) } }; Align = "right" } }
If ($Variables.ShowEarning) { @{ Label = "Earning"; Expression = { If ([Double]::IsNaN($_.Earning)) { "n/a" } Else { "{0:n$($Config.DecimalsMax)}" -f ($_.Earning * $Variables.Rates.($Config.PayoutCurrency).($Config.MainCurrency)) } }; Align = "right" } }
+ If ($Variables.ShowPowerCost -and $Config.CalculatePowerCost -and $Variables.MiningPowerCost) { @{ Label = "PowerCost"; Expression = { If ([Double]::IsNaN($_.PowerConsumption)) { "n/a" } Else { "-{0:n$($Config.DecimalsMax)}" -f ($_.PowerCost * $Variables.Rates.($Config.PayoutCurrency).($Config.MainCurrency)) } }; Align = "right" } }
If ($Variables.MiningPowerCost -and $Variables.ShowProfitBias) { @{ Label = "ProfitBias"; Expression = { If ([Double]::IsNaN($_.Profit_Bias)) { "n/a" } Else { "{0:n$($Config.DecimalsMax)}" -f ($_.Profit_Bias * $Variables.Rates.($Config.PayoutCurrency).($Config.MainCurrency)) } }; Align = "right" } }
If ($Variables.MiningPowerCost -and $Variables.ShowProfit) { @{ Label = "Profit"; Expression = { If ([Double]::IsNaN($_.Profit)) { "n/a" } Else { "{0:n$($Config.DecimalsMax)}" -f ($_.Profit * $Variables.Rates.($Config.PayoutCurrency).($Config.MainCurrency)) } }; Align = "right" } }
If ($Variables.ShowPowerConsumption -and $Config.CalculatePowerCost) { @{ Label = "PowerConsumption"; Expression = { If ($_.MeasurePowerConsumption) { If ($_.Status -eq "Running") { "Measuring..." } Else { "Unmeasured" } } Else { If ([Double]::IsNaN($_.PowerConsumption)) { "n/a" } Else { "$($_.PowerConsumption.ToString("N2")) W" } } }; Align = "right" } }
- If ($Variables.ShowPowerCost -and $Config.CalculatePowerCost -and $Variables.MiningPowerCost) { @{ Label = "PowerCost"; Expression = { If ([Double]::IsNaN($_.PowerConsumption)) { "n/a" } Else { "-{0:n$($Config.DecimalsMax)}" -f ($_.PowerCost * $Variables.Rates.($Config.PayoutCurrency).($Config.MainCurrency)) } }; Align = "right" } }
If ($Variables.ShowAccuracy) { @{ Label = "Accuracy"; Expression = { $_.Workers.Pool.Accuracy.ForEach({ "{0:P0}" -f [Double]$_ }) }; Align = "right" } }
@{ Label = "Algorithm"; Expression = { $_.Workers.Pool.Algorithm -join ' & ' } }
If ($Variables.ShowMinerFee -and ($Variables.Miners.Workers.Fee)) { @{ Label = "Fee"; Expression = { $_.Workers.Fee.ForEach({ "{0:P2}" -f [Double]$_ }) }; Align = "right" } }
@@ -1072,7 +1072,6 @@ While ($true) {
If ($Config.LegacyGUI) {
If (-not $LegacyGUIform.CanSelect) {
. .\Includes\LegacyGUI.ps1
- Form-Resize
}
# Show legacy GUI
$LegacyGUIform.ShowDialog() | Out-Null
diff --git a/Version.txt b/Version.txt
index db19aac9..c24960a8 100644
--- a/Version.txt
+++ b/Version.txt
@@ -1,6 +1,6 @@
{
"Product": "UG-Miner",
- "Version": "6.2.11",
+ "Version": "6.2.12",
"AutoUpdate": true,
"RequireRestart": true,
"Uri": "https://github.com/UselessGuru/UG-Miner/archive/refs/heads/master.zip",
diff --git a/Web/js/utilities.js b/Web/js/utilities.js
index e6b04a12..1ba7c0cc 100644
--- a/Web/js/utilities.js
+++ b/Web/js/utilities.js
@@ -132,7 +132,7 @@ function formatTime(seconds) {
}
function formatDuration(value) {
- return formatTime(parseInt(value.split(':')[0] * 60 * 60) + parseInt(value.split(':')[1] * 60) + parseInt(value.split(':')[2]))
+ return formatTime(parseInt(value.split(':')[0] * 3600) + parseInt(value.split(':')[1] * 60) + parseInt(value.split(':')[2]))
}
function formatHashrateValue(value) {
diff --git a/Web/minersall.html b/Web/minersall.html
index 8a356378..f5a1073a 100644
--- a/Web/minersall.html
+++ b/Web/minersall.html
@@ -24,7 +24,6 @@
All miners
data-detail-view="true"
data-disable-control-when-search="true"
data-filter-control="true"
- data-group-by="true"
data-group-by-collapsed-groups=""
data-group-by-field="Name"
data-group-by-show-toggle-icon="true"
@@ -120,13 +119,16 @@ All miners
async: 'true',
autoRefreshInterval: parseInt(Math.max(config.Interval, 30)), // refresh once per interval, at least 30 seconds
height: $(window).height() - $table.offset().top + 26,
-
+ groupBy: !config.MinerUseBestPoolsOnly,
onPostBody: function () {
+ // $table.bootstrapTable({ groupBy: false})
if (this.data.length > 0) {
- $("td.bs-checkbox").each(function () {
- this.disabled = 'true';
- this.style.opacity = 0;
- });
+ if (!config.MinerUseBestPoolsOnly) {
+ $("td.bs-checkbox").each(function () {
+ this.disabled = 'true';
+ this.style.opacity = 0;
+ });
+ };
if (config.UseColorForMinerStatus == true) {
$(".statuscolor").each(function () {
if (this.innerText) $(this).parent('tr').addClass('color-' + this.innerText.toLowerCase());
diff --git a/Web/parts/head - Copy.html b/Web/parts/head - Copy.html
deleted file mode 100644
index 488ec211..00000000
--- a/Web/parts/head - Copy.html
+++ /dev/null
@@ -1,313 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-