@@ -51,6 +51,9 @@ public enum CoinFamily
5151
5252 [ EnumMember ( Value = "progpow" ) ]
5353 Progpow ,
54+
55+ [ EnumMember ( Value = "warthog" ) ]
56+ Warthog ,
5457}
5558
5659public abstract partial class CoinTemplate
@@ -166,6 +169,7 @@ public abstract partial class CoinTemplate
166169 { CoinFamily . Kaspa , typeof ( KaspaCoinTemplate ) } ,
167170 { CoinFamily . Nexa , typeof ( BitcoinTemplate ) } ,
168171 { CoinFamily . Progpow , typeof ( ProgpowCoinTemplate ) } ,
172+ { CoinFamily . Warthog , typeof ( WarthogCoinTemplate ) } ,
169173 } ;
170174}
171175
@@ -201,10 +205,12 @@ public class BitcoinNetworkParams
201205 [ DefaultValue ( BitcoinSubfamily . None ) ]
202206 [ JsonConverter ( typeof ( StringEnumConverter ) , true ) ]
203207 public BitcoinSubfamily Subfamily { get ; set ; }
204-
205- public JObject CoinbaseHasher { get ; set ; }
208+
209+ public JObject MerkleTreeHasher { get ; set ; }
210+ public JObject CoinbaseHasher { get ; set ; }
206211 public JObject HeaderHasher { get ; set ; }
207- public JObject BlockHasher { get ; set ; }
212+ public JObject MerkleTreeHasher { get ; set ; }
213+ public JObject BlockHasher { get ; set ; }
208214
209215 [ JsonProperty ( "posBlockHasher" ) ]
210216 public JObject PoSBlockHasher { get ; set ; }
@@ -698,6 +704,38 @@ public partial class EthereumCoinTemplate : CoinTemplate
698704
699705public partial class KaspaCoinTemplate : CoinTemplate
700706{
707+ /// <summary>
708+ /// Prefix of a valid mainnet address
709+ /// See: parameter -> Bech32PrefixKaspa in blob/master/util/address.go
710+ /// </summary>
711+ public string AddressBech32Prefix { get ; set ; }
712+
713+ /// <summary>
714+ /// Prefix of a valid devnet address
715+ /// See: parameter -> Bech32PrefixKaspaDev in blob/master/util/address.go
716+ /// </summary>
717+ public string AddressBech32PrefixDevnet { get ; set ; }
718+
719+ /// <summary>
720+ /// Prefix of a valid simnet address
721+ /// See: parameter -> Bech32PrefixKaspaSim in blob/master/util/address.go
722+ /// </summary>
723+ public string AddressBech32PrefixSimnet { get ; set ; }
724+
725+ /// <summary>
726+ /// Prefix of a valid testnet address
727+ /// See: parameter -> Bech32PrefixKaspaTest in blob/master/util/address.go
728+ /// </summary>
729+ public string AddressBech32PrefixTestnet { get ; set ; }
730+
731+ [ JsonProperty ( DefaultValueHandling = DefaultValueHandling . IgnoreAndPopulate ) ]
732+ [ DefaultValue ( 1.0d ) ]
733+ public double ShareMultiplier { get ; set ; } = 1.0d ;
734+
735+ [ JsonProperty ( DefaultValueHandling = DefaultValueHandling . IgnoreAndPopulate ) ]
736+ [ DefaultValue ( 4294967296.0d ) ]
737+ public double HashrateMultiplier { get ; set ; } = 4294967296.0d ;
738+
701739}
702740
703741public partial class ProgpowCoinTemplate : BitcoinTemplate
@@ -708,6 +746,10 @@ public partial class ProgpowCoinTemplate : BitcoinTemplate
708746 public string Progpower { get ; set ; } = "kawpow" ;
709747}
710748
749+ public partial class WarthogCoinTemplate : CoinTemplate
750+ {
751+ }
752+
711753#endregion // Coin Definitions
712754
713755public enum PayoutScheme
@@ -928,6 +970,8 @@ public partial class PoolShareBasedBanningConfig
928970 public int CheckThreshold { get ; set ; } // Check stats when this many shares have been submitted
929971 public double InvalidPercent { get ; set ; } // What percent of invalid shares triggers ban
930972 public int Time { get ; set ; } // How many seconds to ban worker for
973+ public double ? MinerEffortPercent { get ; set ; } // What percent of effort triggers ban
974+ public int ? MinerEffortTime { get ; set ; } // How many seconds to ban worker for
931975}
932976
933977public partial class PoolPaymentProcessingConfig
0 commit comments