Skip to content

Commit

Permalink
Updated to Version 3.4.5
Browse files Browse the repository at this point in the history
  • Loading branch information
Useless Guru committed Jul 21, 2019
1 parent bb50bea commit f10eb21
Show file tree
Hide file tree
Showing 55 changed files with 1,253 additions and 1,167 deletions.
22 changes: 22 additions & 0 deletions AlgoCoinPers.txt
@@ -0,0 +1,22 @@
{
"Equihash1445": {
"ManagedByPool": "auto",
"Anon": "AnonyPoW",
"Bitcoingold": "BgoldPoW",
"Bitcoinz": "BitcoinZ",
"Snowgem": "sngemPoW",
"LitecoinZ": "ZcashPoW"
},
"Equihash1927": {
"ManagedByPool": "auto",
"Safecoin": "Safecoin",
"Zero": "ZERO_PoW",
"Zerocoin": "ZERO_PoW"
},
"Progpow92": {
"ManagedByPool": "auto",
"SuperSero": "sero",
"Hora": "hora"
}
}

25 changes: 20 additions & 5 deletions ChangeLog.txt
@@ -1,27 +1,42 @@
## Changelog Version 3.4.5

## Core changes
- Added config parameter '-DisableEstimateCorrection'; reduce the algo price by a correction factor (actual_last24h / estimate_last24h) to counter pool overestimated prices
- Changed funtion Get-EquihasPers to Get-AlgoCoinPers & EquihashPers.txt to AlgoCoinPers.txt
- List pool names being queried for pricing information
- Use only configured devices when API becomes available
- Use only configured devices when API becomes available
- Workround when module 'ThreadJob' cannot be loaded: use normal 'Start-Job'

#### Miner changes
- Added AMD-SgminerFancyIX_v0.6.0.0; support for Allium, Argon2Ddyn, Lyra2v3, Lyra2z, Lyra2zz, MTP, Phi2, X22i & X25x
- Added NVIDIA-CcminerBMW512.ps1; support for BMW512
- Added NVIDIA-CcminerBMW512; support for BMW512
- Fixed AMD-SgminerFancyIX_v0.6.0.0; algorithm Argon2d was broken
- Fixed AMD_NVIDIA-PhoenixminerEthash_v4.2c, does not work with AMD driver versions 2841.5, 2841.19 or 2906.8
- Fixed AMD-TeamRed_v0.5.5; enabled detection of failed GPUs
- Fixed NVIDIA-CcminerMTP_v1.1.23; requires CUDA 10.1.00 or higher
- Updated AMD_CPU_NVIDIA-NanoMiner_v1.5.0; support for Cuckarood29 and RandomHash (CPU only)
- Updated AMD_NVIDIA-lolMiner_v0.84; removed 'Equihash' from its name 'cause it does non Equihash algos as well
- Fixed WarmupTime for Sgminer*; allow up to 90 seconds to build binaries
- Updated AMD_CPU_NVIDIA-NanoMiner_v1.5.2; support for Cuckarood29 and RandomHash (CPU only), added Ethash binaries for AMD Radeon RX 5700 and AMD Radeon RX 5700 XT cards
- Updated AMD_NVIDIA-BMiner_v15.7.2; support for Cuckarood29
- Updated AMD_NVIDIA-Gminer_v1.52; support for Cuckarood29
- Updated AMD_NVIDIA-lolMiner_v0.85; removed 'Equihash' from its name 'cause it does non Equihash algos as well
- Updated AMD-SRBMinerCryptonight_v1.9.1
- Updated AMD-WildRig_v0.18.0; suppport for GltGlobalHash
- Updated CPU-Jayddee_v3.9.6.1; crash mining Hodl with aes-sse42
- Updated NVIDIA-CcminerKlausT_v8.25
- Updated NVIDIA-CcminerZenemy_v2.1
- Updated NVIDIA-NBMiner_v23.3; support for Cuckarood29
- Updated NVIDIA-TTMiner_v2.2.6; support for Cuckarood29


