diff --git a/crates/brk_client/src/lib.rs b/crates/brk_client/src/lib.rs index ab34796c5..6862940d5 100644 --- a/crates/brk_client/src/lib.rs +++ b/crates/brk_client/src/lib.rs @@ -2189,7 +2189,7 @@ impl BtcCentsSatsUsdPattern { /// Pattern struct for repeated tree structure. pub struct CoinblocksCoindaysSentPattern { - pub coinblocks_destroyed: CumulativeHeightSumPattern, + pub coinblocks_destroyed: CumulativeHeightPattern, pub coindays_destroyed: CumulativeHeightSumPattern, pub sent: BaseCumulativePattern, pub sent_ema: _2wPattern, @@ -2199,7 +2199,7 @@ impl CoinblocksCoindaysSentPattern { /// Create a new pattern node with accumulated metric name. pub fn new(client: Arc, acc: String) -> Self { Self { - coinblocks_destroyed: CumulativeHeightSumPattern::new(client.clone(), _m(&acc, "coinblocks_destroyed")), + coinblocks_destroyed: CumulativeHeightPattern::new(client.clone(), _m(&acc, "coinblocks_destroyed")), coindays_destroyed: CumulativeHeightSumPattern::new(client.clone(), _m(&acc, "coindays_destroyed")), sent: BaseCumulativePattern::new(client.clone(), _m(&acc, "sent")), sent_ema: _2wPattern::new(client.clone(), _m(&acc, "sent_ema_2w")), @@ -2509,7 +2509,7 @@ impl CentsUsdPattern { /// Pattern struct for repeated tree structure. pub struct ChangeRatePattern { - pub change: _1m1w1y24hPattern, + pub change: _1m1w1y24hPattern, pub rate: _1m1w1y24hPattern2, } @@ -4959,77 +4959,24 @@ impl MetricsTree_Pools { /// Metrics tree node. pub struct MetricsTree_Pools_Major { pub unknown: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub ultimuspool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub terrapool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub luxor: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub onethash: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub btccom: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub huobipool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub wayicn: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub canoepool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub btctop: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub bitcoincom: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub gbminers: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub asicminer: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub bitminter: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub bitcoinrussia: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub btcguild: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub eligius: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub ozcoin: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub eclipsemc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub maxbtc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub triplemining: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub coinlab: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub pool50btc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub ghashio: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub bitparking: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub polmine: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub kncminer: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub f2pool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub hhtt: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub megabigpower: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub nmcbit: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub yourbtcnet: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub braiinspool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub antpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub kanopool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub solock: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub nicehash: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub bitclub: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub bitcoinaffiliatenetwork: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub btcc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub bwpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub exxbw: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub bitfury: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub digitalbtc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub okexpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub bixin: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub tatmaspool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub viabtc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub connectbtc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub batpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub btpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub fiftyeightcoin: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub bitcoinindia: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub dpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub poolin: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub secretsuperstar: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub tigerpoolnet: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub sigmapoolcom: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub okpooltop: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub tangpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub bytepool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub spiderpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub novablock: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub binancepool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub lubiancom: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub okkong: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub emcdpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub foundryusa: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub sbicrypto: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub marapool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub kucoinpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, - pub pegapool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub secpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub ocean: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, pub whitepool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern, @@ -5039,77 +4986,24 @@ impl MetricsTree_Pools_Major { pub fn new(client: Arc, base_path: String) -> Self { Self { unknown: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "unknown".to_string()), - ultimuspool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "ultimuspool".to_string()), - terrapool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "terrapool".to_string()), luxor: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "luxor".to_string()), - onethash: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "onethash".to_string()), btccom: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "btccom".to_string()), - huobipool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "huobipool".to_string()), - wayicn: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "wayicn".to_string()), - canoepool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "canoepool".to_string()), btctop: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "btctop".to_string()), - bitcoincom: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "bitcoincom".to_string()), - gbminers: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "gbminers".to_string()), - asicminer: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "asicminer".to_string()), - bitminter: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "bitminter".to_string()), - bitcoinrussia: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "bitcoinrussia".to_string()), btcguild: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "btcguild".to_string()), eligius: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "eligius".to_string()), - ozcoin: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "ozcoin".to_string()), - eclipsemc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "eclipsemc".to_string()), - maxbtc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "maxbtc".to_string()), - triplemining: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "triplemining".to_string()), - coinlab: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "coinlab".to_string()), - pool50btc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "pool50btc".to_string()), - ghashio: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "ghashio".to_string()), - bitparking: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "bitparking".to_string()), - polmine: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "polmine".to_string()), - kncminer: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "kncminer".to_string()), f2pool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "f2pool".to_string()), - hhtt: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "hhtt".to_string()), - megabigpower: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "megabigpower".to_string()), - nmcbit: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "nmcbit".to_string()), - yourbtcnet: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "yourbtcnet".to_string()), braiinspool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "braiinspool".to_string()), antpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "antpool".to_string()), - kanopool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "kanopool".to_string()), - solock: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "solock".to_string()), - nicehash: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "nicehash".to_string()), - bitclub: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "bitclub".to_string()), - bitcoinaffiliatenetwork: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "bitcoinaffiliatenetwork".to_string()), btcc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "btcc".to_string()), bwpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "bwpool".to_string()), - exxbw: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "exxbw".to_string()), bitfury: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "bitfury".to_string()), - digitalbtc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "digitalbtc".to_string()), - okexpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "okexpool".to_string()), - bixin: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "bixin".to_string()), - tatmaspool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "tatmaspool".to_string()), viabtc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "viabtc".to_string()), - connectbtc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "connectbtc".to_string()), - batpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "batpool".to_string()), - btpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "btpool".to_string()), - fiftyeightcoin: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "fiftyeightcoin".to_string()), - bitcoinindia: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "bitcoinindia".to_string()), - dpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "dpool".to_string()), poolin: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "poolin".to_string()), - secretsuperstar: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "secretsuperstar".to_string()), - tigerpoolnet: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "tigerpoolnet".to_string()), - sigmapoolcom: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "sigmapoolcom".to_string()), - okpooltop: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "okpooltop".to_string()), - tangpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "tangpool".to_string()), - bytepool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "bytepool".to_string()), spiderpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "spiderpool".to_string()), - novablock: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "novablock".to_string()), binancepool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "binancepool".to_string()), - lubiancom: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "lubiancom".to_string()), - okkong: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "okkong".to_string()), - emcdpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "emcdpool".to_string()), foundryusa: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "foundryusa".to_string()), sbicrypto: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "sbicrypto".to_string()), marapool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "marapool".to_string()), - kucoinpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "kucoinpool".to_string()), - pegapool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "pegapool".to_string()), secpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "secpool".to_string()), ocean: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "ocean".to_string()), whitepool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern::new(client.clone(), "whitepool".to_string()), @@ -5120,22 +5014,54 @@ impl MetricsTree_Pools_Major { /// Metrics tree node. pub struct MetricsTree_Pools_Minor { pub blockfills: BlocksDominancePattern, + pub ultimuspool: BlocksDominancePattern, + pub terrapool: BlocksDominancePattern, + pub onethash: BlocksDominancePattern, pub bitfarms: BlocksDominancePattern, + pub huobipool: BlocksDominancePattern, + pub wayicn: BlocksDominancePattern, + pub canoepool: BlocksDominancePattern, + pub bitcoincom: BlocksDominancePattern, pub pool175btc: BlocksDominancePattern, + pub gbminers: BlocksDominancePattern, pub axbt: BlocksDominancePattern, + pub asicminer: BlocksDominancePattern, + pub bitminter: BlocksDominancePattern, + pub bitcoinrussia: BlocksDominancePattern, pub btcserv: BlocksDominancePattern, pub simplecoinus: BlocksDominancePattern, + pub ozcoin: BlocksDominancePattern, + pub eclipsemc: BlocksDominancePattern, + pub maxbtc: BlocksDominancePattern, + pub triplemining: BlocksDominancePattern, + pub coinlab: BlocksDominancePattern, + pub pool50btc: BlocksDominancePattern, + pub ghashio: BlocksDominancePattern, pub stminingcorp: BlocksDominancePattern, + pub bitparking: BlocksDominancePattern, pub mmpool: BlocksDominancePattern, + pub polmine: BlocksDominancePattern, + pub kncminer: BlocksDominancePattern, pub bitalo: BlocksDominancePattern, + pub hhtt: BlocksDominancePattern, + pub megabigpower: BlocksDominancePattern, pub mtred: BlocksDominancePattern, + pub nmcbit: BlocksDominancePattern, + pub yourbtcnet: BlocksDominancePattern, pub givemecoins: BlocksDominancePattern, pub multicoinco: BlocksDominancePattern, pub bcpoolio: BlocksDominancePattern, pub cointerra: BlocksDominancePattern, + pub kanopool: BlocksDominancePattern, + pub solock: BlocksDominancePattern, pub ckpool: BlocksDominancePattern, + pub nicehash: BlocksDominancePattern, + pub bitclub: BlocksDominancePattern, + pub bitcoinaffiliatenetwork: BlocksDominancePattern, + pub exxbw: BlocksDominancePattern, pub bitsolo: BlocksDominancePattern, pub twentyoneinc: BlocksDominancePattern, + pub digitalbtc: BlocksDominancePattern, pub eightbaochi: BlocksDominancePattern, pub mybtccoinpool: BlocksDominancePattern, pub tbdice: BlocksDominancePattern, @@ -5143,11 +5069,19 @@ pub struct MetricsTree_Pools_Minor { pub nexious: BlocksDominancePattern, pub bravomining: BlocksDominancePattern, pub hotpool: BlocksDominancePattern, + pub okexpool: BlocksDominancePattern, pub bcmonster: BlocksDominancePattern, pub onehash: BlocksDominancePattern, + pub bixin: BlocksDominancePattern, + pub tatmaspool: BlocksDominancePattern, + pub connectbtc: BlocksDominancePattern, + pub batpool: BlocksDominancePattern, pub waterhole: BlocksDominancePattern, pub dcexploration: BlocksDominancePattern, pub dcex: BlocksDominancePattern, + pub btpool: BlocksDominancePattern, + pub fiftyeightcoin: BlocksDominancePattern, + pub bitcoinindia: BlocksDominancePattern, pub shawnp0wers: BlocksDominancePattern, pub phashio: BlocksDominancePattern, pub rigpool: BlocksDominancePattern, @@ -5155,19 +5089,32 @@ pub struct MetricsTree_Pools_Minor { pub sevenpool: BlocksDominancePattern, pub miningkings: BlocksDominancePattern, pub hashbx: BlocksDominancePattern, + pub dpool: BlocksDominancePattern, pub rawpool: BlocksDominancePattern, pub haominer: BlocksDominancePattern, pub helix: BlocksDominancePattern, pub bitcoinukraine: BlocksDominancePattern, + pub secretsuperstar: BlocksDominancePattern, + pub tigerpoolnet: BlocksDominancePattern, + pub sigmapoolcom: BlocksDominancePattern, + pub okpooltop: BlocksDominancePattern, pub hummerpool: BlocksDominancePattern, + pub tangpool: BlocksDominancePattern, + pub bytepool: BlocksDominancePattern, + pub novablock: BlocksDominancePattern, pub miningcity: BlocksDominancePattern, pub minerium: BlocksDominancePattern, + pub lubiancom: BlocksDominancePattern, + pub okkong: BlocksDominancePattern, pub aaopool: BlocksDominancePattern, + pub emcdpool: BlocksDominancePattern, pub arkpool: BlocksDominancePattern, pub purebtccom: BlocksDominancePattern, + pub kucoinpool: BlocksDominancePattern, pub entrustcharitypool: BlocksDominancePattern, pub okminer: BlocksDominancePattern, pub titan: BlocksDominancePattern, + pub pegapool: BlocksDominancePattern, pub btcnuggets: BlocksDominancePattern, pub cloudhashing: BlocksDominancePattern, pub digitalxmintsy: BlocksDominancePattern, @@ -5212,22 +5159,54 @@ impl MetricsTree_Pools_Minor { pub fn new(client: Arc, base_path: String) -> Self { Self { blockfills: BlocksDominancePattern::new(client.clone(), "blockfills".to_string()), + ultimuspool: BlocksDominancePattern::new(client.clone(), "ultimuspool".to_string()), + terrapool: BlocksDominancePattern::new(client.clone(), "terrapool".to_string()), + onethash: BlocksDominancePattern::new(client.clone(), "onethash".to_string()), bitfarms: BlocksDominancePattern::new(client.clone(), "bitfarms".to_string()), + huobipool: BlocksDominancePattern::new(client.clone(), "huobipool".to_string()), + wayicn: BlocksDominancePattern::new(client.clone(), "wayicn".to_string()), + canoepool: BlocksDominancePattern::new(client.clone(), "canoepool".to_string()), + bitcoincom: BlocksDominancePattern::new(client.clone(), "bitcoincom".to_string()), pool175btc: BlocksDominancePattern::new(client.clone(), "pool175btc".to_string()), + gbminers: BlocksDominancePattern::new(client.clone(), "gbminers".to_string()), axbt: BlocksDominancePattern::new(client.clone(), "axbt".to_string()), + asicminer: BlocksDominancePattern::new(client.clone(), "asicminer".to_string()), + bitminter: BlocksDominancePattern::new(client.clone(), "bitminter".to_string()), + bitcoinrussia: BlocksDominancePattern::new(client.clone(), "bitcoinrussia".to_string()), btcserv: BlocksDominancePattern::new(client.clone(), "btcserv".to_string()), simplecoinus: BlocksDominancePattern::new(client.clone(), "simplecoinus".to_string()), + ozcoin: BlocksDominancePattern::new(client.clone(), "ozcoin".to_string()), + eclipsemc: BlocksDominancePattern::new(client.clone(), "eclipsemc".to_string()), + maxbtc: BlocksDominancePattern::new(client.clone(), "maxbtc".to_string()), + triplemining: BlocksDominancePattern::new(client.clone(), "triplemining".to_string()), + coinlab: BlocksDominancePattern::new(client.clone(), "coinlab".to_string()), + pool50btc: BlocksDominancePattern::new(client.clone(), "pool50btc".to_string()), + ghashio: BlocksDominancePattern::new(client.clone(), "ghashio".to_string()), stminingcorp: BlocksDominancePattern::new(client.clone(), "stminingcorp".to_string()), + bitparking: BlocksDominancePattern::new(client.clone(), "bitparking".to_string()), mmpool: BlocksDominancePattern::new(client.clone(), "mmpool".to_string()), + polmine: BlocksDominancePattern::new(client.clone(), "polmine".to_string()), + kncminer: BlocksDominancePattern::new(client.clone(), "kncminer".to_string()), bitalo: BlocksDominancePattern::new(client.clone(), "bitalo".to_string()), + hhtt: BlocksDominancePattern::new(client.clone(), "hhtt".to_string()), + megabigpower: BlocksDominancePattern::new(client.clone(), "megabigpower".to_string()), mtred: BlocksDominancePattern::new(client.clone(), "mtred".to_string()), + nmcbit: BlocksDominancePattern::new(client.clone(), "nmcbit".to_string()), + yourbtcnet: BlocksDominancePattern::new(client.clone(), "yourbtcnet".to_string()), givemecoins: BlocksDominancePattern::new(client.clone(), "givemecoins".to_string()), multicoinco: BlocksDominancePattern::new(client.clone(), "multicoinco".to_string()), bcpoolio: BlocksDominancePattern::new(client.clone(), "bcpoolio".to_string()), cointerra: BlocksDominancePattern::new(client.clone(), "cointerra".to_string()), + kanopool: BlocksDominancePattern::new(client.clone(), "kanopool".to_string()), + solock: BlocksDominancePattern::new(client.clone(), "solock".to_string()), ckpool: BlocksDominancePattern::new(client.clone(), "ckpool".to_string()), + nicehash: BlocksDominancePattern::new(client.clone(), "nicehash".to_string()), + bitclub: BlocksDominancePattern::new(client.clone(), "bitclub".to_string()), + bitcoinaffiliatenetwork: BlocksDominancePattern::new(client.clone(), "bitcoinaffiliatenetwork".to_string()), + exxbw: BlocksDominancePattern::new(client.clone(), "exxbw".to_string()), bitsolo: BlocksDominancePattern::new(client.clone(), "bitsolo".to_string()), twentyoneinc: BlocksDominancePattern::new(client.clone(), "twentyoneinc".to_string()), + digitalbtc: BlocksDominancePattern::new(client.clone(), "digitalbtc".to_string()), eightbaochi: BlocksDominancePattern::new(client.clone(), "eightbaochi".to_string()), mybtccoinpool: BlocksDominancePattern::new(client.clone(), "mybtccoinpool".to_string()), tbdice: BlocksDominancePattern::new(client.clone(), "tbdice".to_string()), @@ -5235,11 +5214,19 @@ impl MetricsTree_Pools_Minor { nexious: BlocksDominancePattern::new(client.clone(), "nexious".to_string()), bravomining: BlocksDominancePattern::new(client.clone(), "bravomining".to_string()), hotpool: BlocksDominancePattern::new(client.clone(), "hotpool".to_string()), + okexpool: BlocksDominancePattern::new(client.clone(), "okexpool".to_string()), bcmonster: BlocksDominancePattern::new(client.clone(), "bcmonster".to_string()), onehash: BlocksDominancePattern::new(client.clone(), "onehash".to_string()), + bixin: BlocksDominancePattern::new(client.clone(), "bixin".to_string()), + tatmaspool: BlocksDominancePattern::new(client.clone(), "tatmaspool".to_string()), + connectbtc: BlocksDominancePattern::new(client.clone(), "connectbtc".to_string()), + batpool: BlocksDominancePattern::new(client.clone(), "batpool".to_string()), waterhole: BlocksDominancePattern::new(client.clone(), "waterhole".to_string()), dcexploration: BlocksDominancePattern::new(client.clone(), "dcexploration".to_string()), dcex: BlocksDominancePattern::new(client.clone(), "dcex".to_string()), + btpool: BlocksDominancePattern::new(client.clone(), "btpool".to_string()), + fiftyeightcoin: BlocksDominancePattern::new(client.clone(), "fiftyeightcoin".to_string()), + bitcoinindia: BlocksDominancePattern::new(client.clone(), "bitcoinindia".to_string()), shawnp0wers: BlocksDominancePattern::new(client.clone(), "shawnp0wers".to_string()), phashio: BlocksDominancePattern::new(client.clone(), "phashio".to_string()), rigpool: BlocksDominancePattern::new(client.clone(), "rigpool".to_string()), @@ -5247,19 +5234,32 @@ impl MetricsTree_Pools_Minor { sevenpool: BlocksDominancePattern::new(client.clone(), "sevenpool".to_string()), miningkings: BlocksDominancePattern::new(client.clone(), "miningkings".to_string()), hashbx: BlocksDominancePattern::new(client.clone(), "hashbx".to_string()), + dpool: BlocksDominancePattern::new(client.clone(), "dpool".to_string()), rawpool: BlocksDominancePattern::new(client.clone(), "rawpool".to_string()), haominer: BlocksDominancePattern::new(client.clone(), "haominer".to_string()), helix: BlocksDominancePattern::new(client.clone(), "helix".to_string()), bitcoinukraine: BlocksDominancePattern::new(client.clone(), "bitcoinukraine".to_string()), + secretsuperstar: BlocksDominancePattern::new(client.clone(), "secretsuperstar".to_string()), + tigerpoolnet: BlocksDominancePattern::new(client.clone(), "tigerpoolnet".to_string()), + sigmapoolcom: BlocksDominancePattern::new(client.clone(), "sigmapoolcom".to_string()), + okpooltop: BlocksDominancePattern::new(client.clone(), "okpooltop".to_string()), hummerpool: BlocksDominancePattern::new(client.clone(), "hummerpool".to_string()), + tangpool: BlocksDominancePattern::new(client.clone(), "tangpool".to_string()), + bytepool: BlocksDominancePattern::new(client.clone(), "bytepool".to_string()), + novablock: BlocksDominancePattern::new(client.clone(), "novablock".to_string()), miningcity: BlocksDominancePattern::new(client.clone(), "miningcity".to_string()), minerium: BlocksDominancePattern::new(client.clone(), "minerium".to_string()), + lubiancom: BlocksDominancePattern::new(client.clone(), "lubiancom".to_string()), + okkong: BlocksDominancePattern::new(client.clone(), "okkong".to_string()), aaopool: BlocksDominancePattern::new(client.clone(), "aaopool".to_string()), + emcdpool: BlocksDominancePattern::new(client.clone(), "emcdpool".to_string()), arkpool: BlocksDominancePattern::new(client.clone(), "arkpool".to_string()), purebtccom: BlocksDominancePattern::new(client.clone(), "purebtccom".to_string()), + kucoinpool: BlocksDominancePattern::new(client.clone(), "kucoinpool".to_string()), entrustcharitypool: BlocksDominancePattern::new(client.clone(), "entrustcharitypool".to_string()), okminer: BlocksDominancePattern::new(client.clone(), "okminer".to_string()), titan: BlocksDominancePattern::new(client.clone(), "titan".to_string()), + pegapool: BlocksDominancePattern::new(client.clone(), "pegapool".to_string()), btcnuggets: BlocksDominancePattern::new(client.clone(), "btcnuggets".to_string()), cloudhashing: BlocksDominancePattern::new(client.clone(), "cloudhashing".to_string()), digitalxmintsy: BlocksDominancePattern::new(client.clone(), "digitalxmintsy".to_string()), diff --git a/crates/brk_computer/src/distribution/address/delta.rs b/crates/brk_computer/src/distribution/address/delta.rs index 028f4330a..a6f8cc85f 100644 --- a/crates/brk_computer/src/distribution/address/delta.rs +++ b/crates/brk_computer/src/distribution/address/delta.rs @@ -24,7 +24,7 @@ impl DeltaVecs { version: Version, indexes: &indexes::Vecs, ) -> Result { - let version = version + Version::ONE; + let version = version + Version::TWO; let all = RollingDelta::forced_import(db, "addr_count", version, indexes)?; diff --git a/crates/brk_computer/src/distribution/metrics/realized/base.rs b/crates/brk_computer/src/distribution/metrics/realized/base.rs index 20dc89584..564ab53a7 100644 --- a/crates/brk_computer/src/distribution/metrics/realized/base.rs +++ b/crates/brk_computer/src/distribution/metrics/realized/base.rs @@ -12,6 +12,7 @@ use crate::{ internal::{ ByUnit, ComputedFromHeight, ComputedFromHeightCumulative, LazyFromHeight, NegCentsUnsignedToDollars, RatioCents64, RollingWindows, SatsToCents, + ValueFromHeightCumulative, }, prices, }; diff --git a/crates/brk_computer/src/internal/from_height/computed/delta.rs b/crates/brk_computer/src/internal/from_height/computed/delta.rs index 242e21bd8..8690d37ab 100644 --- a/crates/brk_computer/src/internal/from_height/computed/delta.rs +++ b/crates/brk_computer/src/internal/from_height/computed/delta.rs @@ -6,9 +6,9 @@ use brk_error::Result; use brk_traversable::Traversable; -use brk_types::{BasisPoints16, Height, Version}; +use brk_types::{BasisPoints32, Height, Version}; use schemars::JsonSchema; -use vecdb::{Database, Exit, ReadableVec, Rw, StorageMode}; +use vecdb::{AnyVec, Database, Exit, ReadableVec, Rw, StorageMode, VecIndex}; use crate::{ indexes, @@ -22,7 +22,7 @@ where C: NumericValue + JsonSchema, { pub change: RollingWindows, - pub rate: PercentRollingWindows, + pub rate: PercentRollingWindows, _phantom: std::marker::PhantomData, } @@ -67,12 +67,22 @@ where // Step 1: change = current - ago for (change_w, starts) in self.change.0.as_mut_array().into_iter().zip(windows.as_array()) { + // Pre-collect source from earliest ago_h to end for fast array indexing + let skip = change_w.height.len(); + let source_len = source.len(); + let offset = if skip > 0 && skip < starts.len() { + starts.collect_one_at(skip).unwrap().to_usize() + } else { + 0 + }; + let source_data = source.collect_range_at(offset, source_len); + change_w.height.compute_transform( max_from, *starts, |(h, ago_h, ..)| { - let current: f64 = source.collect_one(h).unwrap_or_default().into(); - let ago: f64 = source.collect_one(ago_h).unwrap_or_default().into(); + let current: f64 = source_data[h.to_usize() - offset].into(); + let ago: f64 = source_data[ago_h.to_usize() - offset].into(); (h, C::from(current - ago)) }, exit, @@ -96,7 +106,7 @@ where let change_f: f64 = change.into(); let ago = current_f - change_f; let rate = if ago == 0.0 { 0.0 } else { change_f / ago }; - (h, BasisPoints16::from(rate)) + (h, BasisPoints32::from(rate)) }, exit, )?; diff --git a/crates/brk_types/src/anyaddressindex.rs b/crates/brk_types/src/anyaddressindex.rs index 3ea7ea1ef..704ce5840 100644 --- a/crates/brk_types/src/anyaddressindex.rs +++ b/crates/brk_types/src/anyaddressindex.rs @@ -63,9 +63,7 @@ impl fmt::Display for AnyAddressIndex { impl Formattable for AnyAddressIndex { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - let mut buf = itoa::Buffer::new(); - f.push_str(buf.format((self.0).0)); - Ok(()) + self.0.fmt_csv(f) } } diff --git a/crates/brk_types/src/cents_sats.rs b/crates/brk_types/src/cents_sats.rs index dcd9baaba..01f94cb6b 100644 --- a/crates/brk_types/src/cents_sats.rs +++ b/crates/brk_types/src/cents_sats.rs @@ -115,8 +115,9 @@ impl Div for CentsSats { impl Formattable for CentsSats { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + let mut buf = itoa::Buffer::new(); + f.push_str(buf.format(self.0)); + Ok(()) } } diff --git a/crates/brk_types/src/cents_signed.rs b/crates/brk_types/src/cents_signed.rs index b3ad5ec05..15c5a8d52 100644 --- a/crates/brk_types/src/cents_signed.rs +++ b/crates/brk_types/src/cents_signed.rs @@ -262,7 +262,8 @@ impl std::fmt::Display for CentsSigned { impl Formattable for CentsSigned { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + let mut buf = itoa::Buffer::new(); + f.push_str(buf.format(self.0)); + Ok(()) } } diff --git a/crates/brk_types/src/difficultyepoch.rs b/crates/brk_types/src/difficultyepoch.rs index 004fc255b..206479b13 100644 --- a/crates/brk_types/src/difficultyepoch.rs +++ b/crates/brk_types/src/difficultyepoch.rs @@ -111,8 +111,9 @@ impl std::fmt::Display for DifficultyEpoch { impl Formattable for DifficultyEpoch { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + let mut buf = itoa::Buffer::new(); + f.push_str(buf.format(self.0)); + Ok(()) } } diff --git a/crates/brk_types/src/emptyaddressindex.rs b/crates/brk_types/src/emptyaddressindex.rs index 234509467..c5bbcfda3 100644 --- a/crates/brk_types/src/emptyaddressindex.rs +++ b/crates/brk_types/src/emptyaddressindex.rs @@ -83,8 +83,6 @@ impl std::fmt::Display for EmptyAddressIndex { impl Formattable for EmptyAddressIndex { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - let mut buf = itoa::Buffer::new(); - f.push_str(buf.format((self.0).0)); - Ok(()) + self.0.fmt_csv(f) } } diff --git a/crates/brk_types/src/emptyoutputindex.rs b/crates/brk_types/src/emptyoutputindex.rs index 6bbe594d6..562ffe975 100644 --- a/crates/brk_types/src/emptyoutputindex.rs +++ b/crates/brk_types/src/emptyoutputindex.rs @@ -80,7 +80,6 @@ impl fmt::Display for EmptyOutputIndex { impl Formattable for EmptyOutputIndex { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + self.0.fmt_csv(f) } } diff --git a/crates/brk_types/src/fundedaddressindex.rs b/crates/brk_types/src/fundedaddressindex.rs index 99ed3b7ca..da82e8bfc 100644 --- a/crates/brk_types/src/fundedaddressindex.rs +++ b/crates/brk_types/src/fundedaddressindex.rs @@ -79,7 +79,6 @@ impl std::fmt::Display for FundedAddressIndex { impl Formattable for FundedAddressIndex { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + self.0.fmt_csv(f) } } diff --git a/crates/brk_types/src/halvingepoch.rs b/crates/brk_types/src/halvingepoch.rs index 83827dd2d..4e8fb78b2 100644 --- a/crates/brk_types/src/halvingepoch.rs +++ b/crates/brk_types/src/halvingepoch.rs @@ -117,8 +117,9 @@ impl std::fmt::Display for HalvingEpoch { impl Formattable for HalvingEpoch { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + let mut buf = itoa::Buffer::new(); + f.push_str(buf.format(self.0)); + Ok(()) } } diff --git a/crates/brk_types/src/hour1.rs b/crates/brk_types/src/hour1.rs index c20eab849..03a05c0fe 100644 --- a/crates/brk_types/src/hour1.rs +++ b/crates/brk_types/src/hour1.rs @@ -82,7 +82,8 @@ impl std::fmt::Display for Hour1 { impl Formattable for Hour1 { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + let mut buf = itoa::Buffer::new(); + f.push_str(buf.format(self.0)); + Ok(()) } } diff --git a/crates/brk_types/src/hour4.rs b/crates/brk_types/src/hour4.rs index 17386bc38..4b58d8b51 100644 --- a/crates/brk_types/src/hour4.rs +++ b/crates/brk_types/src/hour4.rs @@ -82,7 +82,8 @@ impl std::fmt::Display for Hour4 { impl Formattable for Hour4 { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + let mut buf = itoa::Buffer::new(); + f.push_str(buf.format(self.0)); + Ok(()) } } diff --git a/crates/brk_types/src/minute10.rs b/crates/brk_types/src/minute10.rs index 98bba9716..d1b882da1 100644 --- a/crates/brk_types/src/minute10.rs +++ b/crates/brk_types/src/minute10.rs @@ -82,7 +82,8 @@ impl std::fmt::Display for Minute10 { impl Formattable for Minute10 { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + let mut buf = itoa::Buffer::new(); + f.push_str(buf.format(self.0)); + Ok(()) } } diff --git a/crates/brk_types/src/opreturnindex.rs b/crates/brk_types/src/opreturnindex.rs index 7a81cd2db..9f35d5ca8 100644 --- a/crates/brk_types/src/opreturnindex.rs +++ b/crates/brk_types/src/opreturnindex.rs @@ -85,8 +85,6 @@ impl std::fmt::Display for OpReturnIndex { impl Formattable for OpReturnIndex { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - let mut buf = itoa::Buffer::new(); - f.push_str(buf.format((self.0).0)); - Ok(()) + self.0.fmt_csv(f) } } diff --git a/crates/brk_types/src/p2aaddressindex.rs b/crates/brk_types/src/p2aaddressindex.rs index 6f3bd0243..fb3ea8caf 100644 --- a/crates/brk_types/src/p2aaddressindex.rs +++ b/crates/brk_types/src/p2aaddressindex.rs @@ -106,7 +106,6 @@ impl std::fmt::Display for P2AAddressIndex { impl Formattable for P2AAddressIndex { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + self.0.fmt_csv(f) } } diff --git a/crates/brk_types/src/p2msoutputindex.rs b/crates/brk_types/src/p2msoutputindex.rs index 231458923..63b4c8534 100644 --- a/crates/brk_types/src/p2msoutputindex.rs +++ b/crates/brk_types/src/p2msoutputindex.rs @@ -85,8 +85,6 @@ impl std::fmt::Display for P2MSOutputIndex { impl Formattable for P2MSOutputIndex { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - let mut buf = itoa::Buffer::new(); - f.push_str(buf.format((self.0).0)); - Ok(()) + self.0.fmt_csv(f) } } diff --git a/crates/brk_types/src/p2pk33addressindex.rs b/crates/brk_types/src/p2pk33addressindex.rs index 014586486..4ad20f765 100644 --- a/crates/brk_types/src/p2pk33addressindex.rs +++ b/crates/brk_types/src/p2pk33addressindex.rs @@ -106,8 +106,6 @@ impl std::fmt::Display for P2PK33AddressIndex { impl Formattable for P2PK33AddressIndex { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - let mut buf = itoa::Buffer::new(); - f.push_str(buf.format((self.0).0)); - Ok(()) + self.0.fmt_csv(f) } } diff --git a/crates/brk_types/src/p2pk65addressindex.rs b/crates/brk_types/src/p2pk65addressindex.rs index daa74b85f..cbc6899b3 100644 --- a/crates/brk_types/src/p2pk65addressindex.rs +++ b/crates/brk_types/src/p2pk65addressindex.rs @@ -105,7 +105,6 @@ impl std::fmt::Display for P2PK65AddressIndex { impl Formattable for P2PK65AddressIndex { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + self.0.fmt_csv(f) } } diff --git a/crates/brk_types/src/p2pkhaddressindex.rs b/crates/brk_types/src/p2pkhaddressindex.rs index 2e806dd31..d2a490098 100644 --- a/crates/brk_types/src/p2pkhaddressindex.rs +++ b/crates/brk_types/src/p2pkhaddressindex.rs @@ -106,8 +106,6 @@ impl std::fmt::Display for P2PKHAddressIndex { impl Formattable for P2PKHAddressIndex { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - let mut buf = itoa::Buffer::new(); - f.push_str(buf.format((self.0).0)); - Ok(()) + self.0.fmt_csv(f) } } diff --git a/crates/brk_types/src/p2shaddressindex.rs b/crates/brk_types/src/p2shaddressindex.rs index 761451bfe..4c34be532 100644 --- a/crates/brk_types/src/p2shaddressindex.rs +++ b/crates/brk_types/src/p2shaddressindex.rs @@ -113,7 +113,6 @@ impl std::fmt::Display for P2SHAddressIndex { impl Formattable for P2SHAddressIndex { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + self.0.fmt_csv(f) } } diff --git a/crates/brk_types/src/p2traddressindex.rs b/crates/brk_types/src/p2traddressindex.rs index 2ee821206..9bdf01122 100644 --- a/crates/brk_types/src/p2traddressindex.rs +++ b/crates/brk_types/src/p2traddressindex.rs @@ -106,8 +106,6 @@ impl std::fmt::Display for P2TRAddressIndex { impl Formattable for P2TRAddressIndex { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - let mut buf = itoa::Buffer::new(); - f.push_str(buf.format((self.0).0)); - Ok(()) + self.0.fmt_csv(f) } } diff --git a/crates/brk_types/src/p2wpkhaddressindex.rs b/crates/brk_types/src/p2wpkhaddressindex.rs index 41d4132fd..8d227d0d3 100644 --- a/crates/brk_types/src/p2wpkhaddressindex.rs +++ b/crates/brk_types/src/p2wpkhaddressindex.rs @@ -106,7 +106,6 @@ impl std::fmt::Display for P2WPKHAddressIndex { impl Formattable for P2WPKHAddressIndex { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + self.0.fmt_csv(f) } } diff --git a/crates/brk_types/src/p2wshaddressindex.rs b/crates/brk_types/src/p2wshaddressindex.rs index 86bd9a6e8..163e5952e 100644 --- a/crates/brk_types/src/p2wshaddressindex.rs +++ b/crates/brk_types/src/p2wshaddressindex.rs @@ -106,7 +106,6 @@ impl std::fmt::Display for P2WSHAddressIndex { impl Formattable for P2WSHAddressIndex { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + self.0.fmt_csv(f) } } diff --git a/crates/brk_types/src/satsfract.rs b/crates/brk_types/src/satsfract.rs index cce9e0a9f..061e8ea5e 100644 --- a/crates/brk_types/src/satsfract.rs +++ b/crates/brk_types/src/satsfract.rs @@ -189,8 +189,9 @@ impl std::fmt::Display for SatsFract { impl Formattable for SatsFract { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + let mut buf = ryu::Buffer::new(); + f.push_str(buf.format(self.0)); + Ok(()) } } diff --git a/crates/brk_types/src/stored_bool.rs b/crates/brk_types/src/stored_bool.rs index c77171642..4d7c8fe5b 100644 --- a/crates/brk_types/src/stored_bool.rs +++ b/crates/brk_types/src/stored_bool.rs @@ -71,7 +71,7 @@ impl std::fmt::Display for StoredBool { impl Formattable for StoredBool { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + f.push_str(if self.is_true() { "true" } else { "false" }); + Ok(()) } } diff --git a/crates/brk_types/src/stored_f64.rs b/crates/brk_types/src/stored_f64.rs index 7c5d86cef..0ba6f7469 100644 --- a/crates/brk_types/src/stored_f64.rs +++ b/crates/brk_types/src/stored_f64.rs @@ -247,7 +247,8 @@ impl std::fmt::Display for StoredF64 { impl Formattable for StoredF64 { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + let mut buf = ryu::Buffer::new(); + f.push_str(buf.format(self.0)); + Ok(()) } } diff --git a/crates/brk_types/src/unknownoutputindex.rs b/crates/brk_types/src/unknownoutputindex.rs index a524008ee..ddf58fe93 100644 --- a/crates/brk_types/src/unknownoutputindex.rs +++ b/crates/brk_types/src/unknownoutputindex.rs @@ -80,7 +80,6 @@ impl std::fmt::Display for UnknownOutputIndex { impl Formattable for UnknownOutputIndex { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + self.0.fmt_csv(f) } } diff --git a/crates/brk_types/src/year10.rs b/crates/brk_types/src/year10.rs index 27749a469..2a3565c15 100644 --- a/crates/brk_types/src/year10.rs +++ b/crates/brk_types/src/year10.rs @@ -145,7 +145,8 @@ impl std::fmt::Display for Year10 { impl Formattable for Year10 { #[inline(always)] fn fmt_csv(&self, f: &mut String) -> std::fmt::Result { - use std::fmt::Write; - write!(f, "{}", self) + let mut buf = itoa::Buffer::new(); + f.push_str(buf.format(self.0)); + Ok(()) } } diff --git a/modules/brk-client/index.js b/modules/brk-client/index.js index 1f566c3ab..d07cdbcab 100644 --- a/modules/brk-client/index.js +++ b/modules/brk-client/index.js @@ -724,6 +724,11 @@ * * @typedef {number} StoredF64 */ +/** + * Fixed-size 64-bit signed integer optimized for on-disk storage + * + * @typedef {number} StoredI64 + */ /** @typedef {number} StoredI8 */ /** @typedef {number} StoredU16 */ /** @@ -2934,7 +2939,7 @@ function createBtcCentsSatsUsdPattern(client, acc) { /** * @typedef {Object} CoinblocksCoindaysSentPattern - * @property {CumulativeHeightSumPattern} coinblocksDestroyed + * @property {CumulativeHeightPattern} coinblocksDestroyed * @property {CumulativeHeightSumPattern} coindaysDestroyed * @property {BaseCumulativePattern} sent * @property {_2wPattern} sentEma @@ -2948,7 +2953,7 @@ function createBtcCentsSatsUsdPattern(client, acc) { */ function createCoinblocksCoindaysSentPattern(client, acc) { return { - coinblocksDestroyed: createCumulativeHeightSumPattern(client, _m(acc, 'coinblocks_destroyed')), + coinblocksDestroyed: createCumulativeHeightPattern(client, _m(acc, 'coinblocks_destroyed')), coindaysDestroyed: createCumulativeHeightSumPattern(client, _m(acc, 'coindays_destroyed')), sent: createBaseCumulativePattern(client, _m(acc, 'sent')), sentEma: create_2wPattern(client, _m(acc, 'sent_ema_2w')), @@ -3314,7 +3319,7 @@ function createCentsUsdPattern(client, acc) { /** * @typedef {Object} ChangeRatePattern - * @property {_1m1w1y24hPattern} change + * @property {_1m1w1y24hPattern} change * @property {_1m1w1y24hPattern2} rate */ @@ -4495,77 +4500,24 @@ function create_2wPattern(client, acc) { /** * @typedef {Object} MetricsTree_Pools_Major * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} unknown - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} ultimuspool - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} terrapool * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} luxor - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} onethash * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} btccom - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} huobipool - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} wayicn - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} canoepool * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} btctop - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} bitcoincom - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} gbminers - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} asicminer - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} bitminter - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} bitcoinrussia * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} btcguild * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} eligius - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} ozcoin - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} eclipsemc - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} maxbtc - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} triplemining - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} coinlab - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} pool50btc - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} ghashio - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} bitparking - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} polmine - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} kncminer * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} f2pool - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} hhtt - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} megabigpower - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} nmcbit - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} yourbtcnet * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} braiinspool * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} antpool - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} kanopool - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} solock - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} nicehash - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} bitclub - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} bitcoinaffiliatenetwork * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} btcc * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} bwpool - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} exxbw * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} bitfury - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} digitalbtc - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} okexpool - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} bixin - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} tatmaspool * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} viabtc - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} connectbtc - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} batpool - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} btpool - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} fiftyeightcoin - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} bitcoinindia - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} dpool * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} poolin - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} secretsuperstar - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} tigerpoolnet - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} sigmapoolcom - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} okpooltop - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} tangpool - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} bytepool * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} spiderpool - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} novablock * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} binancepool - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} lubiancom - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} okkong - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} emcdpool * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} foundryusa * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} sbicrypto * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} marapool - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} kucoinpool - * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} pegapool * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} secpool * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} ocean * @property {_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern} whitepool @@ -4574,22 +4526,54 @@ function create_2wPattern(client, acc) { /** * @typedef {Object} MetricsTree_Pools_Minor * @property {BlocksDominancePattern} blockfills + * @property {BlocksDominancePattern} ultimuspool + * @property {BlocksDominancePattern} terrapool + * @property {BlocksDominancePattern} onethash * @property {BlocksDominancePattern} bitfarms + * @property {BlocksDominancePattern} huobipool + * @property {BlocksDominancePattern} wayicn + * @property {BlocksDominancePattern} canoepool + * @property {BlocksDominancePattern} bitcoincom * @property {BlocksDominancePattern} pool175btc + * @property {BlocksDominancePattern} gbminers * @property {BlocksDominancePattern} axbt + * @property {BlocksDominancePattern} asicminer + * @property {BlocksDominancePattern} bitminter + * @property {BlocksDominancePattern} bitcoinrussia * @property {BlocksDominancePattern} btcserv * @property {BlocksDominancePattern} simplecoinus + * @property {BlocksDominancePattern} ozcoin + * @property {BlocksDominancePattern} eclipsemc + * @property {BlocksDominancePattern} maxbtc + * @property {BlocksDominancePattern} triplemining + * @property {BlocksDominancePattern} coinlab + * @property {BlocksDominancePattern} pool50btc + * @property {BlocksDominancePattern} ghashio * @property {BlocksDominancePattern} stminingcorp + * @property {BlocksDominancePattern} bitparking * @property {BlocksDominancePattern} mmpool + * @property {BlocksDominancePattern} polmine + * @property {BlocksDominancePattern} kncminer * @property {BlocksDominancePattern} bitalo + * @property {BlocksDominancePattern} hhtt + * @property {BlocksDominancePattern} megabigpower * @property {BlocksDominancePattern} mtred + * @property {BlocksDominancePattern} nmcbit + * @property {BlocksDominancePattern} yourbtcnet * @property {BlocksDominancePattern} givemecoins * @property {BlocksDominancePattern} multicoinco * @property {BlocksDominancePattern} bcpoolio * @property {BlocksDominancePattern} cointerra + * @property {BlocksDominancePattern} kanopool + * @property {BlocksDominancePattern} solock * @property {BlocksDominancePattern} ckpool + * @property {BlocksDominancePattern} nicehash + * @property {BlocksDominancePattern} bitclub + * @property {BlocksDominancePattern} bitcoinaffiliatenetwork + * @property {BlocksDominancePattern} exxbw * @property {BlocksDominancePattern} bitsolo * @property {BlocksDominancePattern} twentyoneinc + * @property {BlocksDominancePattern} digitalbtc * @property {BlocksDominancePattern} eightbaochi * @property {BlocksDominancePattern} mybtccoinpool * @property {BlocksDominancePattern} tbdice @@ -4597,11 +4581,19 @@ function create_2wPattern(client, acc) { * @property {BlocksDominancePattern} nexious * @property {BlocksDominancePattern} bravomining * @property {BlocksDominancePattern} hotpool + * @property {BlocksDominancePattern} okexpool * @property {BlocksDominancePattern} bcmonster * @property {BlocksDominancePattern} onehash + * @property {BlocksDominancePattern} bixin + * @property {BlocksDominancePattern} tatmaspool + * @property {BlocksDominancePattern} connectbtc + * @property {BlocksDominancePattern} batpool * @property {BlocksDominancePattern} waterhole * @property {BlocksDominancePattern} dcexploration * @property {BlocksDominancePattern} dcex + * @property {BlocksDominancePattern} btpool + * @property {BlocksDominancePattern} fiftyeightcoin + * @property {BlocksDominancePattern} bitcoinindia * @property {BlocksDominancePattern} shawnp0wers * @property {BlocksDominancePattern} phashio * @property {BlocksDominancePattern} rigpool @@ -4609,19 +4601,32 @@ function create_2wPattern(client, acc) { * @property {BlocksDominancePattern} sevenpool * @property {BlocksDominancePattern} miningkings * @property {BlocksDominancePattern} hashbx + * @property {BlocksDominancePattern} dpool * @property {BlocksDominancePattern} rawpool * @property {BlocksDominancePattern} haominer * @property {BlocksDominancePattern} helix * @property {BlocksDominancePattern} bitcoinukraine + * @property {BlocksDominancePattern} secretsuperstar + * @property {BlocksDominancePattern} tigerpoolnet + * @property {BlocksDominancePattern} sigmapoolcom + * @property {BlocksDominancePattern} okpooltop * @property {BlocksDominancePattern} hummerpool + * @property {BlocksDominancePattern} tangpool + * @property {BlocksDominancePattern} bytepool + * @property {BlocksDominancePattern} novablock * @property {BlocksDominancePattern} miningcity * @property {BlocksDominancePattern} minerium + * @property {BlocksDominancePattern} lubiancom + * @property {BlocksDominancePattern} okkong * @property {BlocksDominancePattern} aaopool + * @property {BlocksDominancePattern} emcdpool * @property {BlocksDominancePattern} arkpool * @property {BlocksDominancePattern} purebtccom + * @property {BlocksDominancePattern} kucoinpool * @property {BlocksDominancePattern} entrustcharitypool * @property {BlocksDominancePattern} okminer * @property {BlocksDominancePattern} titan + * @property {BlocksDominancePattern} pegapool * @property {BlocksDominancePattern} btcnuggets * @property {BlocksDominancePattern} cloudhashing * @property {BlocksDominancePattern} digitalxmintsy @@ -6768,99 +6773,78 @@ class BrkClient extends BrkClientBase { heightToPool: createMetricPattern18(this, 'pool'), major: { unknown: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'unknown'), - ultimuspool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'ultimuspool'), - terrapool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'terrapool'), luxor: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'luxor'), - onethash: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'onethash'), btccom: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'btccom'), - huobipool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'huobipool'), - wayicn: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'wayicn'), - canoepool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'canoepool'), btctop: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'btctop'), - bitcoincom: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'bitcoincom'), - gbminers: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'gbminers'), - asicminer: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'asicminer'), - bitminter: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'bitminter'), - bitcoinrussia: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'bitcoinrussia'), btcguild: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'btcguild'), eligius: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'eligius'), - ozcoin: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'ozcoin'), - eclipsemc: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'eclipsemc'), - maxbtc: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'maxbtc'), - triplemining: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'triplemining'), - coinlab: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'coinlab'), - pool50btc: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'pool50btc'), - ghashio: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'ghashio'), - bitparking: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'bitparking'), - polmine: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'polmine'), - kncminer: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'kncminer'), f2pool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'f2pool'), - hhtt: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'hhtt'), - megabigpower: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'megabigpower'), - nmcbit: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'nmcbit'), - yourbtcnet: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'yourbtcnet'), braiinspool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'braiinspool'), antpool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'antpool'), - kanopool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'kanopool'), - solock: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'solock'), - nicehash: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'nicehash'), - bitclub: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'bitclub'), - bitcoinaffiliatenetwork: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'bitcoinaffiliatenetwork'), btcc: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'btcc'), bwpool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'bwpool'), - exxbw: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'exxbw'), bitfury: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'bitfury'), - digitalbtc: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'digitalbtc'), - okexpool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'okexpool'), - bixin: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'bixin'), - tatmaspool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'tatmaspool'), viabtc: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'viabtc'), - connectbtc: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'connectbtc'), - batpool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'batpool'), - btpool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'btpool'), - fiftyeightcoin: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'fiftyeightcoin'), - bitcoinindia: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'bitcoinindia'), - dpool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'dpool'), poolin: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'poolin'), - secretsuperstar: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'secretsuperstar'), - tigerpoolnet: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'tigerpoolnet'), - sigmapoolcom: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'sigmapoolcom'), - okpooltop: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'okpooltop'), - tangpool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'tangpool'), - bytepool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'bytepool'), spiderpool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'spiderpool'), - novablock: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'novablock'), binancepool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'binancepool'), - lubiancom: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'lubiancom'), - okkong: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'okkong'), - emcdpool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'emcdpool'), foundryusa: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'foundryusa'), sbicrypto: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'sbicrypto'), marapool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'marapool'), - kucoinpool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'kucoinpool'), - pegapool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'pegapool'), secpool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'secpool'), ocean: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'ocean'), whitepool: create_1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(this, 'whitepool'), }, minor: { blockfills: createBlocksDominancePattern(this, 'blockfills'), + ultimuspool: createBlocksDominancePattern(this, 'ultimuspool'), + terrapool: createBlocksDominancePattern(this, 'terrapool'), + onethash: createBlocksDominancePattern(this, 'onethash'), bitfarms: createBlocksDominancePattern(this, 'bitfarms'), + huobipool: createBlocksDominancePattern(this, 'huobipool'), + wayicn: createBlocksDominancePattern(this, 'wayicn'), + canoepool: createBlocksDominancePattern(this, 'canoepool'), + bitcoincom: createBlocksDominancePattern(this, 'bitcoincom'), pool175btc: createBlocksDominancePattern(this, 'pool175btc'), + gbminers: createBlocksDominancePattern(this, 'gbminers'), axbt: createBlocksDominancePattern(this, 'axbt'), + asicminer: createBlocksDominancePattern(this, 'asicminer'), + bitminter: createBlocksDominancePattern(this, 'bitminter'), + bitcoinrussia: createBlocksDominancePattern(this, 'bitcoinrussia'), btcserv: createBlocksDominancePattern(this, 'btcserv'), simplecoinus: createBlocksDominancePattern(this, 'simplecoinus'), + ozcoin: createBlocksDominancePattern(this, 'ozcoin'), + eclipsemc: createBlocksDominancePattern(this, 'eclipsemc'), + maxbtc: createBlocksDominancePattern(this, 'maxbtc'), + triplemining: createBlocksDominancePattern(this, 'triplemining'), + coinlab: createBlocksDominancePattern(this, 'coinlab'), + pool50btc: createBlocksDominancePattern(this, 'pool50btc'), + ghashio: createBlocksDominancePattern(this, 'ghashio'), stminingcorp: createBlocksDominancePattern(this, 'stminingcorp'), + bitparking: createBlocksDominancePattern(this, 'bitparking'), mmpool: createBlocksDominancePattern(this, 'mmpool'), + polmine: createBlocksDominancePattern(this, 'polmine'), + kncminer: createBlocksDominancePattern(this, 'kncminer'), bitalo: createBlocksDominancePattern(this, 'bitalo'), + hhtt: createBlocksDominancePattern(this, 'hhtt'), + megabigpower: createBlocksDominancePattern(this, 'megabigpower'), mtred: createBlocksDominancePattern(this, 'mtred'), + nmcbit: createBlocksDominancePattern(this, 'nmcbit'), + yourbtcnet: createBlocksDominancePattern(this, 'yourbtcnet'), givemecoins: createBlocksDominancePattern(this, 'givemecoins'), multicoinco: createBlocksDominancePattern(this, 'multicoinco'), bcpoolio: createBlocksDominancePattern(this, 'bcpoolio'), cointerra: createBlocksDominancePattern(this, 'cointerra'), + kanopool: createBlocksDominancePattern(this, 'kanopool'), + solock: createBlocksDominancePattern(this, 'solock'), ckpool: createBlocksDominancePattern(this, 'ckpool'), + nicehash: createBlocksDominancePattern(this, 'nicehash'), + bitclub: createBlocksDominancePattern(this, 'bitclub'), + bitcoinaffiliatenetwork: createBlocksDominancePattern(this, 'bitcoinaffiliatenetwork'), + exxbw: createBlocksDominancePattern(this, 'exxbw'), bitsolo: createBlocksDominancePattern(this, 'bitsolo'), twentyoneinc: createBlocksDominancePattern(this, 'twentyoneinc'), + digitalbtc: createBlocksDominancePattern(this, 'digitalbtc'), eightbaochi: createBlocksDominancePattern(this, 'eightbaochi'), mybtccoinpool: createBlocksDominancePattern(this, 'mybtccoinpool'), tbdice: createBlocksDominancePattern(this, 'tbdice'), @@ -6868,11 +6852,19 @@ class BrkClient extends BrkClientBase { nexious: createBlocksDominancePattern(this, 'nexious'), bravomining: createBlocksDominancePattern(this, 'bravomining'), hotpool: createBlocksDominancePattern(this, 'hotpool'), + okexpool: createBlocksDominancePattern(this, 'okexpool'), bcmonster: createBlocksDominancePattern(this, 'bcmonster'), onehash: createBlocksDominancePattern(this, 'onehash'), + bixin: createBlocksDominancePattern(this, 'bixin'), + tatmaspool: createBlocksDominancePattern(this, 'tatmaspool'), + connectbtc: createBlocksDominancePattern(this, 'connectbtc'), + batpool: createBlocksDominancePattern(this, 'batpool'), waterhole: createBlocksDominancePattern(this, 'waterhole'), dcexploration: createBlocksDominancePattern(this, 'dcexploration'), dcex: createBlocksDominancePattern(this, 'dcex'), + btpool: createBlocksDominancePattern(this, 'btpool'), + fiftyeightcoin: createBlocksDominancePattern(this, 'fiftyeightcoin'), + bitcoinindia: createBlocksDominancePattern(this, 'bitcoinindia'), shawnp0wers: createBlocksDominancePattern(this, 'shawnp0wers'), phashio: createBlocksDominancePattern(this, 'phashio'), rigpool: createBlocksDominancePattern(this, 'rigpool'), @@ -6880,19 +6872,32 @@ class BrkClient extends BrkClientBase { sevenpool: createBlocksDominancePattern(this, 'sevenpool'), miningkings: createBlocksDominancePattern(this, 'miningkings'), hashbx: createBlocksDominancePattern(this, 'hashbx'), + dpool: createBlocksDominancePattern(this, 'dpool'), rawpool: createBlocksDominancePattern(this, 'rawpool'), haominer: createBlocksDominancePattern(this, 'haominer'), helix: createBlocksDominancePattern(this, 'helix'), bitcoinukraine: createBlocksDominancePattern(this, 'bitcoinukraine'), + secretsuperstar: createBlocksDominancePattern(this, 'secretsuperstar'), + tigerpoolnet: createBlocksDominancePattern(this, 'tigerpoolnet'), + sigmapoolcom: createBlocksDominancePattern(this, 'sigmapoolcom'), + okpooltop: createBlocksDominancePattern(this, 'okpooltop'), hummerpool: createBlocksDominancePattern(this, 'hummerpool'), + tangpool: createBlocksDominancePattern(this, 'tangpool'), + bytepool: createBlocksDominancePattern(this, 'bytepool'), + novablock: createBlocksDominancePattern(this, 'novablock'), miningcity: createBlocksDominancePattern(this, 'miningcity'), minerium: createBlocksDominancePattern(this, 'minerium'), + lubiancom: createBlocksDominancePattern(this, 'lubiancom'), + okkong: createBlocksDominancePattern(this, 'okkong'), aaopool: createBlocksDominancePattern(this, 'aaopool'), + emcdpool: createBlocksDominancePattern(this, 'emcdpool'), arkpool: createBlocksDominancePattern(this, 'arkpool'), purebtccom: createBlocksDominancePattern(this, 'purebtccom'), + kucoinpool: createBlocksDominancePattern(this, 'kucoinpool'), entrustcharitypool: createBlocksDominancePattern(this, 'entrustcharitypool'), okminer: createBlocksDominancePattern(this, 'okminer'), titan: createBlocksDominancePattern(this, 'titan'), + pegapool: createBlocksDominancePattern(this, 'pegapool'), btcnuggets: createBlocksDominancePattern(this, 'btcnuggets'), cloudhashing: createBlocksDominancePattern(this, 'cloudhashing'), digitalxmintsy: createBlocksDominancePattern(this, 'digitalxmintsy'), diff --git a/packages/brk_client/brk_client/__init__.py b/packages/brk_client/brk_client/__init__.py index cf7939211..114085b4c 100644 --- a/packages/brk_client/brk_client/__init__.py +++ b/packages/brk_client/brk_client/__init__.py @@ -172,6 +172,8 @@ StoredBool = int StoredF32 = float # Fixed-size 64-bit floating point value optimized for on-disk storage StoredF64 = float +# Fixed-size 64-bit signed integer optimized for on-disk storage +StoredI64 = int StoredI8 = int StoredU16 = int # Fixed-size 32-bit unsigned integer optimized for on-disk storage @@ -2693,7 +2695,7 @@ class CoinblocksCoindaysSentPattern: def __init__(self, client: BrkClientBase, acc: str): """Create pattern node with accumulated metric name.""" - self.coinblocks_destroyed: CumulativeHeightSumPattern[StoredF64] = CumulativeHeightSumPattern(client, _m(acc, 'coinblocks_destroyed')) + self.coinblocks_destroyed: CumulativeHeightPattern[StoredF64] = CumulativeHeightPattern(client, _m(acc, 'coinblocks_destroyed')) self.coindays_destroyed: CumulativeHeightSumPattern[StoredF64] = CumulativeHeightSumPattern(client, _m(acc, 'coindays_destroyed')) self.sent: BaseCumulativePattern = BaseCumulativePattern(client, _m(acc, 'sent')) self.sent_ema: _2wPattern = _2wPattern(client, _m(acc, 'sent_ema_2w')) @@ -2853,7 +2855,7 @@ class ChangeRatePattern: def __init__(self, client: BrkClientBase, acc: str): """Create pattern node with accumulated metric name.""" - self.change: _1m1w1y24hPattern[StoredU64] = _1m1w1y24hPattern(client, _m(acc, 'change')) + self.change: _1m1w1y24hPattern[StoredI64] = _1m1w1y24hPattern(client, _m(acc, 'change')) self.rate: _1m1w1y24hPattern2 = _1m1w1y24hPattern2(client, _m(acc, 'rate')) class MaxMinPattern: @@ -4001,77 +4003,24 @@ class MetricsTree_Pools_Major: def __init__(self, client: BrkClientBase, base_path: str = ''): self.unknown: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'unknown') - self.ultimuspool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'ultimuspool') - self.terrapool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'terrapool') self.luxor: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'luxor') - self.onethash: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'onethash') self.btccom: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'btccom') - self.huobipool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'huobipool') - self.wayicn: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'wayicn') - self.canoepool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'canoepool') self.btctop: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'btctop') - self.bitcoincom: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'bitcoincom') - self.gbminers: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'gbminers') - self.asicminer: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'asicminer') - self.bitminter: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'bitminter') - self.bitcoinrussia: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'bitcoinrussia') self.btcguild: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'btcguild') self.eligius: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'eligius') - self.ozcoin: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'ozcoin') - self.eclipsemc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'eclipsemc') - self.maxbtc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'maxbtc') - self.triplemining: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'triplemining') - self.coinlab: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'coinlab') - self.pool50btc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'pool50btc') - self.ghashio: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'ghashio') - self.bitparking: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'bitparking') - self.polmine: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'polmine') - self.kncminer: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'kncminer') self.f2pool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'f2pool') - self.hhtt: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'hhtt') - self.megabigpower: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'megabigpower') - self.nmcbit: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'nmcbit') - self.yourbtcnet: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'yourbtcnet') self.braiinspool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'braiinspool') self.antpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'antpool') - self.kanopool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'kanopool') - self.solock: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'solock') - self.nicehash: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'nicehash') - self.bitclub: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'bitclub') - self.bitcoinaffiliatenetwork: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'bitcoinaffiliatenetwork') self.btcc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'btcc') self.bwpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'bwpool') - self.exxbw: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'exxbw') self.bitfury: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'bitfury') - self.digitalbtc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'digitalbtc') - self.okexpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'okexpool') - self.bixin: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'bixin') - self.tatmaspool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'tatmaspool') self.viabtc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'viabtc') - self.connectbtc: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'connectbtc') - self.batpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'batpool') - self.btpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'btpool') - self.fiftyeightcoin: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'fiftyeightcoin') - self.bitcoinindia: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'bitcoinindia') - self.dpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'dpool') self.poolin: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'poolin') - self.secretsuperstar: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'secretsuperstar') - self.tigerpoolnet: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'tigerpoolnet') - self.sigmapoolcom: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'sigmapoolcom') - self.okpooltop: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'okpooltop') - self.tangpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'tangpool') - self.bytepool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'bytepool') self.spiderpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'spiderpool') - self.novablock: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'novablock') self.binancepool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'binancepool') - self.lubiancom: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'lubiancom') - self.okkong: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'okkong') - self.emcdpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'emcdpool') self.foundryusa: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'foundryusa') self.sbicrypto: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'sbicrypto') self.marapool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'marapool') - self.kucoinpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'kucoinpool') - self.pegapool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'pegapool') self.secpool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'secpool') self.ocean: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'ocean') self.whitepool: _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern = _1m1w1y24hBaseBpsCumulativeHeightPercentRatioSumPattern(client, 'whitepool') @@ -4081,22 +4030,54 @@ class MetricsTree_Pools_Minor: def __init__(self, client: BrkClientBase, base_path: str = ''): self.blockfills: BlocksDominancePattern = BlocksDominancePattern(client, 'blockfills') + self.ultimuspool: BlocksDominancePattern = BlocksDominancePattern(client, 'ultimuspool') + self.terrapool: BlocksDominancePattern = BlocksDominancePattern(client, 'terrapool') + self.onethash: BlocksDominancePattern = BlocksDominancePattern(client, 'onethash') self.bitfarms: BlocksDominancePattern = BlocksDominancePattern(client, 'bitfarms') + self.huobipool: BlocksDominancePattern = BlocksDominancePattern(client, 'huobipool') + self.wayicn: BlocksDominancePattern = BlocksDominancePattern(client, 'wayicn') + self.canoepool: BlocksDominancePattern = BlocksDominancePattern(client, 'canoepool') + self.bitcoincom: BlocksDominancePattern = BlocksDominancePattern(client, 'bitcoincom') self.pool175btc: BlocksDominancePattern = BlocksDominancePattern(client, 'pool175btc') + self.gbminers: BlocksDominancePattern = BlocksDominancePattern(client, 'gbminers') self.axbt: BlocksDominancePattern = BlocksDominancePattern(client, 'axbt') + self.asicminer: BlocksDominancePattern = BlocksDominancePattern(client, 'asicminer') + self.bitminter: BlocksDominancePattern = BlocksDominancePattern(client, 'bitminter') + self.bitcoinrussia: BlocksDominancePattern = BlocksDominancePattern(client, 'bitcoinrussia') self.btcserv: BlocksDominancePattern = BlocksDominancePattern(client, 'btcserv') self.simplecoinus: BlocksDominancePattern = BlocksDominancePattern(client, 'simplecoinus') + self.ozcoin: BlocksDominancePattern = BlocksDominancePattern(client, 'ozcoin') + self.eclipsemc: BlocksDominancePattern = BlocksDominancePattern(client, 'eclipsemc') + self.maxbtc: BlocksDominancePattern = BlocksDominancePattern(client, 'maxbtc') + self.triplemining: BlocksDominancePattern = BlocksDominancePattern(client, 'triplemining') + self.coinlab: BlocksDominancePattern = BlocksDominancePattern(client, 'coinlab') + self.pool50btc: BlocksDominancePattern = BlocksDominancePattern(client, 'pool50btc') + self.ghashio: BlocksDominancePattern = BlocksDominancePattern(client, 'ghashio') self.stminingcorp: BlocksDominancePattern = BlocksDominancePattern(client, 'stminingcorp') + self.bitparking: BlocksDominancePattern = BlocksDominancePattern(client, 'bitparking') self.mmpool: BlocksDominancePattern = BlocksDominancePattern(client, 'mmpool') + self.polmine: BlocksDominancePattern = BlocksDominancePattern(client, 'polmine') + self.kncminer: BlocksDominancePattern = BlocksDominancePattern(client, 'kncminer') self.bitalo: BlocksDominancePattern = BlocksDominancePattern(client, 'bitalo') + self.hhtt: BlocksDominancePattern = BlocksDominancePattern(client, 'hhtt') + self.megabigpower: BlocksDominancePattern = BlocksDominancePattern(client, 'megabigpower') self.mtred: BlocksDominancePattern = BlocksDominancePattern(client, 'mtred') + self.nmcbit: BlocksDominancePattern = BlocksDominancePattern(client, 'nmcbit') + self.yourbtcnet: BlocksDominancePattern = BlocksDominancePattern(client, 'yourbtcnet') self.givemecoins: BlocksDominancePattern = BlocksDominancePattern(client, 'givemecoins') self.multicoinco: BlocksDominancePattern = BlocksDominancePattern(client, 'multicoinco') self.bcpoolio: BlocksDominancePattern = BlocksDominancePattern(client, 'bcpoolio') self.cointerra: BlocksDominancePattern = BlocksDominancePattern(client, 'cointerra') + self.kanopool: BlocksDominancePattern = BlocksDominancePattern(client, 'kanopool') + self.solock: BlocksDominancePattern = BlocksDominancePattern(client, 'solock') self.ckpool: BlocksDominancePattern = BlocksDominancePattern(client, 'ckpool') + self.nicehash: BlocksDominancePattern = BlocksDominancePattern(client, 'nicehash') + self.bitclub: BlocksDominancePattern = BlocksDominancePattern(client, 'bitclub') + self.bitcoinaffiliatenetwork: BlocksDominancePattern = BlocksDominancePattern(client, 'bitcoinaffiliatenetwork') + self.exxbw: BlocksDominancePattern = BlocksDominancePattern(client, 'exxbw') self.bitsolo: BlocksDominancePattern = BlocksDominancePattern(client, 'bitsolo') self.twentyoneinc: BlocksDominancePattern = BlocksDominancePattern(client, 'twentyoneinc') + self.digitalbtc: BlocksDominancePattern = BlocksDominancePattern(client, 'digitalbtc') self.eightbaochi: BlocksDominancePattern = BlocksDominancePattern(client, 'eightbaochi') self.mybtccoinpool: BlocksDominancePattern = BlocksDominancePattern(client, 'mybtccoinpool') self.tbdice: BlocksDominancePattern = BlocksDominancePattern(client, 'tbdice') @@ -4104,11 +4085,19 @@ class MetricsTree_Pools_Minor: self.nexious: BlocksDominancePattern = BlocksDominancePattern(client, 'nexious') self.bravomining: BlocksDominancePattern = BlocksDominancePattern(client, 'bravomining') self.hotpool: BlocksDominancePattern = BlocksDominancePattern(client, 'hotpool') + self.okexpool: BlocksDominancePattern = BlocksDominancePattern(client, 'okexpool') self.bcmonster: BlocksDominancePattern = BlocksDominancePattern(client, 'bcmonster') self.onehash: BlocksDominancePattern = BlocksDominancePattern(client, 'onehash') + self.bixin: BlocksDominancePattern = BlocksDominancePattern(client, 'bixin') + self.tatmaspool: BlocksDominancePattern = BlocksDominancePattern(client, 'tatmaspool') + self.connectbtc: BlocksDominancePattern = BlocksDominancePattern(client, 'connectbtc') + self.batpool: BlocksDominancePattern = BlocksDominancePattern(client, 'batpool') self.waterhole: BlocksDominancePattern = BlocksDominancePattern(client, 'waterhole') self.dcexploration: BlocksDominancePattern = BlocksDominancePattern(client, 'dcexploration') self.dcex: BlocksDominancePattern = BlocksDominancePattern(client, 'dcex') + self.btpool: BlocksDominancePattern = BlocksDominancePattern(client, 'btpool') + self.fiftyeightcoin: BlocksDominancePattern = BlocksDominancePattern(client, 'fiftyeightcoin') + self.bitcoinindia: BlocksDominancePattern = BlocksDominancePattern(client, 'bitcoinindia') self.shawnp0wers: BlocksDominancePattern = BlocksDominancePattern(client, 'shawnp0wers') self.phashio: BlocksDominancePattern = BlocksDominancePattern(client, 'phashio') self.rigpool: BlocksDominancePattern = BlocksDominancePattern(client, 'rigpool') @@ -4116,19 +4105,32 @@ class MetricsTree_Pools_Minor: self.sevenpool: BlocksDominancePattern = BlocksDominancePattern(client, 'sevenpool') self.miningkings: BlocksDominancePattern = BlocksDominancePattern(client, 'miningkings') self.hashbx: BlocksDominancePattern = BlocksDominancePattern(client, 'hashbx') + self.dpool: BlocksDominancePattern = BlocksDominancePattern(client, 'dpool') self.rawpool: BlocksDominancePattern = BlocksDominancePattern(client, 'rawpool') self.haominer: BlocksDominancePattern = BlocksDominancePattern(client, 'haominer') self.helix: BlocksDominancePattern = BlocksDominancePattern(client, 'helix') self.bitcoinukraine: BlocksDominancePattern = BlocksDominancePattern(client, 'bitcoinukraine') + self.secretsuperstar: BlocksDominancePattern = BlocksDominancePattern(client, 'secretsuperstar') + self.tigerpoolnet: BlocksDominancePattern = BlocksDominancePattern(client, 'tigerpoolnet') + self.sigmapoolcom: BlocksDominancePattern = BlocksDominancePattern(client, 'sigmapoolcom') + self.okpooltop: BlocksDominancePattern = BlocksDominancePattern(client, 'okpooltop') self.hummerpool: BlocksDominancePattern = BlocksDominancePattern(client, 'hummerpool') + self.tangpool: BlocksDominancePattern = BlocksDominancePattern(client, 'tangpool') + self.bytepool: BlocksDominancePattern = BlocksDominancePattern(client, 'bytepool') + self.novablock: BlocksDominancePattern = BlocksDominancePattern(client, 'novablock') self.miningcity: BlocksDominancePattern = BlocksDominancePattern(client, 'miningcity') self.minerium: BlocksDominancePattern = BlocksDominancePattern(client, 'minerium') + self.lubiancom: BlocksDominancePattern = BlocksDominancePattern(client, 'lubiancom') + self.okkong: BlocksDominancePattern = BlocksDominancePattern(client, 'okkong') self.aaopool: BlocksDominancePattern = BlocksDominancePattern(client, 'aaopool') + self.emcdpool: BlocksDominancePattern = BlocksDominancePattern(client, 'emcdpool') self.arkpool: BlocksDominancePattern = BlocksDominancePattern(client, 'arkpool') self.purebtccom: BlocksDominancePattern = BlocksDominancePattern(client, 'purebtccom') + self.kucoinpool: BlocksDominancePattern = BlocksDominancePattern(client, 'kucoinpool') self.entrustcharitypool: BlocksDominancePattern = BlocksDominancePattern(client, 'entrustcharitypool') self.okminer: BlocksDominancePattern = BlocksDominancePattern(client, 'okminer') self.titan: BlocksDominancePattern = BlocksDominancePattern(client, 'titan') + self.pegapool: BlocksDominancePattern = BlocksDominancePattern(client, 'pegapool') self.btcnuggets: BlocksDominancePattern = BlocksDominancePattern(client, 'btcnuggets') self.cloudhashing: BlocksDominancePattern = BlocksDominancePattern(client, 'cloudhashing') self.digitalxmintsy: BlocksDominancePattern = BlocksDominancePattern(client, 'digitalxmintsy')