#### Pool changes
- Fixed BlockMasters; did not return any objects
- Implement workaround for Zpool(Coins) anti-DDoS protect (pool allows only 6 API calls per minute)
- Nicehash: Use API v2 (new Nicehash)
- Support for new config parameter '-DisableEstimateCorrection'

#### Balances changes
- Implement workaround for Zpool(Coins) anti-DDoS protect (pool allows only 6 API calls per minute)
- Nicehash: Request API v1 & v2 (new Nicehash) and sum up the values
- Nicehash: Request API v1 (old Nicehash) & v2 (Nicehash)

## Changelog Version 3.4.4

Expand Down
1 change: 1 addition & 0 deletions CoinNames.txt
Expand Up @@ -35,6 +35,7 @@
"Garlic": "GarliCoin",
"Gin": "GinCoin",
"Globalboosty": "GlobalboostY",
"Globaltoken": "GlobalToken",
"Grandmaster": "GrandmasterCoin",
"Groestl": "GroestlCoin",
"Gulden": "GuldenCoin",
Expand Down
12 changes: 0 additions & 12 deletions EquihashPers.txt

This file was deleted.

39 changes: 22 additions & 17 deletions Include.psm1
Expand Up @@ -325,7 +325,7 @@ function Get-ParameterPerDevice {
# supported separators are listed in brackets: [ =]+
$ParameterValueSeparator = $Matches[0]
$Parameter = $Token -split $ParameterValueSeparator | Select-Object -Index 0
$Values = $Token.Substring(("$($Parameter)$($ParameterValueSeparator)").length)
$Values = $Token.Substring(("$Parameter$($ParameterValueSeparator)").length)

if ($Values -match "(?:[,; ]{1})") {
# supported separators are listed in brackets: [,; ]{1}
Expand All @@ -335,11 +335,11 @@ function Get-ParameterPerDevice {
if ($Values.Split($ValueSeparator) | Select-Object -Index $_) {$RelevantValues += ($Values.Split($ValueSeparator) | Select-Object -Index $_)}
else {$RelevantValues += ""}
}
$ParameterPerDevice += "$($Prefix)$($Parameter)$($ParameterValueSeparator)$(($RelevantValues -join $ValueSeparator).TrimEnd($ValueSeparator))"
$ParameterPerDevice += "$Prefix$Parameter$ParameterValueSeparator$(($RelevantValues -join $ValueSeparator).TrimEnd($ValueSeparator))"
}
else {$ParameterPerDevice += "$($Prefix)$($Parameter)$($ParameterValueSeparator)$($Values)"}
else {$ParameterPerDevice += "$Prefix$Parameter$ParameterValueSeparator$Values"}
}
else {$ParameterPerDevice += "$($Prefix)$($Token)"}
else {$ParameterPerDevice += "$Prefix$Token"}
}
else {$ParameterPerDevice += $Token}
}
Expand Down Expand Up @@ -462,7 +462,7 @@ function Set-Stat {

if ($ChangeDetection -and [Decimal]$Value -eq [Decimal]$Stat.Live) {$Updated = $Stat.updated}

if (($Value -lt $ToleranceMin -or $Value -gt $ToleranceMax) -and ($Stat.ToleranceExceeded -lt 3)) {
if (($Value -lt $ToleranceMin -or $Value -gt $ToleranceMax) -and ($Stat.ToleranceExceeded -lt 3) -and $ToleranceMin) { #Update immediately if stat value is 0
$Stat.ToleranceExceeded ++
if ($Name -match ".+_HashRate$") {
Write-Log -Level Warn "Stat file ($Name) was not updated because the value ($(($Value | ConvertTo-Hash) -replace '\s+', '')) is outside fault tolerance ($(($ToleranceMin | ConvertTo-Hash) -replace '\s+', ' ') to $(($ToleranceMax | ConvertTo-Hash) -replace '\s+', ' ')) [$($Stat.ToleranceExceeded) of 3 until enforced update]. "
Expand All @@ -472,12 +472,14 @@ function Set-Stat {
}
}
else {
if ($Stat.ToleranceExceeded -ge 3) {
if ($Name -match ".+_HashRate$") {
Write-Log -Level Warn "Stat file ($Name) was forcefully updated with value ($(($Value | ConvertTo-Hash) -replace '\s+', '')) because it was outside fault tolerance ($(($ToleranceMin | ConvertTo-Hash) -replace '\s+', ' ')) to $(($ToleranceMax | ConvertTo-Hash) -replace '\s+', ' ')) for $($Stat.ToleranceExceeded) times in a row. "
}
else {
Write-Log -Level Warn "Stat file ($Name) was forcefully updated with value ($($Value.ToString("N2"))W) because it was outside fault tolerance ($($ToleranceMin.ToString("N2"))W to $($ToleranceMax.ToString("N2"))W) for $($Stat.ToleranceExceeded) times in a row. "
if ($Stat.ToleranceExceeded -ge 3 -or (-not $ToleranceMin)) { #Update immediately if stat value is 0
if ($ToleranceMin) {
if ($Name -match ".+_HashRate$") {
Write-Log -Level Warn "Stat file ($Name) was forcefully updated with value ($(($Value | ConvertTo-Hash) -replace '\s+', '')) because it was outside fault tolerance ($(($ToleranceMin | ConvertTo-Hash) -replace '\s+', ' ')) to $(($ToleranceMax | ConvertTo-Hash) -replace '\s+', ' ')) for $($Stat.ToleranceExceeded) times in a row. "
}
else {
Write-Log -Level Warn "Stat file ($Name) was forcefully updated with value ($($Value.ToString("N2"))W) because it was outside fault tolerance ($($ToleranceMin.ToString("N2"))W to $($ToleranceMax.ToString("N2"))W) for $($Stat.ToleranceExceeded) times in a row. "
}
}
$Stat = [PSCustomObject]@{
Live = $Value
Expand Down Expand Up @@ -628,16 +630,17 @@ function Get-ChildItemContent {
[Parameter(Mandatory = $false)]
[Switch]$Threaded = $false
)
if ($Parameters.JobName) {$JobName = $Parameters.JobName} else {$JobName = "JobName"}

$Job = Start-ThreadJob -InitializationScript ([scriptblock]::Create("Set-Location('$(Get-Location)')")) -Name $Parameters.JobName -ScriptBlock {
$Job = Start-Job -InitializationScript ([scriptblock]::Create("Set-Location('$(Get-Location)')")) -Name $JobName -ScriptBlock {
param(
[Parameter(Mandatory = $true)]
[String]$Path,
[Parameter(Mandatory = $false)]
[Hashtable]$Parameters = @{}
)

([System.Diagnostics.Process]::GetCurrentProcess()).PriorityClass = 'BelowNormal'
if (-not (Get-Module -Name "ThreadJob")) {([System.Diagnostics.Process]::GetCurrentProcess()).PriorityClass = 'BelowNormal'}

function Invoke-ExpressionRecursive ($Expression) {
if ($Expression -is [String]) {
Expand Down Expand Up @@ -1209,9 +1212,11 @@ function Get-Region {
else {$Region}
}

function Get-EquihashPers {
function Get-AlgoCoinPers {
[CmdletBinding()]
param(
[Parameter(Mandatory = $true)]
[String]$Algorithm = "",
[Parameter(Mandatory = $true)]
[AllowEmptyString()]
[String]$CoinName = "",
Expand All @@ -1220,11 +1225,11 @@ function Get-EquihashPers {
[String]$Default = ""
)

if (-not (Test-Path Variable:Script:EquihashPers -ErrorAction SilentlyContinue)) {
$Script:EquihashPers = Get-Content "EquihashPers.txt" | ConvertFrom-Json
if (-not (Test-Path Variable:Script:AlgoCoinPers -ErrorAction SilentlyContinue)) {
$Script:AlgoCoinPers = Get-Content "AlgoCoinPers.txt" | ConvertFrom-Json
}

if ($Script:EquihashPers.$CoinName) {$Script:EquihashPers.$CoinName}
if ($Script:AlgoCoinPers.$Algorithm.$CoinName) {$Script:AlgoCoinPers.$Algorithm.$CoinName}
else {$Default}
}

Expand Down
Expand Up @@ -9,8 +9,8 @@ param(

$Name = "$(Get-Item $MyInvocation.MyCommand.Path | Select-Object -ExpandProperty BaseName)"
$Path = ".\Bin\$($Name)\SRBMiner-CN.exe"
$HashSHA256 = "BBD1D7AAA304AFA64CEDE1ED5A577A8C0BC7F507D54A79C8DB2FA2718FE63169"
$Uri = "https://github.com/MultiPoolMiner/miner-binaries/releases/download/SRBMiner/SRBMiner-CN-V1-9-0.zip"
$HashSHA256 = "8B6DEA9470CB6223AC97592225A8C4E2480DF4697DB132C0DC1273BA292C05CB"
$Uri = "https://github.com/MultiPoolMiner/miner-binaries/releases/download/SRBMiner/SRBMiner-CN-V1-9-1.zip"
$ManualUri = "https://bitcointalk.org/index.php?topic=3167363.0"

$Miner_Version = Get-MinerVersion $Name
Expand All @@ -29,34 +29,35 @@ else {
[PSCustomObject]@{Algorithm = "b2n"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightB2N
[PSCustomObject]@{Algorithm = "bittubev2"; MinMemGb = 2; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightDark
[PSCustomObject]@{Algorithm = "conceal"; MinMemGb = 2; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightConceal, new in 1.7.9
[PSCustomObject]@{Algorithm = "dark"; MinMemGb = 2; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightHeavyTube
[PSCustomObject]@{Algorithm = "fast"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightFast
[PSCustomObject]@{Algorithm = "fast2"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightFast2
[PSCustomObject]@{Algorithm = "gpu"; MinMemGb = 2; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightRwzV8
[PSCustomObject]@{Algorithm = "graft"; MinMemGb = 2; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightGpu
[PSCustomObject]@{Algorithm = "haven"; MinMemGb = 2; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightHeavyHaven
[PSCustomObject]@{Algorithm = "heavy"; MinMemGb = 2; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightHeavy
[PSCustomObject]@{Algorithm = "hospital"; MinMemGb = 2; Params = ""; Intensity = @(); DoubleThreads = $true} # Cryptonight???
[PSCustomObject]@{Algorithm = "hycon"; MinMemGb = 2; Params = ""; Intensity = @(); DoubleThreads = $true} # Cryptonight???, new in 1.7.3
[PSCustomObject]@{Algorithm = "italo"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightItalo
[PSCustomObject]@{Algorithm = "lite"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightLite
[PSCustomObject]@{Algorithm = "litev7"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightLiteV7
[PSCustomObject]@{Algorithm = "marketcash"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightMarketCash
[PSCustomObject]@{Algorithm = "mox "; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightRed
[PSCustomObject]@{Algorithm = "normalv4"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightV4
[PSCustomObject]@{Algorithm = "normalv4_64"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightV4_64
[PSCustomObject]@{Algorithm = "normalv7"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightV7
[PSCustomObject]@{Algorithm = "normalv8"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightV8, new in 1.6.8
[PSCustomObject]@{Algorithm = "stellitev8"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # Cryptonight???, new in 1.7.3
[PSCustomObject]@{Algorithm = "turtle"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # Cryptonight???, new in 1.7.4
[PSCustomObject]@{Algorithm = "upx"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # Cryptonight???, new in 1.7.3
[PSCustomObject]@{Algorithm = "upx"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # Cryptonight???, new in 1.7.3
[PSCustomObject]@{Algorithm = "upx2"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # Cryptonight???, new in 1.8.6
[PSCustomObject]@{Algorithm = "wownero"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # Cryptonight???, new in 1.7.9
[PSCustomObject]@{Algorithm = "xcash"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # Cryptonight???, new in 1.7.9
[PSCustomObject]@{Algorithm = "zelerius"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # Cryptonight???, new in 1.7.9
# Asic only (2018/07/12)
#[PSCustomObject]@{Algorithm = "normal"; MinMemGb = 2; Params = ""; Intensity = @(); DoubleThreads = $true} # Cryptonight
# Obsolete, but still supported (20170711)
#[PSCustomObject]@{Algorithm = "normal"; MinMemGb = 2; Params = ""; Intensity = @(); DoubleThreads = $true} # Cryptonight
#[PSCustomObject]@{Algorithm = "dark"; MinMemGb = 2; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightHeavyTube
#[PSCustomObject]@{Algorithm = "fast"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightFast
#[PSCustomObject]@{Algorithm = "festival"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightFestival
#[PSCustomObject]@{Algorithm = "heavy"; MinMemGb = 2; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightHeavy
#[PSCustomObject]@{Algorithm = "italo"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightItalo
#[PSCustomObject]@{Algorithm = "lite"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightLite
#[PSCustomObject]@{Algorithm = "normalv4_64"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightV4_64
#[PSCustomObject]@{Algorithm = "stellitev4"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # CryptonightLite
#[PSCustomObject]@{Algorithm = "upx"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # Cryptonight???, new in 1.7.3
#[PSCustomObject]@{Algorithm = "wownero"; MinMemGb = 1; Params = ""; Intensity = @(); DoubleThreads = $true} # Cryptonight???, new in 1.7.9
)
}

Expand Down
9 changes: 6 additions & 3 deletions MinersLegacy/AMD-SgminerAvermore_v1.4.1.ps1
Expand Up @@ -23,8 +23,8 @@ if ($Miner_Config.Commands) {$Commands = $Miner_Config.Commands}
else {
$Commands = [PSCustomObject]@{
"X16r" = " -g 2 -w 64 -X 64"
"X16s" = " -g 2 -w 64 -X 64"
"Xevan" = " -g 2 -w 64 -X 64"
#"X16s" = " -g 2 -w 64 -X 64" # AMD-SgminerKL_v1.0.9 is 25 % faster
#"Xevan" = " -g 2 -w 64 -X 64" # AMD-SgminerKL_v1.0.9 is faster
}
}

Expand Down Expand Up @@ -56,6 +56,9 @@ $Devices | Select-Object Model -Unique | ForEach-Object {
default {$IntervalMultiplier = 1}
}

#Allow time to build binaries
if (-not (Get-Stat "$($Miner_Name)_$($Algorithm_Norm)_HashRate")) {$WarmupTime = 90} else {$WarmupTime = 30}

[PSCustomObject]@{
Name = $Miner_Name
BaseName = $Miner_BaseName
Expand All @@ -71,7 +74,7 @@ $Devices | Select-Object Model -Unique | ForEach-Object {
Fees = [PSCustomObject]@{$Algorithm_Norm = 1 / 100}
IntervalMultiplier = $IntervalMultiplier
Environment = @("GPU_FORCE_64BIT_PTR=0")
WarmupTime = 90 #seconds
WarmupTime = $WarmupTime #seconds
}
}
}
Expand Down
5 changes: 4 additions & 1 deletion MinersLegacy/AMD-SgminerBitcore_v5.6.1.9.ps1
Expand Up @@ -49,6 +49,9 @@ $Devices | Select-Object Model -Unique | ForEach-Object {
$Parameters = Get-ParameterPerDevice $Commands.$_ $Miner_Device.Type_Vendor_Index
}

#Allow time to build binaries
if (-not (Get-Stat "$($Miner_Name)_$($Algorithm_Norm)_HashRate")) {$WarmupTime = 90} else {$WarmupTime = 30}

[PSCustomObject]@{
Name = $Miner_Name
BaseName = $Miner_BaseName
Expand All @@ -61,7 +64,7 @@ $Devices | Select-Object Model -Unique | ForEach-Object {
API = "Xgminer"
Port = $Miner_Port
URI = $Uri
WarmupTime = 90 #seconds
WarmupTime = $WarmupTime #seconds
}
}
}

0 comments on commit f10eb21

Please sign in to comment.