From eccbda34ee67383d6314fd9ada8c40529c88d21c Mon Sep 17 00:00:00 2001 From: nym21 Date: Tue, 28 Jul 2026 22:26:29 +0200 Subject: [PATCH] next: ai part 10 --- crates/brk_client/src/lib.rs | 690 ++++++++--------- .../src/blocks/difficulty/compute.rs | 2 +- .../brk_computer/src/blocks/weight/compute.rs | 2 +- .../distribution/metrics/cost_basis/mod.rs | 6 +- .../src/distribution/metrics/supply/base.rs | 2 +- .../frameworks/cointime/adjusted/compute.rs | 4 +- crates/brk_computer/src/indicators/gini.rs | 12 +- .../src/internal/containers/percent.rs | 2 +- .../src/internal/per_block/percent/base.rs | 16 +- .../src/internal/per_block/percent/lazy.rs | 14 +- .../percent/lazy_cumulative_rolling.rs | 2 +- .../per_block/percent/lazy_windows.rs | 2 +- .../src/internal/per_block/percent/vec.rs | 10 +- .../src/internal/per_block/rolling/delta.rs | 36 +- .../src/internal/with_addr_types.rs | 4 +- crates/brk_computer/src/investing/compute.rs | 4 +- .../brk_computer/src/market/range/compute.rs | 2 +- .../src/market/returns/compute.rs | 4 +- .../brk_computer/src/market/technical/rsi.rs | 26 +- .../src/models/bedrock/compute.rs | 2 +- crates/brk_computer/src/supply/compute.rs | 12 +- modules/brk-client/index.js | 706 +++++++++--------- packages/brk_client/brk_client/__init__.py | 344 ++++----- website/.gitignore | 1 + website/scripts/options/unused.js | 1 + .../ask/tools/session/capabilities.js | 2 +- 26 files changed, 955 insertions(+), 953 deletions(-) diff --git a/crates/brk_client/src/lib.rs b/crates/brk_client/src/lib.rs index 107d02db8..37b55baec 100644 --- a/crates/brk_client/src/lib.rs +++ b/crates/brk_client/src/lib.rs @@ -1217,36 +1217,36 @@ impl _10y1m1w1y2y3m3y4y5y6m6y8yPattern3 { /// Pattern struct for repeated tree structure. pub struct _10y1m1w1y2y3m3y4y5y6m6y8yPattern2 { - pub _10y: PercentRatioRawPattern, - pub _1m: PercentRatioRawPattern, - pub _1w: PercentRatioRawPattern, - pub _1y: PercentRatioRawPattern, - pub _2y: PercentRatioRawPattern, - pub _3m: PercentRatioRawPattern, - pub _3y: PercentRatioRawPattern, - pub _4y: PercentRatioRawPattern, - pub _5y: PercentRatioRawPattern, - pub _6m: PercentRatioRawPattern, - pub _6y: PercentRatioRawPattern, - pub _8y: PercentRatioRawPattern, + pub _10y: PercentPpmRatioPattern, + pub _1m: PercentPpmRatioPattern, + pub _1w: PercentPpmRatioPattern, + pub _1y: PercentPpmRatioPattern, + pub _2y: PercentPpmRatioPattern, + pub _3m: PercentPpmRatioPattern, + pub _3y: PercentPpmRatioPattern, + pub _4y: PercentPpmRatioPattern, + pub _5y: PercentPpmRatioPattern, + pub _6m: PercentPpmRatioPattern, + pub _6y: PercentPpmRatioPattern, + pub _8y: PercentPpmRatioPattern, } impl _10y1m1w1y2y3m3y4y5y6m6y8yPattern2 { /// Create a new pattern node with accumulated series name. pub fn new(client: Arc, acc: String) -> Self { Self { - _10y: PercentRatioRawPattern::new(client.clone(), _m(&acc, "10y")), - _1m: PercentRatioRawPattern::new(client.clone(), _m(&acc, "1m")), - _1w: PercentRatioRawPattern::new(client.clone(), _m(&acc, "1w")), - _1y: PercentRatioRawPattern::new(client.clone(), _m(&acc, "1y")), - _2y: PercentRatioRawPattern::new(client.clone(), _m(&acc, "2y")), - _3m: PercentRatioRawPattern::new(client.clone(), _m(&acc, "3m")), - _3y: PercentRatioRawPattern::new(client.clone(), _m(&acc, "3y")), - _4y: PercentRatioRawPattern::new(client.clone(), _m(&acc, "4y")), - _5y: PercentRatioRawPattern::new(client.clone(), _m(&acc, "5y")), - _6m: PercentRatioRawPattern::new(client.clone(), _m(&acc, "6m")), - _6y: PercentRatioRawPattern::new(client.clone(), _m(&acc, "6y")), - _8y: PercentRatioRawPattern::new(client.clone(), _m(&acc, "8y")), + _10y: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "10y")), + _1m: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "1m")), + _1w: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "1w")), + _1y: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "1y")), + _2y: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "2y")), + _3m: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "3m")), + _3y: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "3y")), + _4y: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "4y")), + _5y: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "5y")), + _6m: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "6m")), + _6y: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "6y")), + _8y: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "8y")), } } } @@ -1301,36 +1301,36 @@ pub struct CapCapitalizedGrossLossMvrvNetPeakPriceProfitSellSoprPattern2 { /// Pattern struct for repeated tree structure. pub struct EmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2 { - pub empty: _1m1w1y24hPercentRatioRawPattern, - pub op_return: _1m1w1y24hPercentRatioRawPattern, - pub p2a: _1m1w1y24hPercentRatioRawPattern, - pub p2ms: _1m1w1y24hPercentRatioRawPattern, - pub p2pk33: _1m1w1y24hPercentRatioRawPattern, - pub p2pk65: _1m1w1y24hPercentRatioRawPattern, - pub p2pkh: _1m1w1y24hPercentRatioRawPattern, - pub p2sh: _1m1w1y24hPercentRatioRawPattern, - pub p2tr: _1m1w1y24hPercentRatioRawPattern, - pub p2wpkh: _1m1w1y24hPercentRatioRawPattern, - pub p2wsh: _1m1w1y24hPercentRatioRawPattern, - pub unknown: _1m1w1y24hPercentRatioRawPattern, + pub empty: _1m1w1y24hPercentPpmRatioPattern, + pub op_return: _1m1w1y24hPercentPpmRatioPattern, + pub p2a: _1m1w1y24hPercentPpmRatioPattern, + pub p2ms: _1m1w1y24hPercentPpmRatioPattern, + pub p2pk33: _1m1w1y24hPercentPpmRatioPattern, + pub p2pk65: _1m1w1y24hPercentPpmRatioPattern, + pub p2pkh: _1m1w1y24hPercentPpmRatioPattern, + pub p2sh: _1m1w1y24hPercentPpmRatioPattern, + pub p2tr: _1m1w1y24hPercentPpmRatioPattern, + pub p2wpkh: _1m1w1y24hPercentPpmRatioPattern, + pub p2wsh: _1m1w1y24hPercentPpmRatioPattern, + pub unknown: _1m1w1y24hPercentPpmRatioPattern, } impl EmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2 { /// Create a new pattern node with accumulated series name. pub fn new(client: Arc, acc: String) -> Self { Self { - empty: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "empty_outputs_output")), - op_return: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "op_return_output")), - p2a: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2a_output")), - p2ms: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2ms_output")), - p2pk33: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2pk33_output")), - p2pk65: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2pk65_output")), - p2pkh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2pkh_output")), - p2sh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2sh_output")), - p2tr: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2tr_output")), - p2wpkh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2wpkh_output")), - p2wsh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2wsh_output")), - unknown: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "unknown_outputs_output")), + empty: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "empty_outputs_output")), + op_return: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "op_return_output")), + p2a: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2a_output")), + p2ms: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2ms_output")), + p2pk33: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2pk33_output")), + p2pk65: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2pk65_output")), + p2pkh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2pkh_output")), + p2sh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2sh_output")), + p2tr: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2tr_output")), + p2wpkh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2wpkh_output")), + p2wsh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2wsh_output")), + unknown: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "unknown_outputs_output")), } } } @@ -1371,34 +1371,34 @@ impl AverageBlockCumulativeMaxMedianMinPct10Pct25Pct75Pct90SumPattern { /// Pattern struct for repeated tree structure. pub struct EmptyP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2 { - pub empty: _1m1w1y24hPercentRatioRawPattern, - pub p2a: _1m1w1y24hPercentRatioRawPattern, - pub p2ms: _1m1w1y24hPercentRatioRawPattern, - pub p2pk33: _1m1w1y24hPercentRatioRawPattern, - pub p2pk65: _1m1w1y24hPercentRatioRawPattern, - pub p2pkh: _1m1w1y24hPercentRatioRawPattern, - pub p2sh: _1m1w1y24hPercentRatioRawPattern, - pub p2tr: _1m1w1y24hPercentRatioRawPattern, - pub p2wpkh: _1m1w1y24hPercentRatioRawPattern, - pub p2wsh: _1m1w1y24hPercentRatioRawPattern, - pub unknown: _1m1w1y24hPercentRatioRawPattern, + pub empty: _1m1w1y24hPercentPpmRatioPattern, + pub p2a: _1m1w1y24hPercentPpmRatioPattern, + pub p2ms: _1m1w1y24hPercentPpmRatioPattern, + pub p2pk33: _1m1w1y24hPercentPpmRatioPattern, + pub p2pk65: _1m1w1y24hPercentPpmRatioPattern, + pub p2pkh: _1m1w1y24hPercentPpmRatioPattern, + pub p2sh: _1m1w1y24hPercentPpmRatioPattern, + pub p2tr: _1m1w1y24hPercentPpmRatioPattern, + pub p2wpkh: _1m1w1y24hPercentPpmRatioPattern, + pub p2wsh: _1m1w1y24hPercentPpmRatioPattern, + pub unknown: _1m1w1y24hPercentPpmRatioPattern, } impl EmptyP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2 { /// Create a new pattern node with accumulated series name. pub fn new(client: Arc, acc: String) -> Self { Self { - empty: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "empty_outputs_prevout")), - p2a: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2a_prevout")), - p2ms: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2ms_prevout")), - p2pk33: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2pk33_prevout")), - p2pk65: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2pk65_prevout")), - p2pkh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2pkh_prevout")), - p2sh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2sh_prevout")), - p2tr: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2tr_prevout")), - p2wpkh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2wpkh_prevout")), - p2wsh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "p2wsh_prevout")), - unknown: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "unknown_outputs_prevout")), + empty: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "empty_outputs_prevout")), + p2a: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2a_prevout")), + p2ms: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2ms_prevout")), + p2pk33: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2pk33_prevout")), + p2pk65: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2pk65_prevout")), + p2pkh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2pkh_prevout")), + p2sh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2sh_prevout")), + p2tr: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2tr_prevout")), + p2wpkh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2wpkh_prevout")), + p2wsh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "p2wsh_prevout")), + unknown: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "unknown_outputs_prevout")), } } } @@ -1515,30 +1515,30 @@ impl AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6 { /// Pattern struct for repeated tree structure. pub struct AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern5 { - pub all: PercentRatioRawPattern2, - pub p2a: PercentRatioRawPattern2, - pub p2pk33: PercentRatioRawPattern2, - pub p2pk65: PercentRatioRawPattern2, - pub p2pkh: PercentRatioRawPattern2, - pub p2sh: PercentRatioRawPattern2, - pub p2tr: PercentRatioRawPattern2, - pub p2wpkh: PercentRatioRawPattern2, - pub p2wsh: PercentRatioRawPattern2, + pub all: PercentPpmRatioPattern2, + pub p2a: PercentPpmRatioPattern2, + pub p2pk33: PercentPpmRatioPattern2, + pub p2pk65: PercentPpmRatioPattern2, + pub p2pkh: PercentPpmRatioPattern2, + pub p2sh: PercentPpmRatioPattern2, + pub p2tr: PercentPpmRatioPattern2, + pub p2wpkh: PercentPpmRatioPattern2, + pub p2wsh: PercentPpmRatioPattern2, } impl AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern5 { /// Create a new pattern node with accumulated series name. pub fn new(client: Arc, acc: String) -> Self { Self { - all: PercentRatioRawPattern2::new(client.clone(), acc.clone()), - p2a: PercentRatioRawPattern2::new(client.clone(), _p("p2a", &acc)), - p2pk33: PercentRatioRawPattern2::new(client.clone(), _p("p2pk33", &acc)), - p2pk65: PercentRatioRawPattern2::new(client.clone(), _p("p2pk65", &acc)), - p2pkh: PercentRatioRawPattern2::new(client.clone(), _p("p2pkh", &acc)), - p2sh: PercentRatioRawPattern2::new(client.clone(), _p("p2sh", &acc)), - p2tr: PercentRatioRawPattern2::new(client.clone(), _p("p2tr", &acc)), - p2wpkh: PercentRatioRawPattern2::new(client.clone(), _p("p2wpkh", &acc)), - p2wsh: PercentRatioRawPattern2::new(client.clone(), _p("p2wsh", &acc)), + all: PercentPpmRatioPattern2::new(client.clone(), acc.clone()), + p2a: PercentPpmRatioPattern2::new(client.clone(), _p("p2a", &acc)), + p2pk33: PercentPpmRatioPattern2::new(client.clone(), _p("p2pk33", &acc)), + p2pk65: PercentPpmRatioPattern2::new(client.clone(), _p("p2pk65", &acc)), + p2pkh: PercentPpmRatioPattern2::new(client.clone(), _p("p2pkh", &acc)), + p2sh: PercentPpmRatioPattern2::new(client.clone(), _p("p2sh", &acc)), + p2tr: PercentPpmRatioPattern2::new(client.clone(), _p("p2tr", &acc)), + p2wpkh: PercentPpmRatioPattern2::new(client.clone(), _p("p2wpkh", &acc)), + p2wsh: PercentPpmRatioPattern2::new(client.clone(), _p("p2wsh", &acc)), } } } @@ -1575,30 +1575,30 @@ impl AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4 { /// Pattern struct for repeated tree structure. pub struct AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7 { - pub all: _1m1w1y24hPercentRatioRawPattern, - pub p2a: _1m1w1y24hPercentRatioRawPattern, - pub p2pk33: _1m1w1y24hPercentRatioRawPattern, - pub p2pk65: _1m1w1y24hPercentRatioRawPattern, - pub p2pkh: _1m1w1y24hPercentRatioRawPattern, - pub p2sh: _1m1w1y24hPercentRatioRawPattern, - pub p2tr: _1m1w1y24hPercentRatioRawPattern, - pub p2wpkh: _1m1w1y24hPercentRatioRawPattern, - pub p2wsh: _1m1w1y24hPercentRatioRawPattern, + pub all: _1m1w1y24hPercentPpmRatioPattern, + pub p2a: _1m1w1y24hPercentPpmRatioPattern, + pub p2pk33: _1m1w1y24hPercentPpmRatioPattern, + pub p2pk65: _1m1w1y24hPercentPpmRatioPattern, + pub p2pkh: _1m1w1y24hPercentPpmRatioPattern, + pub p2sh: _1m1w1y24hPercentPpmRatioPattern, + pub p2tr: _1m1w1y24hPercentPpmRatioPattern, + pub p2wpkh: _1m1w1y24hPercentPpmRatioPattern, + pub p2wsh: _1m1w1y24hPercentPpmRatioPattern, } impl AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7 { /// Create a new pattern node with accumulated series name. pub fn new(client: Arc, acc: String) -> Self { Self { - all: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), acc.clone()), - p2a: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _p("p2a", &acc)), - p2pk33: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _p("p2pk33", &acc)), - p2pk65: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _p("p2pk65", &acc)), - p2pkh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _p("p2pkh", &acc)), - p2sh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _p("p2sh", &acc)), - p2tr: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _p("p2tr", &acc)), - p2wpkh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _p("p2wpkh", &acc)), - p2wsh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _p("p2wsh", &acc)), + all: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), acc.clone()), + p2a: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _p("p2a", &acc)), + p2pk33: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _p("p2pk33", &acc)), + p2pk65: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _p("p2pk65", &acc)), + p2pkh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _p("p2pkh", &acc)), + p2sh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _p("p2sh", &acc)), + p2tr: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _p("p2tr", &acc)), + p2wpkh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _p("p2wpkh", &acc)), + p2wsh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _p("p2wsh", &acc)), } } } @@ -1735,52 +1735,52 @@ impl Pct0Pct1Pct2Pct5Pct95Pct98Pct99Pattern { /// Pattern struct for repeated tree structure. pub struct _10y2y3y4y5y6y8yPattern { - pub _10y: PercentRatioRawPattern, - pub _2y: PercentRatioRawPattern, - pub _3y: PercentRatioRawPattern, - pub _4y: PercentRatioRawPattern, - pub _5y: PercentRatioRawPattern, - pub _6y: PercentRatioRawPattern, - pub _8y: PercentRatioRawPattern, + pub _10y: PercentPpmRatioPattern, + pub _2y: PercentPpmRatioPattern, + pub _3y: PercentPpmRatioPattern, + pub _4y: PercentPpmRatioPattern, + pub _5y: PercentPpmRatioPattern, + pub _6y: PercentPpmRatioPattern, + pub _8y: PercentPpmRatioPattern, } impl _10y2y3y4y5y6y8yPattern { /// Create a new pattern node with accumulated series name. pub fn new(client: Arc, acc: String) -> Self { Self { - _10y: PercentRatioRawPattern::new(client.clone(), _m(&acc, "10y")), - _2y: PercentRatioRawPattern::new(client.clone(), _m(&acc, "2y")), - _3y: PercentRatioRawPattern::new(client.clone(), _m(&acc, "3y")), - _4y: PercentRatioRawPattern::new(client.clone(), _m(&acc, "4y")), - _5y: PercentRatioRawPattern::new(client.clone(), _m(&acc, "5y")), - _6y: PercentRatioRawPattern::new(client.clone(), _m(&acc, "6y")), - _8y: PercentRatioRawPattern::new(client.clone(), _m(&acc, "8y")), + _10y: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "10y")), + _2y: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "2y")), + _3y: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "3y")), + _4y: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "4y")), + _5y: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "5y")), + _6y: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "6y")), + _8y: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "8y")), } } } /// Pattern struct for repeated tree structure. -pub struct _1m1w1y24hPercentRatioRawPattern { - pub _1m: PercentRatioRawPattern2, - pub _1w: PercentRatioRawPattern2, - pub _1y: PercentRatioRawPattern2, - pub _24h: PercentRatioRawPattern2, +pub struct _1m1w1y24hPercentPpmRatioPattern { + pub _1m: PercentPpmRatioPattern2, + pub _1w: PercentPpmRatioPattern2, + pub _1y: PercentPpmRatioPattern2, + pub _24h: PercentPpmRatioPattern2, pub percent: SeriesPattern1, + pub ppm: SeriesPattern1, pub ratio: SeriesPattern1, - pub raw: SeriesPattern1, } -impl _1m1w1y24hPercentRatioRawPattern { +impl _1m1w1y24hPercentPpmRatioPattern { /// Create a new pattern node with accumulated series name. pub fn new(client: Arc, acc: String) -> Self { Self { - _1m: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "1m")), - _1w: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "1w")), - _1y: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "1y")), - _24h: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "24h")), + _1m: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "1m")), + _1w: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "1w")), + _1y: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "1y")), + _24h: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "24h")), percent: SeriesPattern1::new(client.clone(), acc.clone()), + ppm: SeriesPattern1::new(client.clone(), _m(&acc, "ppm")), ratio: SeriesPattern1::new(client.clone(), _m(&acc, "ratio")), - raw: SeriesPattern1::new(client.clone(), _m(&acc, "ppm")), } } } @@ -1793,7 +1793,7 @@ pub struct ActiveInputOutputSpendablePattern { pub input_from_reused_addr_share: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7, pub output_to_reused_addr_count: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6, pub output_to_reused_addr_share: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7, - pub spendable_output_to_reused_addr_share: _1m1w1y24hPercentRatioRawPattern, + pub spendable_output_to_reused_addr_share: _1m1w1y24hPercentPpmRatioPattern, } /// Pattern struct for repeated tree structure. @@ -1867,7 +1867,7 @@ pub struct InMaxMinPerSupplyPattern { pub min: CentsSatsUsdPattern, pub per_coin: Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern, pub per_dollar: Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern, - pub supply_density: PercentRatioRawPattern2, + pub supply_density: PercentPpmRatioPattern2, } impl InMaxMinPerSupplyPattern { @@ -1880,7 +1880,7 @@ impl InMaxMinPerSupplyPattern { min: CentsSatsUsdPattern::new(client.clone(), _m(&acc, "cost_basis_min")), per_coin: Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern::new(client.clone(), _m(&acc, "cost_basis_per_coin")), per_dollar: Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern::new(client.clone(), _m(&acc, "cost_basis_per_dollar")), - supply_density: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "supply_density")), + supply_density: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "supply_density")), } } } @@ -2013,9 +2013,9 @@ impl AverageBlockCumulativeInSumPattern { pub struct CentsNegativeToUsdPattern2 { pub cents: SeriesPattern1, pub negative: SeriesPattern1, - pub to_mcap: PercentRatioRawPattern2, - pub to_own_gross_pnl: PercentRatioRawPattern2, - pub to_own_mcap: PercentRatioRawPattern2, + pub to_mcap: PercentPpmRatioPattern2, + pub to_own_gross_pnl: PercentPpmRatioPattern2, + pub to_own_mcap: PercentPpmRatioPattern2, pub usd: SeriesPattern1, } @@ -2025,9 +2025,9 @@ impl CentsNegativeToUsdPattern2 { Self { cents: SeriesPattern1::new(client.clone(), _m(&acc, "cents")), negative: SeriesPattern1::new(client.clone(), _m(&acc, "neg")), - to_mcap: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "to_mcap")), - to_own_gross_pnl: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "to_own_gross_pnl")), - to_own_mcap: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "to_own_mcap")), + to_mcap: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "to_mcap")), + to_own_gross_pnl: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "to_own_gross_pnl")), + to_own_mcap: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "to_own_mcap")), usd: SeriesPattern1::new(client.clone(), acc.clone()), } } @@ -2059,9 +2059,9 @@ impl CentsPercentilesRatioRawSatsUsdPattern { /// Pattern struct for repeated tree structure. pub struct ChainDataOutputTxPattern { - pub chain_share: PercentRatioRawPattern2, + pub chain_share: PercentPpmRatioPattern2, pub data_bytes: AverageBlockCumulativeSumPattern, - pub data_share: PercentRatioRawPattern2, + pub data_share: PercentPpmRatioPattern2, pub output_count: AverageBlockCumulativeSumPattern, pub tx_count: AverageBlockCumulativeSumPattern, pub tx_vsize: AverageBlockCumulativeSumPattern, @@ -2071,9 +2071,9 @@ impl ChainDataOutputTxPattern { /// Create a new pattern node with accumulated series name. pub fn new(client: Arc, acc: String) -> Self { Self { - chain_share: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "chain_share")), + chain_share: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "chain_share")), data_bytes: AverageBlockCumulativeSumPattern::new(client.clone(), _m(&acc, "data_bytes")), - data_share: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "data_share")), + data_share: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "data_share")), output_count: AverageBlockCumulativeSumPattern::new(client.clone(), _m(&acc, "output_count")), tx_count: AverageBlockCumulativeSumPattern::new(client.clone(), _m(&acc, "tx_count")), tx_vsize: AverageBlockCumulativeSumPattern::new(client.clone(), _m(&acc, "tx_vsize")), @@ -2084,7 +2084,7 @@ impl ChainDataOutputTxPattern { /// Pattern struct for repeated tree structure. pub struct DeltaDominanceHalfInTotalPattern2 { pub delta: AbsoluteRatePattern3, - pub dominance: PercentRatioRawPattern2, + pub dominance: PercentPpmRatioPattern2, pub half: BtcCentsSatsUsdPattern, pub in_loss: BtcCentsSatsShareUsdPattern, pub in_profit: BtcCentsSatsShareUsdPattern, @@ -2096,7 +2096,7 @@ impl DeltaDominanceHalfInTotalPattern2 { pub fn new(client: Arc, acc: String) -> Self { Self { delta: AbsoluteRatePattern3::new(client.clone(), _m(&acc, "delta")), - dominance: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "dominance")), + dominance: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "dominance")), half: BtcCentsSatsUsdPattern::new(client.clone(), _m(&acc, "half")), in_loss: BtcCentsSatsShareUsdPattern::new(client.clone(), _m(&acc, "in_loss")), in_profit: BtcCentsSatsShareUsdPattern::new(client.clone(), _m(&acc, "in_profit")), @@ -2108,7 +2108,7 @@ impl DeltaDominanceHalfInTotalPattern2 { /// Pattern struct for repeated tree structure. pub struct DeltaDominanceHalfInTotalPattern { pub delta: AbsoluteRatePattern3, - pub dominance: PercentRatioRawPattern2, + pub dominance: PercentPpmRatioPattern2, pub half: BtcCentsSatsUsdPattern, pub in_loss: BtcCentsSatsUsdPattern, pub in_profit: BtcCentsSatsUsdPattern, @@ -2120,7 +2120,7 @@ impl DeltaDominanceHalfInTotalPattern { pub fn new(client: Arc, acc: String) -> Self { Self { delta: AbsoluteRatePattern3::new(client.clone(), _m(&acc, "delta")), - dominance: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "dominance")), + dominance: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "dominance")), half: BtcCentsSatsUsdPattern::new(client.clone(), _m(&acc, "half")), in_loss: BtcCentsSatsUsdPattern::new(client.clone(), _m(&acc, "in_loss")), in_profit: BtcCentsSatsUsdPattern::new(client.clone(), _m(&acc, "in_profit")), @@ -2319,7 +2319,7 @@ pub struct BtcCentsSatsShareUsdPattern { pub btc: SeriesPattern1, pub cents: SeriesPattern1, pub sats: SeriesPattern1, - pub share: PercentRatioRawPattern2, + pub share: PercentPpmRatioPattern2, pub usd: SeriesPattern1, } @@ -2330,7 +2330,7 @@ impl BtcCentsSatsShareUsdPattern { btc: SeriesPattern1::new(client.clone(), acc.clone()), cents: SeriesPattern1::new(client.clone(), _m(&acc, "cents")), sats: SeriesPattern1::new(client.clone(), _m(&acc, "sats")), - share: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "share")), + share: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "share")), usd: SeriesPattern1::new(client.clone(), _m(&acc, "usd")), } } @@ -2383,9 +2383,9 @@ impl CentsRatioRawSatsUsdPattern { /// Pattern struct for repeated tree structure. pub struct CentsToUsdPattern4 { pub cents: SeriesPattern1, - pub to_mcap: PercentRatioRawPattern2, - pub to_own_gross_pnl: PercentRatioRawPattern2, - pub to_own_mcap: PercentRatioRawPattern2, + pub to_mcap: PercentPpmRatioPattern2, + pub to_own_gross_pnl: PercentPpmRatioPattern2, + pub to_own_mcap: PercentPpmRatioPattern2, pub usd: SeriesPattern1, } @@ -2394,9 +2394,9 @@ impl CentsToUsdPattern4 { pub fn new(client: Arc, acc: String) -> Self { Self { cents: SeriesPattern1::new(client.clone(), _m(&acc, "cents")), - to_mcap: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "to_mcap")), - to_own_gross_pnl: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "to_own_gross_pnl")), - to_own_mcap: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "to_own_mcap")), + to_mcap: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "to_mcap")), + to_own_gross_pnl: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "to_own_gross_pnl")), + to_own_mcap: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "to_own_mcap")), usd: SeriesPattern1::new(client.clone(), acc.clone()), } } @@ -2415,7 +2415,7 @@ pub struct EmaHistogramLineSignalPattern { pub struct PhsReboundThsPattern { pub phs: SeriesPattern1, pub phs_min: SeriesPattern1, - pub rebound: PercentRatioRawPattern, + pub rebound: PercentPpmRatioPattern, pub ths: SeriesPattern1, pub ths_min: SeriesPattern1, } @@ -2426,7 +2426,7 @@ impl PhsReboundThsPattern { Self { phs: SeriesPattern1::new(client.clone(), _m(&acc, "phs")), phs_min: SeriesPattern1::new(client.clone(), _m(&acc, "phs_min")), - rebound: PercentRatioRawPattern::new(client.clone(), _m(&acc, "rebound")), + rebound: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "rebound")), ths: SeriesPattern1::new(client.clone(), _m(&acc, "ths")), ths_min: SeriesPattern1::new(client.clone(), _m(&acc, "ths_min")), } @@ -2577,40 +2577,40 @@ impl _1m1w1y24hPattern6 { /// Pattern struct for repeated tree structure. pub struct _1m1w1y24hPattern2 { - pub _1m: PercentRatioRawPattern, - pub _1w: PercentRatioRawPattern, - pub _1y: PercentRatioRawPattern, - pub _24h: PercentRatioRawPattern, + pub _1m: PercentPpmRatioPattern, + pub _1w: PercentPpmRatioPattern, + pub _1y: PercentPpmRatioPattern, + pub _24h: PercentPpmRatioPattern, } impl _1m1w1y24hPattern2 { /// Create a new pattern node with accumulated series name. pub fn new(client: Arc, acc: String) -> Self { Self { - _1m: PercentRatioRawPattern::new(client.clone(), _m(&acc, "1m_rate")), - _1w: PercentRatioRawPattern::new(client.clone(), _m(&acc, "1w_rate")), - _1y: PercentRatioRawPattern::new(client.clone(), _m(&acc, "1y_rate")), - _24h: PercentRatioRawPattern::new(client.clone(), _m(&acc, "24h_rate")), + _1m: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "1m_rate")), + _1w: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "1w_rate")), + _1y: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "1y_rate")), + _24h: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "24h_rate")), } } } /// Pattern struct for repeated tree structure. pub struct _1m1w1y24hPattern8 { - pub _1m: PercentRatioRawPattern2, - pub _1w: PercentRatioRawPattern2, - pub _1y: PercentRatioRawPattern2, - pub _24h: PercentRatioRawPattern2, + pub _1m: PercentPpmRatioPattern2, + pub _1w: PercentPpmRatioPattern2, + pub _1y: PercentPpmRatioPattern2, + pub _24h: PercentPpmRatioPattern2, } impl _1m1w1y24hPattern8 { /// Create a new pattern node with accumulated series name. pub fn new(client: Arc, acc: String) -> Self { Self { - _1m: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "1m")), - _1w: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "1w")), - _1y: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "1y")), - _24h: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "24h")), + _1m: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "1m")), + _1w: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "1w")), + _1y: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "1y")), + _24h: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "24h")), } } } @@ -2767,7 +2767,7 @@ impl BtcCentsSatsUsdPattern3 { pub struct CentsDeltaToUsdPattern { pub cents: SeriesPattern1, pub delta: AbsoluteRatePattern2, - pub to_own_mcap: PercentRatioRawPattern2, + pub to_own_mcap: PercentPpmRatioPattern2, pub usd: SeriesPattern1, } @@ -2777,7 +2777,7 @@ impl CentsDeltaToUsdPattern { Self { cents: SeriesPattern1::new(client.clone(), _m(&acc, "cents")), delta: AbsoluteRatePattern2::new(client.clone(), _m(&acc, "delta")), - to_own_mcap: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "to_own_mcap")), + to_own_mcap: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "to_own_mcap")), usd: SeriesPattern1::new(client.clone(), acc.clone()), } } @@ -2786,8 +2786,8 @@ impl CentsDeltaToUsdPattern { /// Pattern struct for repeated tree structure. pub struct CentsToUsdPattern3 { pub cents: SeriesPattern1, - pub to_own_gross_pnl: PercentRatioRawPattern3, - pub to_own_mcap: PercentRatioRawPattern3, + pub to_own_gross_pnl: PercentPpmRatioPattern3, + pub to_own_mcap: PercentPpmRatioPattern3, pub usd: SeriesPattern1, } @@ -2796,8 +2796,8 @@ impl CentsToUsdPattern3 { pub fn new(client: Arc, acc: String) -> Self { Self { cents: SeriesPattern1::new(client.clone(), _m(&acc, "cents")), - to_own_gross_pnl: PercentRatioRawPattern3::new(client.clone(), _m(&acc, "to_own_gross_pnl")), - to_own_mcap: PercentRatioRawPattern3::new(client.clone(), _m(&acc, "to_own_mcap")), + to_own_gross_pnl: PercentPpmRatioPattern3::new(client.clone(), _m(&acc, "to_own_gross_pnl")), + to_own_mcap: PercentPpmRatioPattern3::new(client.clone(), _m(&acc, "to_own_mcap")), usd: SeriesPattern1::new(client.clone(), acc.clone()), } } @@ -2962,7 +2962,7 @@ impl BlockCumulativeSumPattern { /// Pattern struct for repeated tree structure. pub struct BlocksDominanceRewardsPattern { pub blocks_mined: AverageBlockCumulativeSumPattern2, - pub dominance: _1m1w1y24hPercentRatioRawPattern, + pub dominance: _1m1w1y24hPercentPpmRatioPattern, pub rewards: AverageBlockCumulativeSumPattern3, } @@ -2971,7 +2971,7 @@ impl BlocksDominanceRewardsPattern { pub fn new(client: Arc, acc: String) -> Self { Self { blocks_mined: AverageBlockCumulativeSumPattern2::new(client.clone(), _m(&acc, "blocks_mined")), - dominance: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), _m(&acc, "dominance")), + dominance: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), _m(&acc, "dominance")), rewards: AverageBlockCumulativeSumPattern3::new(client.clone(), _m(&acc, "rewards")), } } @@ -3077,7 +3077,7 @@ impl CumulativeRollingSumPattern { /// Pattern struct for repeated tree structure. pub struct DeltaDominanceTotalPattern { pub delta: AbsoluteRatePattern3, - pub dominance: PercentRatioRawPattern2, + pub dominance: PercentPpmRatioPattern2, pub total: BtcCentsSatsUsdPattern, } @@ -3086,7 +3086,7 @@ impl DeltaDominanceTotalPattern { pub fn new(client: Arc, acc: String) -> Self { Self { delta: AbsoluteRatePattern3::new(client.clone(), _m(&acc, "delta")), - dominance: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "dominance")), + dominance: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "dominance")), total: BtcCentsSatsUsdPattern::new(client.clone(), acc.clone()), } } @@ -3147,55 +3147,55 @@ impl LossNuplProfitPattern { } /// Pattern struct for repeated tree structure. -pub struct PercentRatioRawPattern2 { +pub struct PercentPpmRatioPattern2 { pub percent: SeriesPattern1, + pub ppm: SeriesPattern1, pub ratio: SeriesPattern1, - pub raw: SeriesPattern1, } -impl PercentRatioRawPattern2 { +impl PercentPpmRatioPattern2 { /// Create a new pattern node with accumulated series name. pub fn new(client: Arc, acc: String) -> Self { Self { percent: SeriesPattern1::new(client.clone(), acc.clone()), + ppm: SeriesPattern1::new(client.clone(), _m(&acc, "ppm")), ratio: SeriesPattern1::new(client.clone(), _m(&acc, "ratio")), - raw: SeriesPattern1::new(client.clone(), _m(&acc, "ppm")), } } } /// Pattern struct for repeated tree structure. -pub struct PercentRatioRawPattern3 { +pub struct PercentPpmRatioPattern3 { pub percent: SeriesPattern1, + pub ppm: SeriesPattern1, pub ratio: SeriesPattern1, - pub raw: SeriesPattern1, } -impl PercentRatioRawPattern3 { +impl PercentPpmRatioPattern3 { /// Create a new pattern node with accumulated series name. pub fn new(client: Arc, acc: String) -> Self { Self { percent: SeriesPattern1::new(client.clone(), acc.clone()), + ppm: SeriesPattern1::new(client.clone(), _m(&acc, "ppm")), ratio: SeriesPattern1::new(client.clone(), _m(&acc, "ratio")), - raw: SeriesPattern1::new(client.clone(), _m(&acc, "ppm")), } } } /// Pattern struct for repeated tree structure. -pub struct PercentRatioRawPattern { +pub struct PercentPpmRatioPattern { pub percent: SeriesPattern1, + pub ppm: SeriesPattern1, pub ratio: SeriesPattern1, - pub raw: SeriesPattern1, } -impl PercentRatioRawPattern { +impl PercentPpmRatioPattern { /// Create a new pattern node with accumulated series name. pub fn new(client: Arc, acc: String) -> Self { Self { percent: SeriesPattern1::new(client.clone(), acc.clone()), + ppm: SeriesPattern1::new(client.clone(), _m(&acc, "ppm")), ratio: SeriesPattern1::new(client.clone(), _m(&acc, "ratio")), - raw: SeriesPattern1::new(client.clone(), _m(&acc, "ppm")), } } } @@ -3238,18 +3238,18 @@ impl RatioTransferValuePattern { /// Pattern struct for repeated tree structure. pub struct RsiStochPattern { - pub rsi: PercentRatioRawPattern2, - pub stoch_rsi_d: PercentRatioRawPattern2, - pub stoch_rsi_k: PercentRatioRawPattern2, + pub rsi: PercentPpmRatioPattern2, + pub stoch_rsi_d: PercentPpmRatioPattern2, + pub stoch_rsi_k: PercentPpmRatioPattern2, } impl RsiStochPattern { /// Create a new pattern node with accumulated series name. pub fn new(client: Arc, acc: String, disc: String) -> Self { Self { - rsi: PercentRatioRawPattern2::new(client.clone(), _m(&acc, &disc)), - stoch_rsi_d: PercentRatioRawPattern2::new(client.clone(), _m(&acc, &format!("stoch_d_{disc}", disc=disc))), - stoch_rsi_k: PercentRatioRawPattern2::new(client.clone(), _m(&acc, &format!("stoch_k_{disc}", disc=disc))), + rsi: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, &disc)), + stoch_rsi_d: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, &format!("stoch_d_{disc}", disc=disc))), + stoch_rsi_k: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, &format!("stoch_k_{disc}", disc=disc))), } } } @@ -3453,7 +3453,7 @@ impl BlockCumulativePattern { /// Pattern struct for repeated tree structure. pub struct BlocksDominancePattern { pub blocks_mined: AverageBlockCumulativeSumPattern2, - pub dominance: PercentRatioRawPattern2, + pub dominance: PercentPpmRatioPattern2, } impl BlocksDominancePattern { @@ -3461,7 +3461,7 @@ impl BlocksDominancePattern { pub fn new(client: Arc, acc: String) -> Self { Self { blocks_mined: AverageBlockCumulativeSumPattern2::new(client.clone(), _m(&acc, "blocks_mined")), - dominance: PercentRatioRawPattern2::new(client.clone(), _m(&acc, "dominance")), + dominance: PercentPpmRatioPattern2::new(client.clone(), _m(&acc, "dominance")), } } } @@ -3746,16 +3746,16 @@ pub struct SdSmaPattern { /// Pattern struct for repeated tree structure. pub struct ToPattern { - pub to_mcap: PercentRatioRawPattern, - pub to_rcap: PercentRatioRawPattern, + pub to_mcap: PercentPpmRatioPattern, + pub to_rcap: PercentPpmRatioPattern, } impl ToPattern { /// Create a new pattern node with accumulated series name. pub fn new(client: Arc, acc: String) -> Self { Self { - to_mcap: PercentRatioRawPattern::new(client.clone(), _m(&acc, "mcap")), - to_rcap: PercentRatioRawPattern::new(client.clone(), _m(&acc, "rcap")), + to_mcap: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "mcap")), + to_rcap: PercentPpmRatioPattern::new(client.clone(), _m(&acc, "rcap")), } } } @@ -3818,14 +3818,14 @@ impl PricePattern { /// Pattern struct for repeated tree structure. pub struct SharePattern { - pub share: PercentRatioRawPattern2, + pub share: PercentPpmRatioPattern2, } impl SharePattern { /// Create a new pattern node with accumulated series name. pub fn new(client: Arc, acc: String) -> Self { Self { - share: PercentRatioRawPattern2::new(client.clone(), acc.clone()), + share: PercentPpmRatioPattern2::new(client.clone(), acc.clone()), } } } @@ -3970,7 +3970,7 @@ impl SeriesTree_Blocks { pub struct SeriesTree_Blocks_Difficulty { pub value: SeriesPattern1, pub hashrate: SeriesPattern1, - pub adjustment: PercentRatioRawPattern3, + pub adjustment: PercentPpmRatioPattern3, pub epoch: SeriesPattern1, pub blocks_to_retarget: SeriesPattern1, pub days_to_retarget: SeriesPattern1, @@ -3981,7 +3981,7 @@ impl SeriesTree_Blocks_Difficulty { Self { value: SeriesPattern1::new(client.clone(), "difficulty".to_string()), hashrate: SeriesPattern1::new(client.clone(), "difficulty_hashrate".to_string()), - adjustment: PercentRatioRawPattern3::new(client.clone(), "difficulty_adjustment".to_string()), + adjustment: PercentPpmRatioPattern3::new(client.clone(), "difficulty_adjustment".to_string()), epoch: SeriesPattern1::new(client.clone(), "difficulty_epoch".to_string()), blocks_to_retarget: SeriesPattern1::new(client.clone(), "blocks_to_retarget".to_string()), days_to_retarget: SeriesPattern1::new(client.clone(), "days_to_retarget".to_string()), @@ -4170,7 +4170,7 @@ impl SeriesTree_Blocks_Interval { /// Series tree node. pub struct SeriesTree_Blocks_Fullness { - pub raw: SeriesPattern18, + pub ppm: SeriesPattern18, pub ratio: SeriesPattern18, pub percent: SeriesPattern18, } @@ -4178,7 +4178,7 @@ pub struct SeriesTree_Blocks_Fullness { impl SeriesTree_Blocks_Fullness { pub fn new(client: Arc, base_path: String) -> Self { Self { - raw: SeriesPattern18::new(client.clone(), "block_fullness_ppm".to_string()), + ppm: SeriesPattern18::new(client.clone(), "block_fullness_ppm".to_string()), ratio: SeriesPattern18::new(client.clone(), "block_fullness_ratio".to_string()), percent: SeriesPattern18::new(client.clone(), "block_fullness".to_string()), } @@ -4684,33 +4684,33 @@ impl SeriesTree_Inputs_ByType_InputCount { /// Series tree node. pub struct SeriesTree_Inputs_ByType_InputShare { - pub p2pk65: _1m1w1y24hPercentRatioRawPattern, - pub p2pk33: _1m1w1y24hPercentRatioRawPattern, - pub p2pkh: _1m1w1y24hPercentRatioRawPattern, - pub p2ms: _1m1w1y24hPercentRatioRawPattern, - pub p2sh: _1m1w1y24hPercentRatioRawPattern, - pub p2wpkh: _1m1w1y24hPercentRatioRawPattern, - pub p2wsh: _1m1w1y24hPercentRatioRawPattern, - pub p2tr: _1m1w1y24hPercentRatioRawPattern, - pub p2a: _1m1w1y24hPercentRatioRawPattern, - pub unknown: _1m1w1y24hPercentRatioRawPattern, - pub empty: _1m1w1y24hPercentRatioRawPattern, + pub p2pk65: _1m1w1y24hPercentPpmRatioPattern, + pub p2pk33: _1m1w1y24hPercentPpmRatioPattern, + pub p2pkh: _1m1w1y24hPercentPpmRatioPattern, + pub p2ms: _1m1w1y24hPercentPpmRatioPattern, + pub p2sh: _1m1w1y24hPercentPpmRatioPattern, + pub p2wpkh: _1m1w1y24hPercentPpmRatioPattern, + pub p2wsh: _1m1w1y24hPercentPpmRatioPattern, + pub p2tr: _1m1w1y24hPercentPpmRatioPattern, + pub p2a: _1m1w1y24hPercentPpmRatioPattern, + pub unknown: _1m1w1y24hPercentPpmRatioPattern, + pub empty: _1m1w1y24hPercentPpmRatioPattern, } impl SeriesTree_Inputs_ByType_InputShare { pub fn new(client: Arc, base_path: String) -> Self { Self { - p2pk65: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2pk65_prevout_share".to_string()), - p2pk33: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2pk33_prevout_share".to_string()), - p2pkh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2pkh_prevout_share".to_string()), - p2ms: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2ms_prevout_share".to_string()), - p2sh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2sh_prevout_share".to_string()), - p2wpkh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2wpkh_prevout_share".to_string()), - p2wsh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2wsh_prevout_share".to_string()), - p2tr: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2tr_prevout_share".to_string()), - p2a: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2a_prevout_share".to_string()), - unknown: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "unknown_outputs_prevout_share".to_string()), - empty: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "empty_outputs_prevout_share".to_string()), + p2pk65: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2pk65_prevout_share".to_string()), + p2pk33: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2pk33_prevout_share".to_string()), + p2pkh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2pkh_prevout_share".to_string()), + p2ms: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2ms_prevout_share".to_string()), + p2sh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2sh_prevout_share".to_string()), + p2wpkh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2wpkh_prevout_share".to_string()), + p2wsh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2wsh_prevout_share".to_string()), + p2tr: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2tr_prevout_share".to_string()), + p2a: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2a_prevout_share".to_string()), + unknown: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "unknown_outputs_prevout_share".to_string()), + empty: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "empty_outputs_prevout_share".to_string()), } } } @@ -4895,35 +4895,35 @@ impl SeriesTree_Outputs_ByType_OutputCount { /// Series tree node. pub struct SeriesTree_Outputs_ByType_OutputShare { - pub p2pk65: _1m1w1y24hPercentRatioRawPattern, - pub p2pk33: _1m1w1y24hPercentRatioRawPattern, - pub p2pkh: _1m1w1y24hPercentRatioRawPattern, - pub p2ms: _1m1w1y24hPercentRatioRawPattern, - pub p2sh: _1m1w1y24hPercentRatioRawPattern, - pub p2wpkh: _1m1w1y24hPercentRatioRawPattern, - pub p2wsh: _1m1w1y24hPercentRatioRawPattern, - pub p2tr: _1m1w1y24hPercentRatioRawPattern, - pub p2a: _1m1w1y24hPercentRatioRawPattern, - pub unknown: _1m1w1y24hPercentRatioRawPattern, - pub empty: _1m1w1y24hPercentRatioRawPattern, - pub op_return: _1m1w1y24hPercentRatioRawPattern, + pub p2pk65: _1m1w1y24hPercentPpmRatioPattern, + pub p2pk33: _1m1w1y24hPercentPpmRatioPattern, + pub p2pkh: _1m1w1y24hPercentPpmRatioPattern, + pub p2ms: _1m1w1y24hPercentPpmRatioPattern, + pub p2sh: _1m1w1y24hPercentPpmRatioPattern, + pub p2wpkh: _1m1w1y24hPercentPpmRatioPattern, + pub p2wsh: _1m1w1y24hPercentPpmRatioPattern, + pub p2tr: _1m1w1y24hPercentPpmRatioPattern, + pub p2a: _1m1w1y24hPercentPpmRatioPattern, + pub unknown: _1m1w1y24hPercentPpmRatioPattern, + pub empty: _1m1w1y24hPercentPpmRatioPattern, + pub op_return: _1m1w1y24hPercentPpmRatioPattern, } impl SeriesTree_Outputs_ByType_OutputShare { pub fn new(client: Arc, base_path: String) -> Self { Self { - p2pk65: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2pk65_output_share".to_string()), - p2pk33: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2pk33_output_share".to_string()), - p2pkh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2pkh_output_share".to_string()), - p2ms: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2ms_output_share".to_string()), - p2sh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2sh_output_share".to_string()), - p2wpkh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2wpkh_output_share".to_string()), - p2wsh: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2wsh_output_share".to_string()), - p2tr: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2tr_output_share".to_string()), - p2a: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "p2a_output_share".to_string()), - unknown: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "unknown_outputs_output_share".to_string()), - empty: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "empty_outputs_output_share".to_string()), - op_return: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "op_return_output_share".to_string()), + p2pk65: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2pk65_output_share".to_string()), + p2pk33: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2pk33_output_share".to_string()), + p2pkh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2pkh_output_share".to_string()), + p2ms: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2ms_output_share".to_string()), + p2sh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2sh_output_share".to_string()), + p2wpkh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2wpkh_output_share".to_string()), + p2wsh: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2wsh_output_share".to_string()), + p2tr: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2tr_output_share".to_string()), + p2a: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "p2a_output_share".to_string()), + unknown: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "unknown_outputs_output_share".to_string()), + empty: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "empty_outputs_output_share".to_string()), + op_return: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "op_return_output_share".to_string()), } } } @@ -5242,7 +5242,7 @@ impl SeriesTree_Addrs_Reused { pub struct SeriesTree_Addrs_Reused_Events { pub output_to_reused_addr_count: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6, pub output_to_reused_addr_share: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7, - pub spendable_output_to_reused_addr_share: _1m1w1y24hPercentRatioRawPattern, + pub spendable_output_to_reused_addr_share: _1m1w1y24hPercentPpmRatioPattern, pub input_from_reused_addr_count: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6, pub input_from_reused_addr_share: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7, pub active_reused_addr_count: _1m1w1y24hBlockPattern, @@ -5254,7 +5254,7 @@ impl SeriesTree_Addrs_Reused_Events { Self { output_to_reused_addr_count: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6::new(client.clone(), "output_to_reused_addr_count".to_string()), output_to_reused_addr_share: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7::new(client.clone(), "output_to_reused_addr_share".to_string()), - spendable_output_to_reused_addr_share: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "spendable_output_to_reused_addr_share".to_string()), + spendable_output_to_reused_addr_share: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "spendable_output_to_reused_addr_share".to_string()), input_from_reused_addr_count: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6::new(client.clone(), "input_from_reused_addr_count".to_string()), input_from_reused_addr_share: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7::new(client.clone(), "input_from_reused_addr_share".to_string()), active_reused_addr_count: _1m1w1y24hBlockPattern::new(client.clone(), "active_reused_addr_count".to_string()), @@ -5315,7 +5315,7 @@ impl SeriesTree_Addrs_Respent { pub struct SeriesTree_Addrs_Respent_Events { pub output_to_reused_addr_count: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6, pub output_to_reused_addr_share: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7, - pub spendable_output_to_reused_addr_share: _1m1w1y24hPercentRatioRawPattern, + pub spendable_output_to_reused_addr_share: _1m1w1y24hPercentPpmRatioPattern, pub input_from_reused_addr_count: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6, pub input_from_reused_addr_share: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7, pub active_reused_addr_count: _1m1w1y24hBlockPattern, @@ -5327,7 +5327,7 @@ impl SeriesTree_Addrs_Respent_Events { Self { output_to_reused_addr_count: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6::new(client.clone(), "output_to_respent_addr_count".to_string()), output_to_reused_addr_share: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7::new(client.clone(), "output_to_respent_addr_share".to_string()), - spendable_output_to_reused_addr_share: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "spendable_output_to_respent_addr_share".to_string()), + spendable_output_to_reused_addr_share: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "spendable_output_to_respent_addr_share".to_string()), input_from_reused_addr_count: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6::new(client.clone(), "input_from_respent_addr_count".to_string()), input_from_reused_addr_share: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7::new(client.clone(), "input_from_respent_addr_share".to_string()), active_reused_addr_count: _1m1w1y24hBlockPattern::new(client.clone(), "active_respent_addr_count".to_string()), @@ -5593,7 +5593,7 @@ pub struct SeriesTree_OpReturn_Total { pub data_bytes: AverageBlockCumulativeSumPattern, pub tx_count: AverageBlockCumulativeSumPattern, pub tx_vsize: AverageBlockCumulativeSumPattern, - pub chain_share: PercentRatioRawPattern2, + pub chain_share: PercentPpmRatioPattern2, } impl SeriesTree_OpReturn_Total { @@ -5602,7 +5602,7 @@ impl SeriesTree_OpReturn_Total { data_bytes: AverageBlockCumulativeSumPattern::new(client.clone(), "op_return_data_bytes".to_string()), tx_count: AverageBlockCumulativeSumPattern::new(client.clone(), "op_return_tx_count".to_string()), tx_vsize: AverageBlockCumulativeSumPattern::new(client.clone(), "op_return_tx_vsize".to_string()), - chain_share: PercentRatioRawPattern2::new(client.clone(), "op_return_chain_share".to_string()), + chain_share: PercentPpmRatioPattern2::new(client.clone(), "op_return_chain_share".to_string()), } } } @@ -5725,7 +5725,7 @@ pub struct SeriesTree_Mining_Rewards_Subsidy { pub cumulative: BtcCentsSatsUsdPattern, pub sum: _1m1w1y24hPattern4, pub average: _1m1w1y24hPattern3, - pub dominance: _1m1w1y24hPercentRatioRawPattern, + pub dominance: _1m1w1y24hPercentPpmRatioPattern, } impl SeriesTree_Mining_Rewards_Subsidy { @@ -5735,7 +5735,7 @@ impl SeriesTree_Mining_Rewards_Subsidy { cumulative: BtcCentsSatsUsdPattern::new(client.clone(), "subsidy_cumulative".to_string()), sum: _1m1w1y24hPattern4::new(client.clone(), "subsidy_sum".to_string()), average: _1m1w1y24hPattern3::new(client.clone(), "subsidy_average".to_string()), - dominance: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "subsidy_dominance".to_string()), + dominance: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "subsidy_dominance".to_string()), } } } @@ -5753,7 +5753,7 @@ pub struct SeriesTree_Mining_Rewards_Fees { pub median: _1m1w1y24hPattern4, pub pct75: _1m1w1y24hPattern4, pub pct90: _1m1w1y24hPattern4, - pub dominance: _1m1w1y24hPercentRatioRawPattern, + pub dominance: _1m1w1y24hPercentPpmRatioPattern, pub to_subsidy_ratio: SeriesTree_Mining_Rewards_Fees_ToSubsidyRatio, } @@ -5771,7 +5771,7 @@ impl SeriesTree_Mining_Rewards_Fees { median: _1m1w1y24hPattern4::new(client.clone(), "fees_median".to_string()), pct75: _1m1w1y24hPattern4::new(client.clone(), "fees_pct75".to_string()), pct90: _1m1w1y24hPattern4::new(client.clone(), "fees_pct90".to_string()), - dominance: _1m1w1y24hPercentRatioRawPattern::new(client.clone(), "fee_dominance".to_string()), + dominance: _1m1w1y24hPercentPpmRatioPattern::new(client.clone(), "fee_dominance".to_string()), to_subsidy_ratio: SeriesTree_Mining_Rewards_Fees_ToSubsidyRatio::new(client.clone(), format!("{base_path}_to_subsidy_ratio")), } } @@ -5818,7 +5818,7 @@ pub struct SeriesTree_Mining_Hashrate_Rate { pub base: SeriesPattern1, pub sma: SeriesTree_Mining_Hashrate_Rate_Sma, pub ath: SeriesPattern1, - pub drawdown: PercentRatioRawPattern3, + pub drawdown: PercentPpmRatioPattern3, } impl SeriesTree_Mining_Hashrate_Rate { @@ -5827,7 +5827,7 @@ impl SeriesTree_Mining_Hashrate_Rate { base: SeriesPattern1::new(client.clone(), "hash_rate".to_string()), sma: SeriesTree_Mining_Hashrate_Rate_Sma::new(client.clone(), format!("{base_path}_sma")), ath: SeriesPattern1::new(client.clone(), "hash_rate_ath".to_string()), - drawdown: PercentRatioRawPattern3::new(client.clone(), "hash_rate_drawdown".to_string()), + drawdown: PercentPpmRatioPattern3::new(client.clone(), "hash_rate_drawdown".to_string()), } } } @@ -6053,7 +6053,7 @@ impl SeriesTree_Cointime_Prices { /// Series tree node. pub struct SeriesTree_Cointime_Adjusted { - pub inflation_rate: PercentRatioRawPattern, + pub inflation_rate: PercentPpmRatioPattern, pub tx_velocity_native: SeriesPattern1, pub tx_velocity_fiat: SeriesPattern1, } @@ -6061,7 +6061,7 @@ pub struct SeriesTree_Cointime_Adjusted { impl SeriesTree_Cointime_Adjusted { pub fn new(client: Arc, base_path: String) -> Self { Self { - inflation_rate: PercentRatioRawPattern::new(client.clone(), "cointime_adj_inflation_rate".to_string()), + inflation_rate: PercentPpmRatioPattern::new(client.clone(), "cointime_adj_inflation_rate".to_string()), tx_velocity_native: SeriesPattern1::new(client.clone(), "cointime_adj_tx_velocity_btc".to_string()), tx_velocity_fiat: SeriesPattern1::new(client.clone(), "cointime_adj_tx_velocity_usd".to_string()), } @@ -6874,7 +6874,7 @@ impl SeriesTree_Indexes_Timestamp { pub struct SeriesTree_Indicators { pub puell_multiple: RatioRawPattern3, pub nvt: RatioRawPattern3, - pub gini: PercentRatioRawPattern2, + pub gini: PercentPpmRatioPattern2, pub rhodl_ratio: RatioRawPattern3, pub thermo_cap_multiple: RatioRawPattern3, pub coindays_destroyed_supply_adj: SeriesPattern1, @@ -6890,7 +6890,7 @@ impl SeriesTree_Indicators { Self { puell_multiple: RatioRawPattern3::new(client.clone(), "puell_multiple".to_string()), nvt: RatioRawPattern3::new(client.clone(), "nvt".to_string()), - gini: PercentRatioRawPattern2::new(client.clone(), "gini".to_string()), + gini: PercentPpmRatioPattern2::new(client.clone(), "gini".to_string()), rhodl_ratio: RatioRawPattern3::new(client.clone(), "rhodl_ratio".to_string()), thermo_cap_multiple: RatioRawPattern3::new(client.clone(), "thermo_cap_multiple".to_string()), coindays_destroyed_supply_adj: SeriesPattern1::new(client.clone(), "coindays_destroyed_supply_adj".to_string()), @@ -7099,35 +7099,35 @@ impl SeriesTree_Investing_Class_DcaCostBasis { /// Series tree node. pub struct SeriesTree_Investing_Class_DcaReturn { - pub from_2015: PercentRatioRawPattern, - pub from_2016: PercentRatioRawPattern, - pub from_2017: PercentRatioRawPattern, - pub from_2018: PercentRatioRawPattern, - pub from_2019: PercentRatioRawPattern, - pub from_2020: PercentRatioRawPattern, - pub from_2021: PercentRatioRawPattern, - pub from_2022: PercentRatioRawPattern, - pub from_2023: PercentRatioRawPattern, - pub from_2024: PercentRatioRawPattern, - pub from_2025: PercentRatioRawPattern, - pub from_2026: PercentRatioRawPattern, + pub from_2015: PercentPpmRatioPattern, + pub from_2016: PercentPpmRatioPattern, + pub from_2017: PercentPpmRatioPattern, + pub from_2018: PercentPpmRatioPattern, + pub from_2019: PercentPpmRatioPattern, + pub from_2020: PercentPpmRatioPattern, + pub from_2021: PercentPpmRatioPattern, + pub from_2022: PercentPpmRatioPattern, + pub from_2023: PercentPpmRatioPattern, + pub from_2024: PercentPpmRatioPattern, + pub from_2025: PercentPpmRatioPattern, + pub from_2026: PercentPpmRatioPattern, } impl SeriesTree_Investing_Class_DcaReturn { pub fn new(client: Arc, base_path: String) -> Self { Self { - from_2015: PercentRatioRawPattern::new(client.clone(), "dca_return_from_2015".to_string()), - from_2016: PercentRatioRawPattern::new(client.clone(), "dca_return_from_2016".to_string()), - from_2017: PercentRatioRawPattern::new(client.clone(), "dca_return_from_2017".to_string()), - from_2018: PercentRatioRawPattern::new(client.clone(), "dca_return_from_2018".to_string()), - from_2019: PercentRatioRawPattern::new(client.clone(), "dca_return_from_2019".to_string()), - from_2020: PercentRatioRawPattern::new(client.clone(), "dca_return_from_2020".to_string()), - from_2021: PercentRatioRawPattern::new(client.clone(), "dca_return_from_2021".to_string()), - from_2022: PercentRatioRawPattern::new(client.clone(), "dca_return_from_2022".to_string()), - from_2023: PercentRatioRawPattern::new(client.clone(), "dca_return_from_2023".to_string()), - from_2024: PercentRatioRawPattern::new(client.clone(), "dca_return_from_2024".to_string()), - from_2025: PercentRatioRawPattern::new(client.clone(), "dca_return_from_2025".to_string()), - from_2026: PercentRatioRawPattern::new(client.clone(), "dca_return_from_2026".to_string()), + from_2015: PercentPpmRatioPattern::new(client.clone(), "dca_return_from_2015".to_string()), + from_2016: PercentPpmRatioPattern::new(client.clone(), "dca_return_from_2016".to_string()), + from_2017: PercentPpmRatioPattern::new(client.clone(), "dca_return_from_2017".to_string()), + from_2018: PercentPpmRatioPattern::new(client.clone(), "dca_return_from_2018".to_string()), + from_2019: PercentPpmRatioPattern::new(client.clone(), "dca_return_from_2019".to_string()), + from_2020: PercentPpmRatioPattern::new(client.clone(), "dca_return_from_2020".to_string()), + from_2021: PercentPpmRatioPattern::new(client.clone(), "dca_return_from_2021".to_string()), + from_2022: PercentPpmRatioPattern::new(client.clone(), "dca_return_from_2022".to_string()), + from_2023: PercentPpmRatioPattern::new(client.clone(), "dca_return_from_2023".to_string()), + from_2024: PercentPpmRatioPattern::new(client.clone(), "dca_return_from_2024".to_string()), + from_2025: PercentPpmRatioPattern::new(client.clone(), "dca_return_from_2025".to_string()), + from_2026: PercentPpmRatioPattern::new(client.clone(), "dca_return_from_2026".to_string()), } } } @@ -7160,7 +7160,7 @@ impl SeriesTree_Market { /// Series tree node. pub struct SeriesTree_Market_Ath { pub high: CentsSatsUsdPattern, - pub drawdown: PercentRatioRawPattern3, + pub drawdown: PercentPpmRatioPattern3, pub days_since: SeriesPattern1, pub years_since: SeriesPattern1, pub max_days_between: SeriesPattern1, @@ -7171,7 +7171,7 @@ impl SeriesTree_Market_Ath { pub fn new(client: Arc, base_path: String) -> Self { Self { high: CentsSatsUsdPattern::new(client.clone(), "price_ath".to_string()), - drawdown: PercentRatioRawPattern3::new(client.clone(), "price_drawdown".to_string()), + drawdown: PercentPpmRatioPattern3::new(client.clone(), "price_drawdown".to_string()), days_since: SeriesPattern1::new(client.clone(), "days_since_price_ath".to_string()), years_since: SeriesPattern1::new(client.clone(), "years_since_price_ath".to_string()), max_days_between: SeriesPattern1::new(client.clone(), "max_days_between_price_ath".to_string()), @@ -7236,37 +7236,37 @@ impl SeriesTree_Market_Returns { /// Series tree node. pub struct SeriesTree_Market_Returns_Periods { - pub _24h: PercentRatioRawPattern, - pub _1w: PercentRatioRawPattern, - pub _1m: PercentRatioRawPattern, - pub _3m: PercentRatioRawPattern, - pub _6m: PercentRatioRawPattern, - pub _1y: PercentRatioRawPattern, - pub _2y: PercentRatioRawPattern, - pub _3y: PercentRatioRawPattern, - pub _4y: PercentRatioRawPattern, - pub _5y: PercentRatioRawPattern, - pub _6y: PercentRatioRawPattern, - pub _8y: PercentRatioRawPattern, - pub _10y: PercentRatioRawPattern, + pub _24h: PercentPpmRatioPattern, + pub _1w: PercentPpmRatioPattern, + pub _1m: PercentPpmRatioPattern, + pub _3m: PercentPpmRatioPattern, + pub _6m: PercentPpmRatioPattern, + pub _1y: PercentPpmRatioPattern, + pub _2y: PercentPpmRatioPattern, + pub _3y: PercentPpmRatioPattern, + pub _4y: PercentPpmRatioPattern, + pub _5y: PercentPpmRatioPattern, + pub _6y: PercentPpmRatioPattern, + pub _8y: PercentPpmRatioPattern, + pub _10y: PercentPpmRatioPattern, } impl SeriesTree_Market_Returns_Periods { pub fn new(client: Arc, base_path: String) -> Self { Self { - _24h: PercentRatioRawPattern::new(client.clone(), "price_return_24h".to_string()), - _1w: PercentRatioRawPattern::new(client.clone(), "price_return_1w".to_string()), - _1m: PercentRatioRawPattern::new(client.clone(), "price_return_1m".to_string()), - _3m: PercentRatioRawPattern::new(client.clone(), "price_return_3m".to_string()), - _6m: PercentRatioRawPattern::new(client.clone(), "price_return_6m".to_string()), - _1y: PercentRatioRawPattern::new(client.clone(), "price_return_1y".to_string()), - _2y: PercentRatioRawPattern::new(client.clone(), "price_return_2y".to_string()), - _3y: PercentRatioRawPattern::new(client.clone(), "price_return_3y".to_string()), - _4y: PercentRatioRawPattern::new(client.clone(), "price_return_4y".to_string()), - _5y: PercentRatioRawPattern::new(client.clone(), "price_return_5y".to_string()), - _6y: PercentRatioRawPattern::new(client.clone(), "price_return_6y".to_string()), - _8y: PercentRatioRawPattern::new(client.clone(), "price_return_8y".to_string()), - _10y: PercentRatioRawPattern::new(client.clone(), "price_return_10y".to_string()), + _24h: PercentPpmRatioPattern::new(client.clone(), "price_return_24h".to_string()), + _1w: PercentPpmRatioPattern::new(client.clone(), "price_return_1w".to_string()), + _1m: PercentPpmRatioPattern::new(client.clone(), "price_return_1m".to_string()), + _3m: PercentPpmRatioPattern::new(client.clone(), "price_return_3m".to_string()), + _6m: PercentPpmRatioPattern::new(client.clone(), "price_return_6m".to_string()), + _1y: PercentPpmRatioPattern::new(client.clone(), "price_return_1y".to_string()), + _2y: PercentPpmRatioPattern::new(client.clone(), "price_return_2y".to_string()), + _3y: PercentPpmRatioPattern::new(client.clone(), "price_return_3y".to_string()), + _4y: PercentPpmRatioPattern::new(client.clone(), "price_return_4y".to_string()), + _5y: PercentPpmRatioPattern::new(client.clone(), "price_return_5y".to_string()), + _6y: PercentPpmRatioPattern::new(client.clone(), "price_return_6y".to_string()), + _8y: PercentPpmRatioPattern::new(client.clone(), "price_return_8y".to_string()), + _10y: PercentPpmRatioPattern::new(client.clone(), "price_return_10y".to_string()), } } } @@ -7356,7 +7356,7 @@ pub struct SeriesTree_Market_Range { pub max: _1m1w1y2wPattern, pub true_range: SeriesPattern1, pub true_range_sum_2w: SeriesPattern1, - pub choppiness_index_2w: PercentRatioRawPattern2, + pub choppiness_index_2w: PercentPpmRatioPattern2, } impl SeriesTree_Market_Range { @@ -7366,7 +7366,7 @@ impl SeriesTree_Market_Range { max: _1m1w1y2wPattern::new(client.clone(), "price_max".to_string()), true_range: SeriesPattern1::new(client.clone(), "price_true_range".to_string()), true_range_sum_2w: SeriesPattern1::new(client.clone(), "price_true_range_sum_2w".to_string()), - choppiness_index_2w: PercentRatioRawPattern2::new(client.clone(), "price_choppiness_index_2w".to_string()), + choppiness_index_2w: PercentPpmRatioPattern2::new(client.clone(), "price_choppiness_index_2w".to_string()), } } } @@ -8078,7 +8078,7 @@ pub struct SeriesTree_Supply { pub state: SeriesPattern18, pub circulating: BtcCentsSatsUsdPattern, pub burned: BlockCumulativePattern, - pub inflation_rate: PercentRatioRawPattern, + pub inflation_rate: PercentPpmRatioPattern, pub velocity: SeriesTree_Supply_Velocity, pub market_cap: CentsDeltaUsdPattern, pub market_minus_realized_cap_growth_rate: _1m1w1y24hPattern, @@ -8091,7 +8091,7 @@ impl SeriesTree_Supply { state: SeriesPattern18::new(client.clone(), "supply_state".to_string()), circulating: BtcCentsSatsUsdPattern::new(client.clone(), "circulating_supply".to_string()), burned: BlockCumulativePattern::new(client.clone(), "unspendable_supply".to_string()), - inflation_rate: PercentRatioRawPattern::new(client.clone(), "inflation_rate".to_string()), + inflation_rate: PercentPpmRatioPattern::new(client.clone(), "inflation_rate".to_string()), velocity: SeriesTree_Supply_Velocity::new(client.clone(), format!("{base_path}_velocity")), market_cap: CentsDeltaUsdPattern::new(client.clone(), "market_cap".to_string()), market_minus_realized_cap_growth_rate: _1m1w1y24hPattern::new(client.clone(), "market_minus_realized_cap_growth_rate".to_string()), @@ -8519,7 +8519,7 @@ pub struct SeriesTree_Cohorts_Utxo_All_CostBasis { pub max: CentsSatsUsdPattern, pub per_coin: Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern, pub per_dollar: Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern, - pub supply_density: PercentRatioRawPattern2, + pub supply_density: PercentPpmRatioPattern2, } impl SeriesTree_Cohorts_Utxo_All_CostBasis { @@ -8531,7 +8531,7 @@ impl SeriesTree_Cohorts_Utxo_All_CostBasis { max: CentsSatsUsdPattern::new(client.clone(), "cost_basis_max".to_string()), per_coin: Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern::new(client.clone(), "cost_basis_per_coin".to_string()), per_dollar: Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern::new(client.clone(), "cost_basis_per_dollar".to_string()), - supply_density: PercentRatioRawPattern2::new(client.clone(), "supply_density".to_string()), + supply_density: PercentPpmRatioPattern2::new(client.clone(), "supply_density".to_string()), } } } @@ -8569,8 +8569,8 @@ impl SeriesTree_Cohorts_Utxo_All_Unrealized { pub struct SeriesTree_Cohorts_Utxo_All_Unrealized_Profit { pub usd: SeriesPattern1, pub cents: SeriesPattern1, - pub to_mcap: PercentRatioRawPattern2, - pub to_own_gross_pnl: PercentRatioRawPattern2, + pub to_mcap: PercentPpmRatioPattern2, + pub to_own_gross_pnl: PercentPpmRatioPattern2, } impl SeriesTree_Cohorts_Utxo_All_Unrealized_Profit { @@ -8578,8 +8578,8 @@ impl SeriesTree_Cohorts_Utxo_All_Unrealized_Profit { Self { usd: SeriesPattern1::new(client.clone(), "unrealized_profit".to_string()), cents: SeriesPattern1::new(client.clone(), "unrealized_profit_cents".to_string()), - to_mcap: PercentRatioRawPattern2::new(client.clone(), "unrealized_profit_to_mcap".to_string()), - to_own_gross_pnl: PercentRatioRawPattern2::new(client.clone(), "unrealized_profit_to_own_gross_pnl".to_string()), + to_mcap: PercentPpmRatioPattern2::new(client.clone(), "unrealized_profit_to_mcap".to_string()), + to_own_gross_pnl: PercentPpmRatioPattern2::new(client.clone(), "unrealized_profit_to_own_gross_pnl".to_string()), } } } @@ -8589,8 +8589,8 @@ pub struct SeriesTree_Cohorts_Utxo_All_Unrealized_Loss { pub usd: SeriesPattern1, pub cents: SeriesPattern1, pub negative: SeriesPattern1, - pub to_mcap: PercentRatioRawPattern2, - pub to_own_gross_pnl: PercentRatioRawPattern2, + pub to_mcap: PercentPpmRatioPattern2, + pub to_own_gross_pnl: PercentPpmRatioPattern2, } impl SeriesTree_Cohorts_Utxo_All_Unrealized_Loss { @@ -8599,8 +8599,8 @@ impl SeriesTree_Cohorts_Utxo_All_Unrealized_Loss { usd: SeriesPattern1::new(client.clone(), "unrealized_loss".to_string()), cents: SeriesPattern1::new(client.clone(), "unrealized_loss_cents".to_string()), negative: SeriesPattern1::new(client.clone(), "unrealized_loss_neg".to_string()), - to_mcap: PercentRatioRawPattern2::new(client.clone(), "unrealized_loss_to_mcap".to_string()), - to_own_gross_pnl: PercentRatioRawPattern2::new(client.clone(), "unrealized_loss_to_own_gross_pnl".to_string()), + to_mcap: PercentPpmRatioPattern2::new(client.clone(), "unrealized_loss_to_mcap".to_string()), + to_own_gross_pnl: PercentPpmRatioPattern2::new(client.clone(), "unrealized_loss_to_own_gross_pnl".to_string()), } } } @@ -8609,7 +8609,7 @@ impl SeriesTree_Cohorts_Utxo_All_Unrealized_Loss { pub struct SeriesTree_Cohorts_Utxo_All_Unrealized_NetPnl { pub usd: SeriesPattern1, pub cents: SeriesPattern1, - pub to_own_gross_pnl: PercentRatioRawPattern3, + pub to_own_gross_pnl: PercentPpmRatioPattern3, } impl SeriesTree_Cohorts_Utxo_All_Unrealized_NetPnl { @@ -8617,7 +8617,7 @@ impl SeriesTree_Cohorts_Utxo_All_Unrealized_NetPnl { Self { usd: SeriesPattern1::new(client.clone(), "net_unrealized_pnl".to_string()), cents: SeriesPattern1::new(client.clone(), "net_unrealized_pnl_cents".to_string()), - to_own_gross_pnl: PercentRatioRawPattern3::new(client.clone(), "net_unrealized_pnl_to_own_gross_pnl".to_string()), + to_own_gross_pnl: PercentPpmRatioPattern3::new(client.clone(), "net_unrealized_pnl_to_own_gross_pnl".to_string()), } } } diff --git a/crates/brk_computer/src/blocks/difficulty/compute.rs b/crates/brk_computer/src/blocks/difficulty/compute.rs index 9fdb78c9f..133a9df43 100644 --- a/crates/brk_computer/src/blocks/difficulty/compute.rs +++ b/crates/brk_computer/src/blocks/difficulty/compute.rs @@ -14,7 +14,7 @@ impl Vecs { exit: &Exit, ) -> Result<()> { let starting_height = indexer.safe_lengths().height; - self.adjustment.raw.height.compute_ratio_change( + self.adjustment.ppm.height.compute_ratio_change( starting_height, &indexer.vecs.blocks.difficulty, 2016, diff --git a/crates/brk_computer/src/blocks/weight/compute.rs b/crates/brk_computer/src/blocks/weight/compute.rs index ea82b881d..8b75c5b46 100644 --- a/crates/brk_computer/src/blocks/weight/compute.rs +++ b/crates/brk_computer/src/blocks/weight/compute.rs @@ -8,7 +8,7 @@ use super::Vecs; impl Vecs { pub(crate) fn compute(&mut self, indexer: &Indexer, exit: &Exit) -> Result<()> { let starting_height = indexer.safe_lengths().height; - self.fullness.raw.compute_transform( + self.fullness.ppm.compute_transform( starting_height, &indexer.vecs.blocks.weight, |(h, weight, ..)| (h, PartsPerMillion32::from(weight.fullness())), diff --git a/crates/brk_computer/src/distribution/metrics/cost_basis/mod.rs b/crates/brk_computer/src/distribution/metrics/cost_basis/mod.rs index 8f0c9aa20..31f8b9753 100644 --- a/crates/brk_computer/src/distribution/metrics/cost_basis/mod.rs +++ b/crates/brk_computer/src/distribution/metrics/cost_basis/mod.rs @@ -88,7 +88,7 @@ impl CostBasis { .height .len() .min(self.max.cents.height.len()) - .min(self.supply_density.raw.height.len()) + .min(self.supply_density.ppm.height.len()) } #[inline(always)] @@ -109,7 +109,7 @@ impl CostBasis { #[inline(always)] pub(crate) fn push_density(&mut self, density: PartsPerMillion32) { - self.supply_density.raw.height.push(density); + self.supply_density.ppm.height.push(density); } pub(crate) fn validate_computed_versions(&mut self, base_version: Version) -> Result<()> { @@ -128,7 +128,7 @@ impl CostBasis { &mut self.in_loss.per_dollar.cents.height, &mut self.min.cents.height, &mut self.max.cents.height, - &mut self.supply_density.raw.height, + &mut self.supply_density.ppm.height, ]; vecs.extend( self.per_coin diff --git a/crates/brk_computer/src/distribution/metrics/supply/base.rs b/crates/brk_computer/src/distribution/metrics/supply/base.rs index 42c736747..368c5aec5 100644 --- a/crates/brk_computer/src/distribution/metrics/supply/base.rs +++ b/crates/brk_computer/src/distribution/metrics/supply/base.rs @@ -58,7 +58,7 @@ impl SupplyBase { vec![ &mut self.total.sats.height as &mut dyn AnyStoredVec, &mut self.total.cents.height, - &mut self.dominance.raw.height, + &mut self.dominance.ppm.height, ] } diff --git a/crates/brk_computer/src/frameworks/cointime/adjusted/compute.rs b/crates/brk_computer/src/frameworks/cointime/adjusted/compute.rs index 625812eb9..a243f30a3 100644 --- a/crates/brk_computer/src/frameworks/cointime/adjusted/compute.rs +++ b/crates/brk_computer/src/frameworks/cointime/adjusted/compute.rs @@ -17,10 +17,10 @@ impl Vecs { ) -> Result<()> { let starting_height = indexer.safe_lengths().height; - self.inflation_rate.raw.height.compute_transform2( + self.inflation_rate.ppm.height.compute_transform2( starting_height, &activity.ratio.height, - &supply.inflation_rate.raw.height, + &supply.inflation_rate.ppm.height, |(h, a2vr, inflation, ..)| { ( h, diff --git a/crates/brk_computer/src/indicators/gini.rs b/crates/brk_computer/src/indicators/gini.rs index 75fd89bab..55dc9104e 100644 --- a/crates/brk_computer/src/indicators/gini.rs +++ b/crates/brk_computer/src/indicators/gini.rs @@ -34,13 +34,13 @@ pub(super) fn compute( .iter() .fold(Version::ZERO, |acc, v| acc + v.version()); - gini.raw + gini.ppm .height .validate_computed_version_or_reset(source_version)?; - let min_len = gini.raw.height.len().min(starting_height.to_usize()); + let min_len = gini.ppm.height.len().min(starting_height.to_usize()); - gini.raw.height.truncate_if_needed_at(min_len)?; + gini.ppm.height.truncate_if_needed_at(min_len)?; let total_heights = supply_vecs .iter() @@ -49,7 +49,7 @@ pub(super) fn compute( .unwrap_or(0) .min(count_vecs.iter().map(|v| v.len()).min().unwrap_or(0)); - let start_height = gini.raw.height.len(); + let start_height = gini.ppm.height.len(); if start_height >= total_heights { return Ok(()); } @@ -73,12 +73,12 @@ pub(super) fn compute( let count: u64 = count_data[c][offset].into(); buckets.push((count, supply)); } - gini.raw.height.push(gini_from_lorenz(&buckets)); + gini.ppm.height.push(gini_from_lorenz(&buckets)); } { let _lock = exit.lock(); - gini.raw.height.write()?; + gini.ppm.height.write()?; } Ok(()) diff --git a/crates/brk_computer/src/internal/containers/percent.rs b/crates/brk_computer/src/internal/containers/percent.rs index 8537be3c3..f3a2695bc 100644 --- a/crates/brk_computer/src/internal/containers/percent.rs +++ b/crates/brk_computer/src/internal/containers/percent.rs @@ -2,7 +2,7 @@ use brk_traversable::Traversable; #[derive(Clone, Traversable)] pub struct Percent { - pub raw: A, + pub ppm: A, pub ratio: B, pub percent: C, } diff --git a/crates/brk_computer/src/internal/per_block/percent/base.rs b/crates/brk_computer/src/internal/per_block/percent/base.rs index 67706f17f..26cafacc3 100644 --- a/crates/brk_computer/src/internal/per_block/percent/base.rs +++ b/crates/brk_computer/src/internal/per_block/percent/base.rs @@ -27,20 +27,20 @@ impl PercentPerBlock { version: Version, indexes: &indexes::Vecs, ) -> Result { - let raw = PerBlock::forced_import(db, &format!("{name}_{}", B::SUFFIX), version, indexes)?; - let raw_clone = raw.height.read_only_boxed_clone(); + let ppm = PerBlock::forced_import(db, &format!("{name}_{}", B::SUFFIX), version, indexes)?; + let ppm_clone = ppm.height.read_only_boxed_clone(); let ratio = LazyPerBlock::from_computed::( &format!("{name}_ratio"), version, - raw_clone.clone(), - &raw, + ppm_clone.clone(), + &ppm, ); - let percent = LazyPerBlock::from_computed::(name, version, raw_clone, &raw); + let percent = LazyPerBlock::from_computed::(name, version, ppm_clone, &ppm); Ok(Self(Percent { - raw, + ppm, ratio, percent, })) @@ -58,7 +58,7 @@ impl PercentPerBlock { S2T: VecValue, F: BinaryTransform, { - self.raw + self.ppm .compute_binary::(max_from, source1, source2, exit) } @@ -75,7 +75,7 @@ impl PercentPerBlock { f64: From + From, vecdb::EagerVec>: ComputeDrawdown, { - self.raw + self.ppm .height .compute_drawdown(max_from, current, ath, exit) } diff --git a/crates/brk_computer/src/internal/per_block/percent/lazy.rs b/crates/brk_computer/src/internal/per_block/percent/lazy.rs index 20166146c..c875b4d49 100644 --- a/crates/brk_computer/src/internal/per_block/percent/lazy.rs +++ b/crates/brk_computer/src/internal/per_block/percent/lazy.rs @@ -7,7 +7,7 @@ use crate::internal::{FixedRatio, LazyPerBlock, Percent, PercentPerBlock}; /// Fully lazy variant of `PercentPerBlock` — no stored vecs. /// -/// Raw values are lazily derived from a source `PercentPerBlock` via a unary transform, +/// PPM values are lazily derived from a source `PercentPerBlock` via a unary transform, /// and ratio/percent float views are chained from them. #[derive(Clone, Deref, DerefMut, Traversable)] #[traversable(transparent)] @@ -22,20 +22,20 @@ impl LazyPercentPerBlock { version: Version, source: &PercentPerBlock, ) -> Self { - let raw = LazyPerBlock::from_computed::( + let ppm = LazyPerBlock::from_computed::( &format!("{name}_{}", B::SUFFIX), version, - source.raw.height.read_only_boxed_clone(), - &source.raw, + source.ppm.height.read_only_boxed_clone(), + &source.ppm, ); let ratio = - LazyPerBlock::from_lazy::(&format!("{name}_ratio"), version, &raw); + LazyPerBlock::from_lazy::(&format!("{name}_ratio"), version, &ppm); - let percent = LazyPerBlock::from_lazy::(name, version, &raw); + let percent = LazyPerBlock::from_lazy::(name, version, &ppm); Self(Percent { - raw, + ppm, ratio, percent, }) diff --git a/crates/brk_computer/src/internal/per_block/percent/lazy_cumulative_rolling.rs b/crates/brk_computer/src/internal/per_block/percent/lazy_cumulative_rolling.rs index f196a229b..839ff9c46 100644 --- a/crates/brk_computer/src/internal/per_block/percent/lazy_cumulative_rolling.rs +++ b/crates/brk_computer/src/internal/per_block/percent/lazy_cumulative_rolling.rs @@ -10,7 +10,7 @@ use crate::internal::{ /// /// Mirrors the flat shape of `PercentCumulativeRolling`: cumulative and /// rolling window fields are both flattened to the same tree level, so -/// consumers see `{ raw, percent, ratio, _24h, _1w, _1m, _1y }`. +/// consumers see `{ ppm, percent, ratio, _24h, _1w, _1m, _1y }`. #[derive(Clone, Traversable)] pub struct LazyPercentCumulativeRolling { #[traversable(flatten)] diff --git a/crates/brk_computer/src/internal/per_block/percent/lazy_windows.rs b/crates/brk_computer/src/internal/per_block/percent/lazy_windows.rs index 3fa868cb8..1c835e30e 100644 --- a/crates/brk_computer/src/internal/per_block/percent/lazy_windows.rs +++ b/crates/brk_computer/src/internal/per_block/percent/lazy_windows.rs @@ -8,7 +8,7 @@ use crate::internal::{FixedRatio, PercentRollingWindows, Windows}; use super::LazyPercentPerBlock; /// Fully lazy rolling percent windows — 4 windows (24h, 1w, 1m, 1y), -/// each with lazy raw + lazy ratio/percent float views. +/// each with lazy PPM + lazy ratio/percent float views. /// /// No stored vecs. All values derived from a source `PercentRollingWindows`. #[derive(Clone, Deref, DerefMut, Traversable)] diff --git a/crates/brk_computer/src/internal/per_block/percent/vec.rs b/crates/brk_computer/src/internal/per_block/percent/vec.rs index 9e50d725c..277b7c9e9 100644 --- a/crates/brk_computer/src/internal/per_block/percent/vec.rs +++ b/crates/brk_computer/src/internal/per_block/percent/vec.rs @@ -22,20 +22,20 @@ impl PercentVec { name: &str, version: Version, ) -> brk_error::Result { - let raw: EagerVec> = + let ppm: EagerVec> = EagerVec::forced_import(db, &format!("{name}_{}", B::SUFFIX), version)?; - let raw_clone = raw.read_only_boxed_clone(); + let ppm_clone = ppm.read_only_boxed_clone(); let ratio = LazyVecFrom1::transformed::( &format!("{name}_ratio"), version, - raw_clone.clone(), + ppm_clone.clone(), ); - let percent = LazyVecFrom1::transformed::(name, version, raw_clone); + let percent = LazyVecFrom1::transformed::(name, version, ppm_clone); Ok(Self(Percent { - raw, + ppm, ratio, percent, })) diff --git a/crates/brk_computer/src/internal/per_block/rolling/delta.rs b/crates/brk_computer/src/internal/per_block/rolling/delta.rs index d2a04abf1..8e405dcfc 100644 --- a/crates/brk_computer/src/internal/per_block/rolling/delta.rs +++ b/crates/brk_computer/src/internal/per_block/rolling/delta.rs @@ -110,7 +110,7 @@ where ); let rate_resolutions = Resolutions::forced_import(&rate_raw_name, rate_vec.clone(), version, indexes); - let raw = LazyDeltaFromHeight { + let ppm = LazyDeltaFromHeight { height: rate_vec, resolutions: Box::new(rate_resolutions), }; @@ -120,12 +120,12 @@ where height: LazyVecFrom1::transformed::( &rate_ratio_name, version, - raw.height.read_only_boxed_clone(), + ppm.height.read_only_boxed_clone(), ), resolutions: Box::new(DerivedResolutions::from_derived_computed::( &rate_ratio_name, version, - &raw.resolutions, + &ppm.resolutions, )), }; @@ -134,17 +134,17 @@ where height: LazyVecFrom1::transformed::( &rate_name, version, - raw.height.read_only_boxed_clone(), + ppm.height.read_only_boxed_clone(), ), resolutions: Box::new(DerivedResolutions::from_derived_computed::( &rate_name, version, - &raw.resolutions, + &ppm.resolutions, )), }; let rate = LazyDeltaPercentFromHeight(Percent { - raw, + ppm, ratio, percent, }); @@ -256,7 +256,7 @@ where ); let rate_resolutions = Resolutions::forced_import(&rate_raw_name, rate_vec.clone(), version, indexes); - let raw = LazyDeltaFromHeight { + let ppm = LazyDeltaFromHeight { height: rate_vec, resolutions: Box::new(rate_resolutions), }; @@ -266,12 +266,12 @@ where height: LazyVecFrom1::transformed::( &rate_ratio_name, version, - raw.height.read_only_boxed_clone(), + ppm.height.read_only_boxed_clone(), ), resolutions: Box::new(DerivedResolutions::from_derived_computed::( &rate_ratio_name, version, - &raw.resolutions, + &ppm.resolutions, )), }; @@ -280,17 +280,17 @@ where height: LazyVecFrom1::transformed::( &rate_name, version, - raw.height.read_only_boxed_clone(), + ppm.height.read_only_boxed_clone(), ), resolutions: Box::new(DerivedResolutions::from_derived_computed::( &rate_name, version, - &raw.resolutions, + &ppm.resolutions, )), }; let rate = LazyDeltaPercentFromHeight(Percent { - raw, + ppm, ratio, percent, }); @@ -401,7 +401,7 @@ where ); let rate_resolutions = Resolutions::forced_import(&rate_raw_name, rate_vec.clone(), version, indexes); - let raw = LazyDeltaFromHeight { + let ppm = LazyDeltaFromHeight { height: rate_vec, resolutions: Box::new(rate_resolutions), }; @@ -411,12 +411,12 @@ where height: LazyVecFrom1::transformed::( &rate_ratio_name, version, - raw.height.read_only_boxed_clone(), + ppm.height.read_only_boxed_clone(), ), resolutions: Box::new(DerivedResolutions::from_derived_computed::( &rate_ratio_name, version, - &raw.resolutions, + &ppm.resolutions, )), }; @@ -425,17 +425,17 @@ where height: LazyVecFrom1::transformed::( &rate_name, version, - raw.height.read_only_boxed_clone(), + ppm.height.read_only_boxed_clone(), ), resolutions: Box::new(DerivedResolutions::from_derived_computed::( &rate_name, version, - &raw.resolutions, + &ppm.resolutions, )), }; let rate = LazyDeltaPercentFromHeight(Percent { - raw, + ppm, ratio, percent, }); diff --git a/crates/brk_computer/src/internal/with_addr_types.rs b/crates/brk_computer/src/internal/with_addr_types.rs index 4c22ef2e9..776d8db6c 100644 --- a/crates/brk_computer/src/internal/with_addr_types.rs +++ b/crates/brk_computer/src/internal/with_addr_types.rs @@ -291,9 +291,9 @@ impl WithAddrTypes> { } pub(crate) fn reset_height(&mut self) -> Result<()> { - self.all.raw.height.reset()?; + self.all.ppm.height.reset()?; for v in self.by_addr_type.values_mut() { - v.raw.height.reset()?; + v.ppm.height.reset()?; } Ok(()) } diff --git a/crates/brk_computer/src/investing/compute.rs b/crates/brk_computer/src/investing/compute.rs index 6a2848a91..a97ca2951 100644 --- a/crates/brk_computer/src/investing/compute.rs +++ b/crates/brk_computer/src/investing/compute.rs @@ -117,9 +117,9 @@ impl Vecs { .zip_mut_with_period(&self.period.dca_return) { let years = days as f64 / 365.0; - cagr.raw.height.compute_transform( + cagr.ppm.height.compute_transform( starting_lengths.height, - &returns.raw.height, + &returns.ppm.height, |(h, r, ..)| { let ratio = f64::from(r); let v = (ratio + 1.0).powf(1.0 / years) - 1.0; diff --git a/crates/brk_computer/src/market/range/compute.rs b/crates/brk_computer/src/market/range/compute.rs index fd620a9ce..f8ae371a3 100644 --- a/crates/brk_computer/src/market/range/compute.rs +++ b/crates/brk_computer/src/market/range/compute.rs @@ -72,7 +72,7 @@ impl Vecs { exit, )?; - self.choppiness_index_2w.raw.height.compute_transform4( + self.choppiness_index_2w.ppm.height.compute_transform4( starting_height, &self.true_range_sum_2w.height, &self.max._2w.cents.height, diff --git a/crates/brk_computer/src/market/returns/compute.rs b/crates/brk_computer/src/market/returns/compute.rs index 712eb93c9..b30cb3758 100644 --- a/crates/brk_computer/src/market/returns/compute.rs +++ b/crates/brk_computer/src/market/returns/compute.rs @@ -35,9 +35,9 @@ impl Vecs { let price_return_dca = ByDcaPeriod::from_lookback(&self.periods); for (cagr, returns, days) in self.cagr.zip_mut_with_period(&price_return_dca) { let years = days as f64 / 365.0; - cagr.raw.height.compute_transform( + cagr.ppm.height.compute_transform( starting_lengths.height, - &returns.raw.height, + &returns.ppm.height, |(h, r, ..)| { let ratio = f64::from(r); let v = (ratio + 1.0).powf(1.0 / years) - 1.0; diff --git a/crates/brk_computer/src/market/technical/rsi.rs b/crates/brk_computer/src/market/technical/rsi.rs index 80d85d35d..2622b5380 100644 --- a/crates/brk_computer/src/market/technical/rsi.rs +++ b/crates/brk_computer/src/market/technical/rsi.rs @@ -47,7 +47,7 @@ pub(super) fn compute( exit, )?; - chain.rsi.raw.height.compute_transform2( + chain.rsi.ppm.height.compute_transform2( starting_height, &chain.average_gain.height, &chain.average_loss.height, @@ -59,25 +59,25 @@ pub(super) fn compute( exit, )?; - chain.rsi_min.raw.height.compute_rolling_min_from_starts( + chain.rsi_min.ppm.height.compute_rolling_min_from_starts( starting_height, ws_rma, - &chain.rsi.raw.height, + &chain.rsi.ppm.height, exit, )?; - chain.rsi_max.raw.height.compute_rolling_max_from_starts( + chain.rsi_max.ppm.height.compute_rolling_max_from_starts( starting_height, ws_rma, - &chain.rsi.raw.height, + &chain.rsi.ppm.height, exit, )?; - chain.stoch_rsi.raw.height.compute_transform3( + chain.stoch_rsi.ppm.height.compute_transform3( starting_height, - &chain.rsi.raw.height, - &chain.rsi_min.raw.height, - &chain.rsi_max.raw.height, + &chain.rsi.ppm.height, + &chain.rsi_min.ppm.height, + &chain.rsi_max.ppm.height, |(h, r, mn, mx, ..)| { let range = f64::from(*mx) - f64::from(*mn); let stoch = if range == 0.0 { @@ -90,17 +90,17 @@ pub(super) fn compute( exit, )?; - chain.stoch_rsi_k.raw.height.compute_rolling_average( + chain.stoch_rsi_k.ppm.height.compute_rolling_average( starting_height, ws_sma, - &chain.stoch_rsi.raw.height, + &chain.stoch_rsi.ppm.height, exit, )?; - chain.stoch_rsi_d.raw.height.compute_rolling_average( + chain.stoch_rsi_d.ppm.height.compute_rolling_average( starting_height, ws_sma, - &chain.stoch_rsi_k.raw.height, + &chain.stoch_rsi_k.ppm.height, exit, )?; diff --git a/crates/brk_computer/src/models/bedrock/compute.rs b/crates/brk_computer/src/models/bedrock/compute.rs index bbcc846a6..f274e18cc 100644 --- a/crates/brk_computer/src/models/bedrock/compute.rs +++ b/crates/brk_computer/src/models/bedrock/compute.rs @@ -205,7 +205,7 @@ impl Vecs { .metrics .relative .supply_in_loss_share - .raw + .ppm .day1; let weighted_loss_shares: Vec<_> = [ &cointime.supply.active_supply_in_loss_share.day1, diff --git a/crates/brk_computer/src/supply/compute.rs b/crates/brk_computer/src/supply/compute.rs index 389c09cd9..b4c815080 100644 --- a/crates/brk_computer/src/supply/compute.rs +++ b/crates/brk_computer/src/supply/compute.rs @@ -35,7 +35,7 @@ impl Vecs { // i.e. the lookback points to block 0 or 1 in the genesis era. let circulating_supply = &distribution.utxo_cohorts.all.metrics.supply.total.sats; self.inflation_rate - .raw + .ppm .height .compute_rolling_from_window_starts( starting_height, @@ -61,16 +61,16 @@ impl Vecs { let diff_arr = self.market_minus_realized_cap_growth_rate.0.as_mut_array(); let rcr_rates = [ - &all_realized.cap.delta.rate._24h.raw.height, - &all_realized.cap.delta.rate._1w.raw.height, - &all_realized.cap.delta.rate._1m.raw.height, - &all_realized.cap.delta.rate._1y.raw.height, + &all_realized.cap.delta.rate._24h.ppm.height, + &all_realized.cap.delta.rate._1w.ppm.height, + &all_realized.cap.delta.rate._1m.ppm.height, + &all_realized.cap.delta.rate._1y.ppm.height, ]; for i in 0..4 { diff_arr[i].height.compute_subtract( starting_height, - &mcr_arr[i].raw.height, + &mcr_arr[i].ppm.height, rcr_rates[i], exit, )?; diff --git a/modules/brk-client/index.js b/modules/brk-client/index.js index 2a9c6f250..d09897669 100644 --- a/modules/brk-client/index.js +++ b/modules/brk-client/index.js @@ -2634,18 +2634,18 @@ function create_10y1m1w1y2y3m3y4y5y6m6y8yPattern3(client, acc) { /** * @typedef {Object} _10y1m1w1y2y3m3y4y5y6m6y8yPattern2 - * @property {PercentRatioRawPattern} _10y - * @property {PercentRatioRawPattern} _1m - * @property {PercentRatioRawPattern} _1w - * @property {PercentRatioRawPattern} _1y - * @property {PercentRatioRawPattern} _2y - * @property {PercentRatioRawPattern} _3m - * @property {PercentRatioRawPattern} _3y - * @property {PercentRatioRawPattern} _4y - * @property {PercentRatioRawPattern} _5y - * @property {PercentRatioRawPattern} _6m - * @property {PercentRatioRawPattern} _6y - * @property {PercentRatioRawPattern} _8y + * @property {PercentPpmRatioPattern} _10y + * @property {PercentPpmRatioPattern} _1m + * @property {PercentPpmRatioPattern} _1w + * @property {PercentPpmRatioPattern} _1y + * @property {PercentPpmRatioPattern} _2y + * @property {PercentPpmRatioPattern} _3m + * @property {PercentPpmRatioPattern} _3y + * @property {PercentPpmRatioPattern} _4y + * @property {PercentPpmRatioPattern} _5y + * @property {PercentPpmRatioPattern} _6m + * @property {PercentPpmRatioPattern} _6y + * @property {PercentPpmRatioPattern} _8y */ /** @@ -2656,18 +2656,18 @@ function create_10y1m1w1y2y3m3y4y5y6m6y8yPattern3(client, acc) { */ function create_10y1m1w1y2y3m3y4y5y6m6y8yPattern2(client, acc) { return { - _10y: createPercentRatioRawPattern(client, _m(acc, '10y')), - _1m: createPercentRatioRawPattern(client, _m(acc, '1m')), - _1w: createPercentRatioRawPattern(client, _m(acc, '1w')), - _1y: createPercentRatioRawPattern(client, _m(acc, '1y')), - _2y: createPercentRatioRawPattern(client, _m(acc, '2y')), - _3m: createPercentRatioRawPattern(client, _m(acc, '3m')), - _3y: createPercentRatioRawPattern(client, _m(acc, '3y')), - _4y: createPercentRatioRawPattern(client, _m(acc, '4y')), - _5y: createPercentRatioRawPattern(client, _m(acc, '5y')), - _6m: createPercentRatioRawPattern(client, _m(acc, '6m')), - _6y: createPercentRatioRawPattern(client, _m(acc, '6y')), - _8y: createPercentRatioRawPattern(client, _m(acc, '8y')), + _10y: createPercentPpmRatioPattern(client, _m(acc, '10y')), + _1m: createPercentPpmRatioPattern(client, _m(acc, '1m')), + _1w: createPercentPpmRatioPattern(client, _m(acc, '1w')), + _1y: createPercentPpmRatioPattern(client, _m(acc, '1y')), + _2y: createPercentPpmRatioPattern(client, _m(acc, '2y')), + _3m: createPercentPpmRatioPattern(client, _m(acc, '3m')), + _3y: createPercentPpmRatioPattern(client, _m(acc, '3y')), + _4y: createPercentPpmRatioPattern(client, _m(acc, '4y')), + _5y: createPercentPpmRatioPattern(client, _m(acc, '5y')), + _6m: createPercentPpmRatioPattern(client, _m(acc, '6m')), + _6y: createPercentPpmRatioPattern(client, _m(acc, '6y')), + _8y: createPercentPpmRatioPattern(client, _m(acc, '8y')), }; } @@ -2721,18 +2721,18 @@ function create_10y1m1w1y2y3m3y4y5y6m6y8yPattern2(client, acc) { /** * @typedef {Object} EmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2 - * @property {_1m1w1y24hPercentRatioRawPattern} empty - * @property {_1m1w1y24hPercentRatioRawPattern} opReturn - * @property {_1m1w1y24hPercentRatioRawPattern} p2a - * @property {_1m1w1y24hPercentRatioRawPattern} p2ms - * @property {_1m1w1y24hPercentRatioRawPattern} p2pk33 - * @property {_1m1w1y24hPercentRatioRawPattern} p2pk65 - * @property {_1m1w1y24hPercentRatioRawPattern} p2pkh - * @property {_1m1w1y24hPercentRatioRawPattern} p2sh - * @property {_1m1w1y24hPercentRatioRawPattern} p2tr - * @property {_1m1w1y24hPercentRatioRawPattern} p2wpkh - * @property {_1m1w1y24hPercentRatioRawPattern} p2wsh - * @property {_1m1w1y24hPercentRatioRawPattern} unknown + * @property {_1m1w1y24hPercentPpmRatioPattern} empty + * @property {_1m1w1y24hPercentPpmRatioPattern} opReturn + * @property {_1m1w1y24hPercentPpmRatioPattern} p2a + * @property {_1m1w1y24hPercentPpmRatioPattern} p2ms + * @property {_1m1w1y24hPercentPpmRatioPattern} p2pk33 + * @property {_1m1w1y24hPercentPpmRatioPattern} p2pk65 + * @property {_1m1w1y24hPercentPpmRatioPattern} p2pkh + * @property {_1m1w1y24hPercentPpmRatioPattern} p2sh + * @property {_1m1w1y24hPercentPpmRatioPattern} p2tr + * @property {_1m1w1y24hPercentPpmRatioPattern} p2wpkh + * @property {_1m1w1y24hPercentPpmRatioPattern} p2wsh + * @property {_1m1w1y24hPercentPpmRatioPattern} unknown */ /** @@ -2743,18 +2743,18 @@ function create_10y1m1w1y2y3m3y4y5y6m6y8yPattern2(client, acc) { */ function createEmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2(client, acc) { return { - empty: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'empty_outputs_output')), - opReturn: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'op_return_output')), - p2a: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2a_output')), - p2ms: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2ms_output')), - p2pk33: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2pk33_output')), - p2pk65: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2pk65_output')), - p2pkh: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2pkh_output')), - p2sh: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2sh_output')), - p2tr: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2tr_output')), - p2wpkh: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2wpkh_output')), - p2wsh: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2wsh_output')), - unknown: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'unknown_outputs_output')), + empty: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'empty_outputs_output')), + opReturn: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'op_return_output')), + p2a: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2a_output')), + p2ms: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2ms_output')), + p2pk33: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2pk33_output')), + p2pk65: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2pk65_output')), + p2pkh: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2pkh_output')), + p2sh: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2sh_output')), + p2tr: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2tr_output')), + p2wpkh: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2wpkh_output')), + p2wsh: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2wsh_output')), + unknown: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'unknown_outputs_output')), }; } @@ -2797,17 +2797,17 @@ function createAverageBlockCumulativeMaxMedianMinPct10Pct25Pct75Pct90SumPattern( /** * @typedef {Object} EmptyP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2 - * @property {_1m1w1y24hPercentRatioRawPattern} empty - * @property {_1m1w1y24hPercentRatioRawPattern} p2a - * @property {_1m1w1y24hPercentRatioRawPattern} p2ms - * @property {_1m1w1y24hPercentRatioRawPattern} p2pk33 - * @property {_1m1w1y24hPercentRatioRawPattern} p2pk65 - * @property {_1m1w1y24hPercentRatioRawPattern} p2pkh - * @property {_1m1w1y24hPercentRatioRawPattern} p2sh - * @property {_1m1w1y24hPercentRatioRawPattern} p2tr - * @property {_1m1w1y24hPercentRatioRawPattern} p2wpkh - * @property {_1m1w1y24hPercentRatioRawPattern} p2wsh - * @property {_1m1w1y24hPercentRatioRawPattern} unknown + * @property {_1m1w1y24hPercentPpmRatioPattern} empty + * @property {_1m1w1y24hPercentPpmRatioPattern} p2a + * @property {_1m1w1y24hPercentPpmRatioPattern} p2ms + * @property {_1m1w1y24hPercentPpmRatioPattern} p2pk33 + * @property {_1m1w1y24hPercentPpmRatioPattern} p2pk65 + * @property {_1m1w1y24hPercentPpmRatioPattern} p2pkh + * @property {_1m1w1y24hPercentPpmRatioPattern} p2sh + * @property {_1m1w1y24hPercentPpmRatioPattern} p2tr + * @property {_1m1w1y24hPercentPpmRatioPattern} p2wpkh + * @property {_1m1w1y24hPercentPpmRatioPattern} p2wsh + * @property {_1m1w1y24hPercentPpmRatioPattern} unknown */ /** @@ -2818,17 +2818,17 @@ function createAverageBlockCumulativeMaxMedianMinPct10Pct25Pct75Pct90SumPattern( */ function createEmptyP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2(client, acc) { return { - empty: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'empty_outputs_prevout')), - p2a: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2a_prevout')), - p2ms: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2ms_prevout')), - p2pk33: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2pk33_prevout')), - p2pk65: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2pk65_prevout')), - p2pkh: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2pkh_prevout')), - p2sh: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2sh_prevout')), - p2tr: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2tr_prevout')), - p2wpkh: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2wpkh_prevout')), - p2wsh: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2wsh_prevout')), - unknown: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'unknown_outputs_prevout')), + empty: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'empty_outputs_prevout')), + p2a: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2a_prevout')), + p2ms: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2ms_prevout')), + p2pk33: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2pk33_prevout')), + p2pk65: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2pk65_prevout')), + p2pkh: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2pkh_prevout')), + p2sh: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2sh_prevout')), + p2tr: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2tr_prevout')), + p2wpkh: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2wpkh_prevout')), + p2wsh: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2wsh_prevout')), + unknown: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'unknown_outputs_prevout')), }; } @@ -2955,15 +2955,15 @@ function createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6(client, acc) { /** * @typedef {Object} AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern5 - * @property {PercentRatioRawPattern2} all - * @property {PercentRatioRawPattern2} p2a - * @property {PercentRatioRawPattern2} p2pk33 - * @property {PercentRatioRawPattern2} p2pk65 - * @property {PercentRatioRawPattern2} p2pkh - * @property {PercentRatioRawPattern2} p2sh - * @property {PercentRatioRawPattern2} p2tr - * @property {PercentRatioRawPattern2} p2wpkh - * @property {PercentRatioRawPattern2} p2wsh + * @property {PercentPpmRatioPattern2} all + * @property {PercentPpmRatioPattern2} p2a + * @property {PercentPpmRatioPattern2} p2pk33 + * @property {PercentPpmRatioPattern2} p2pk65 + * @property {PercentPpmRatioPattern2} p2pkh + * @property {PercentPpmRatioPattern2} p2sh + * @property {PercentPpmRatioPattern2} p2tr + * @property {PercentPpmRatioPattern2} p2wpkh + * @property {PercentPpmRatioPattern2} p2wsh */ /** @@ -2974,15 +2974,15 @@ function createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6(client, acc) { */ function createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern5(client, acc) { return { - all: createPercentRatioRawPattern2(client, acc), - p2a: createPercentRatioRawPattern2(client, _p('p2a', acc)), - p2pk33: createPercentRatioRawPattern2(client, _p('p2pk33', acc)), - p2pk65: createPercentRatioRawPattern2(client, _p('p2pk65', acc)), - p2pkh: createPercentRatioRawPattern2(client, _p('p2pkh', acc)), - p2sh: createPercentRatioRawPattern2(client, _p('p2sh', acc)), - p2tr: createPercentRatioRawPattern2(client, _p('p2tr', acc)), - p2wpkh: createPercentRatioRawPattern2(client, _p('p2wpkh', acc)), - p2wsh: createPercentRatioRawPattern2(client, _p('p2wsh', acc)), + all: createPercentPpmRatioPattern2(client, acc), + p2a: createPercentPpmRatioPattern2(client, _p('p2a', acc)), + p2pk33: createPercentPpmRatioPattern2(client, _p('p2pk33', acc)), + p2pk65: createPercentPpmRatioPattern2(client, _p('p2pk65', acc)), + p2pkh: createPercentPpmRatioPattern2(client, _p('p2pkh', acc)), + p2sh: createPercentPpmRatioPattern2(client, _p('p2sh', acc)), + p2tr: createPercentPpmRatioPattern2(client, _p('p2tr', acc)), + p2wpkh: createPercentPpmRatioPattern2(client, _p('p2wpkh', acc)), + p2wsh: createPercentPpmRatioPattern2(client, _p('p2wsh', acc)), }; } @@ -3021,15 +3021,15 @@ function createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4(client, acc) { /** * @typedef {Object} AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7 - * @property {_1m1w1y24hPercentRatioRawPattern} all - * @property {_1m1w1y24hPercentRatioRawPattern} p2a - * @property {_1m1w1y24hPercentRatioRawPattern} p2pk33 - * @property {_1m1w1y24hPercentRatioRawPattern} p2pk65 - * @property {_1m1w1y24hPercentRatioRawPattern} p2pkh - * @property {_1m1w1y24hPercentRatioRawPattern} p2sh - * @property {_1m1w1y24hPercentRatioRawPattern} p2tr - * @property {_1m1w1y24hPercentRatioRawPattern} p2wpkh - * @property {_1m1w1y24hPercentRatioRawPattern} p2wsh + * @property {_1m1w1y24hPercentPpmRatioPattern} all + * @property {_1m1w1y24hPercentPpmRatioPattern} p2a + * @property {_1m1w1y24hPercentPpmRatioPattern} p2pk33 + * @property {_1m1w1y24hPercentPpmRatioPattern} p2pk65 + * @property {_1m1w1y24hPercentPpmRatioPattern} p2pkh + * @property {_1m1w1y24hPercentPpmRatioPattern} p2sh + * @property {_1m1w1y24hPercentPpmRatioPattern} p2tr + * @property {_1m1w1y24hPercentPpmRatioPattern} p2wpkh + * @property {_1m1w1y24hPercentPpmRatioPattern} p2wsh */ /** @@ -3040,15 +3040,15 @@ function createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4(client, acc) { */ function createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7(client, acc) { return { - all: create_1m1w1y24hPercentRatioRawPattern(client, acc), - p2a: create_1m1w1y24hPercentRatioRawPattern(client, _p('p2a', acc)), - p2pk33: create_1m1w1y24hPercentRatioRawPattern(client, _p('p2pk33', acc)), - p2pk65: create_1m1w1y24hPercentRatioRawPattern(client, _p('p2pk65', acc)), - p2pkh: create_1m1w1y24hPercentRatioRawPattern(client, _p('p2pkh', acc)), - p2sh: create_1m1w1y24hPercentRatioRawPattern(client, _p('p2sh', acc)), - p2tr: create_1m1w1y24hPercentRatioRawPattern(client, _p('p2tr', acc)), - p2wpkh: create_1m1w1y24hPercentRatioRawPattern(client, _p('p2wpkh', acc)), - p2wsh: create_1m1w1y24hPercentRatioRawPattern(client, _p('p2wsh', acc)), + all: create_1m1w1y24hPercentPpmRatioPattern(client, acc), + p2a: create_1m1w1y24hPercentPpmRatioPattern(client, _p('p2a', acc)), + p2pk33: create_1m1w1y24hPercentPpmRatioPattern(client, _p('p2pk33', acc)), + p2pk65: create_1m1w1y24hPercentPpmRatioPattern(client, _p('p2pk65', acc)), + p2pkh: create_1m1w1y24hPercentPpmRatioPattern(client, _p('p2pkh', acc)), + p2sh: create_1m1w1y24hPercentPpmRatioPattern(client, _p('p2sh', acc)), + p2tr: create_1m1w1y24hPercentPpmRatioPattern(client, _p('p2tr', acc)), + p2wpkh: create_1m1w1y24hPercentPpmRatioPattern(client, _p('p2wpkh', acc)), + p2wsh: create_1m1w1y24hPercentPpmRatioPattern(client, _p('p2wsh', acc)), }; } @@ -3196,13 +3196,13 @@ function createPct0Pct1Pct2Pct5Pct95Pct98Pct99Pattern(client, acc) { /** * @typedef {Object} _10y2y3y4y5y6y8yPattern - * @property {PercentRatioRawPattern} _10y - * @property {PercentRatioRawPattern} _2y - * @property {PercentRatioRawPattern} _3y - * @property {PercentRatioRawPattern} _4y - * @property {PercentRatioRawPattern} _5y - * @property {PercentRatioRawPattern} _6y - * @property {PercentRatioRawPattern} _8y + * @property {PercentPpmRatioPattern} _10y + * @property {PercentPpmRatioPattern} _2y + * @property {PercentPpmRatioPattern} _3y + * @property {PercentPpmRatioPattern} _4y + * @property {PercentPpmRatioPattern} _5y + * @property {PercentPpmRatioPattern} _6y + * @property {PercentPpmRatioPattern} _8y */ /** @@ -3213,42 +3213,42 @@ function createPct0Pct1Pct2Pct5Pct95Pct98Pct99Pattern(client, acc) { */ function create_10y2y3y4y5y6y8yPattern(client, acc) { return { - _10y: createPercentRatioRawPattern(client, _m(acc, '10y')), - _2y: createPercentRatioRawPattern(client, _m(acc, '2y')), - _3y: createPercentRatioRawPattern(client, _m(acc, '3y')), - _4y: createPercentRatioRawPattern(client, _m(acc, '4y')), - _5y: createPercentRatioRawPattern(client, _m(acc, '5y')), - _6y: createPercentRatioRawPattern(client, _m(acc, '6y')), - _8y: createPercentRatioRawPattern(client, _m(acc, '8y')), + _10y: createPercentPpmRatioPattern(client, _m(acc, '10y')), + _2y: createPercentPpmRatioPattern(client, _m(acc, '2y')), + _3y: createPercentPpmRatioPattern(client, _m(acc, '3y')), + _4y: createPercentPpmRatioPattern(client, _m(acc, '4y')), + _5y: createPercentPpmRatioPattern(client, _m(acc, '5y')), + _6y: createPercentPpmRatioPattern(client, _m(acc, '6y')), + _8y: createPercentPpmRatioPattern(client, _m(acc, '8y')), }; } /** - * @typedef {Object} _1m1w1y24hPercentRatioRawPattern - * @property {PercentRatioRawPattern2} _1m - * @property {PercentRatioRawPattern2} _1w - * @property {PercentRatioRawPattern2} _1y - * @property {PercentRatioRawPattern2} _24h + * @typedef {Object} _1m1w1y24hPercentPpmRatioPattern + * @property {PercentPpmRatioPattern2} _1m + * @property {PercentPpmRatioPattern2} _1w + * @property {PercentPpmRatioPattern2} _1y + * @property {PercentPpmRatioPattern2} _24h * @property {SeriesPattern1} percent + * @property {SeriesPattern1} ppm * @property {SeriesPattern1} ratio - * @property {SeriesPattern1} raw */ /** - * Create a _1m1w1y24hPercentRatioRawPattern pattern node + * Create a _1m1w1y24hPercentPpmRatioPattern pattern node * @param {BrkClient} client * @param {string} acc - Accumulated series name - * @returns {_1m1w1y24hPercentRatioRawPattern} + * @returns {_1m1w1y24hPercentPpmRatioPattern} */ -function create_1m1w1y24hPercentRatioRawPattern(client, acc) { +function create_1m1w1y24hPercentPpmRatioPattern(client, acc) { return { - _1m: createPercentRatioRawPattern2(client, _m(acc, '1m')), - _1w: createPercentRatioRawPattern2(client, _m(acc, '1w')), - _1y: createPercentRatioRawPattern2(client, _m(acc, '1y')), - _24h: createPercentRatioRawPattern2(client, _m(acc, '24h')), + _1m: createPercentPpmRatioPattern2(client, _m(acc, '1m')), + _1w: createPercentPpmRatioPattern2(client, _m(acc, '1w')), + _1y: createPercentPpmRatioPattern2(client, _m(acc, '1y')), + _24h: createPercentPpmRatioPattern2(client, _m(acc, '24h')), percent: createSeriesPattern1(client, acc), + ppm: createSeriesPattern1(client, _m(acc, 'ppm')), ratio: createSeriesPattern1(client, _m(acc, 'ratio')), - raw: createSeriesPattern1(client, _m(acc, 'ppm')), }; } @@ -3260,7 +3260,7 @@ function create_1m1w1y24hPercentRatioRawPattern(client, acc) { * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7} inputFromReusedAddrShare * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6} outputToReusedAddrCount * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7} outputToReusedAddrShare - * @property {_1m1w1y24hPercentRatioRawPattern} spendableOutputToReusedAddrShare + * @property {_1m1w1y24hPercentPpmRatioPattern} spendableOutputToReusedAddrShare */ /** @@ -3340,7 +3340,7 @@ function createCoindaysLivelinessRatioSupplyVaultednessPattern(client, acc) { * @property {CentsSatsUsdPattern} min * @property {Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern} perCoin * @property {Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern} perDollar - * @property {PercentRatioRawPattern2} supplyDensity + * @property {PercentPpmRatioPattern2} supplyDensity */ /** @@ -3357,7 +3357,7 @@ function createInMaxMinPerSupplyPattern(client, acc) { min: createCentsSatsUsdPattern(client, _m(acc, 'cost_basis_min')), perCoin: createPct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern(client, _m(acc, 'cost_basis_per_coin')), perDollar: createPct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern(client, _m(acc, 'cost_basis_per_dollar')), - supplyDensity: createPercentRatioRawPattern2(client, _m(acc, 'supply_density')), + supplyDensity: createPercentPpmRatioPattern2(client, _m(acc, 'supply_density')), }; } @@ -3506,9 +3506,9 @@ function createAverageBlockCumulativeInSumPattern(client, acc) { * @typedef {Object} CentsNegativeToUsdPattern2 * @property {SeriesPattern1} cents * @property {SeriesPattern1} negative - * @property {PercentRatioRawPattern2} toMcap - * @property {PercentRatioRawPattern2} toOwnGrossPnl - * @property {PercentRatioRawPattern2} toOwnMcap + * @property {PercentPpmRatioPattern2} toMcap + * @property {PercentPpmRatioPattern2} toOwnGrossPnl + * @property {PercentPpmRatioPattern2} toOwnMcap * @property {SeriesPattern1} usd */ @@ -3522,9 +3522,9 @@ function createCentsNegativeToUsdPattern2(client, acc) { return { cents: createSeriesPattern1(client, _m(acc, 'cents')), negative: createSeriesPattern1(client, _m(acc, 'neg')), - toMcap: createPercentRatioRawPattern2(client, _m(acc, 'to_mcap')), - toOwnGrossPnl: createPercentRatioRawPattern2(client, _m(acc, 'to_own_gross_pnl')), - toOwnMcap: createPercentRatioRawPattern2(client, _m(acc, 'to_own_mcap')), + toMcap: createPercentPpmRatioPattern2(client, _m(acc, 'to_mcap')), + toOwnGrossPnl: createPercentPpmRatioPattern2(client, _m(acc, 'to_own_gross_pnl')), + toOwnMcap: createPercentPpmRatioPattern2(client, _m(acc, 'to_own_mcap')), usd: createSeriesPattern1(client, acc), }; } @@ -3558,9 +3558,9 @@ function createCentsPercentilesRatioRawSatsUsdPattern(client, acc) { /** * @typedef {Object} ChainDataOutputTxPattern - * @property {PercentRatioRawPattern2} chainShare + * @property {PercentPpmRatioPattern2} chainShare * @property {AverageBlockCumulativeSumPattern} dataBytes - * @property {PercentRatioRawPattern2} dataShare + * @property {PercentPpmRatioPattern2} dataShare * @property {AverageBlockCumulativeSumPattern} outputCount * @property {AverageBlockCumulativeSumPattern} txCount * @property {AverageBlockCumulativeSumPattern} txVsize @@ -3574,9 +3574,9 @@ function createCentsPercentilesRatioRawSatsUsdPattern(client, acc) { */ function createChainDataOutputTxPattern(client, acc) { return { - chainShare: createPercentRatioRawPattern2(client, _m(acc, 'chain_share')), + chainShare: createPercentPpmRatioPattern2(client, _m(acc, 'chain_share')), dataBytes: createAverageBlockCumulativeSumPattern(client, _m(acc, 'data_bytes')), - dataShare: createPercentRatioRawPattern2(client, _m(acc, 'data_share')), + dataShare: createPercentPpmRatioPattern2(client, _m(acc, 'data_share')), outputCount: createAverageBlockCumulativeSumPattern(client, _m(acc, 'output_count')), txCount: createAverageBlockCumulativeSumPattern(client, _m(acc, 'tx_count')), txVsize: createAverageBlockCumulativeSumPattern(client, _m(acc, 'tx_vsize')), @@ -3586,7 +3586,7 @@ function createChainDataOutputTxPattern(client, acc) { /** * @typedef {Object} DeltaDominanceHalfInTotalPattern2 * @property {AbsoluteRatePattern3} delta - * @property {PercentRatioRawPattern2} dominance + * @property {PercentPpmRatioPattern2} dominance * @property {BtcCentsSatsUsdPattern} half * @property {BtcCentsSatsShareUsdPattern} inLoss * @property {BtcCentsSatsShareUsdPattern} inProfit @@ -3602,7 +3602,7 @@ function createChainDataOutputTxPattern(client, acc) { function createDeltaDominanceHalfInTotalPattern2(client, acc) { return { delta: createAbsoluteRatePattern3(client, _m(acc, 'delta')), - dominance: createPercentRatioRawPattern2(client, _m(acc, 'dominance')), + dominance: createPercentPpmRatioPattern2(client, _m(acc, 'dominance')), half: createBtcCentsSatsUsdPattern(client, _m(acc, 'half')), inLoss: createBtcCentsSatsShareUsdPattern(client, _m(acc, 'in_loss')), inProfit: createBtcCentsSatsShareUsdPattern(client, _m(acc, 'in_profit')), @@ -3613,7 +3613,7 @@ function createDeltaDominanceHalfInTotalPattern2(client, acc) { /** * @typedef {Object} DeltaDominanceHalfInTotalPattern * @property {AbsoluteRatePattern3} delta - * @property {PercentRatioRawPattern2} dominance + * @property {PercentPpmRatioPattern2} dominance * @property {BtcCentsSatsUsdPattern} half * @property {BtcCentsSatsUsdPattern} inLoss * @property {BtcCentsSatsUsdPattern} inProfit @@ -3629,7 +3629,7 @@ function createDeltaDominanceHalfInTotalPattern2(client, acc) { function createDeltaDominanceHalfInTotalPattern(client, acc) { return { delta: createAbsoluteRatePattern3(client, _m(acc, 'delta')), - dominance: createPercentRatioRawPattern2(client, _m(acc, 'dominance')), + dominance: createPercentPpmRatioPattern2(client, _m(acc, 'dominance')), half: createBtcCentsSatsUsdPattern(client, _m(acc, 'half')), inLoss: createBtcCentsSatsUsdPattern(client, _m(acc, 'in_loss')), inProfit: createBtcCentsSatsUsdPattern(client, _m(acc, 'in_profit')), @@ -3851,7 +3851,7 @@ function createBtcCentsDeltaSatsUsdPattern(client, acc) { * @property {SeriesPattern1} btc * @property {SeriesPattern1} cents * @property {SeriesPattern1} sats - * @property {PercentRatioRawPattern2} share + * @property {PercentPpmRatioPattern2} share * @property {SeriesPattern1} usd */ @@ -3866,7 +3866,7 @@ function createBtcCentsSatsShareUsdPattern(client, acc) { btc: createSeriesPattern1(client, acc), cents: createSeriesPattern1(client, _m(acc, 'cents')), sats: createSeriesPattern1(client, _m(acc, 'sats')), - share: createPercentRatioRawPattern2(client, _m(acc, 'share')), + share: createPercentPpmRatioPattern2(client, _m(acc, 'share')), usd: createSeriesPattern1(client, _m(acc, 'usd')), }; } @@ -3924,9 +3924,9 @@ function createCentsRatioRawSatsUsdPattern(client, acc) { /** * @typedef {Object} CentsToUsdPattern4 * @property {SeriesPattern1} cents - * @property {PercentRatioRawPattern2} toMcap - * @property {PercentRatioRawPattern2} toOwnGrossPnl - * @property {PercentRatioRawPattern2} toOwnMcap + * @property {PercentPpmRatioPattern2} toMcap + * @property {PercentPpmRatioPattern2} toOwnGrossPnl + * @property {PercentPpmRatioPattern2} toOwnMcap * @property {SeriesPattern1} usd */ @@ -3939,9 +3939,9 @@ function createCentsRatioRawSatsUsdPattern(client, acc) { function createCentsToUsdPattern4(client, acc) { return { cents: createSeriesPattern1(client, _m(acc, 'cents')), - toMcap: createPercentRatioRawPattern2(client, _m(acc, 'to_mcap')), - toOwnGrossPnl: createPercentRatioRawPattern2(client, _m(acc, 'to_own_gross_pnl')), - toOwnMcap: createPercentRatioRawPattern2(client, _m(acc, 'to_own_mcap')), + toMcap: createPercentPpmRatioPattern2(client, _m(acc, 'to_mcap')), + toOwnGrossPnl: createPercentPpmRatioPattern2(client, _m(acc, 'to_own_gross_pnl')), + toOwnMcap: createPercentPpmRatioPattern2(client, _m(acc, 'to_own_mcap')), usd: createSeriesPattern1(client, acc), }; } @@ -3959,7 +3959,7 @@ function createCentsToUsdPattern4(client, acc) { * @typedef {Object} PhsReboundThsPattern * @property {SeriesPattern1} phs * @property {SeriesPattern1} phsMin - * @property {PercentRatioRawPattern} rebound + * @property {PercentPpmRatioPattern} rebound * @property {SeriesPattern1} ths * @property {SeriesPattern1} thsMin */ @@ -3974,7 +3974,7 @@ function createPhsReboundThsPattern(client, acc) { return { phs: createSeriesPattern1(client, _m(acc, 'phs')), phsMin: createSeriesPattern1(client, _m(acc, 'phs_min')), - rebound: createPercentRatioRawPattern(client, _m(acc, 'rebound')), + rebound: createPercentPpmRatioPattern(client, _m(acc, 'rebound')), ths: createSeriesPattern1(client, _m(acc, 'ths')), thsMin: createSeriesPattern1(client, _m(acc, 'ths_min')), }; @@ -4147,10 +4147,10 @@ function create_1m1w1y24hPattern6(client, acc) { /** * @typedef {Object} _1m1w1y24hPattern2 - * @property {PercentRatioRawPattern} _1m - * @property {PercentRatioRawPattern} _1w - * @property {PercentRatioRawPattern} _1y - * @property {PercentRatioRawPattern} _24h + * @property {PercentPpmRatioPattern} _1m + * @property {PercentPpmRatioPattern} _1w + * @property {PercentPpmRatioPattern} _1y + * @property {PercentPpmRatioPattern} _24h */ /** @@ -4161,19 +4161,19 @@ function create_1m1w1y24hPattern6(client, acc) { */ function create_1m1w1y24hPattern2(client, acc) { return { - _1m: createPercentRatioRawPattern(client, _m(acc, '1m_rate')), - _1w: createPercentRatioRawPattern(client, _m(acc, '1w_rate')), - _1y: createPercentRatioRawPattern(client, _m(acc, '1y_rate')), - _24h: createPercentRatioRawPattern(client, _m(acc, '24h_rate')), + _1m: createPercentPpmRatioPattern(client, _m(acc, '1m_rate')), + _1w: createPercentPpmRatioPattern(client, _m(acc, '1w_rate')), + _1y: createPercentPpmRatioPattern(client, _m(acc, '1y_rate')), + _24h: createPercentPpmRatioPattern(client, _m(acc, '24h_rate')), }; } /** * @typedef {Object} _1m1w1y24hPattern8 - * @property {PercentRatioRawPattern2} _1m - * @property {PercentRatioRawPattern2} _1w - * @property {PercentRatioRawPattern2} _1y - * @property {PercentRatioRawPattern2} _24h + * @property {PercentPpmRatioPattern2} _1m + * @property {PercentPpmRatioPattern2} _1w + * @property {PercentPpmRatioPattern2} _1y + * @property {PercentPpmRatioPattern2} _24h */ /** @@ -4184,10 +4184,10 @@ function create_1m1w1y24hPattern2(client, acc) { */ function create_1m1w1y24hPattern8(client, acc) { return { - _1m: createPercentRatioRawPattern2(client, _m(acc, '1m')), - _1w: createPercentRatioRawPattern2(client, _m(acc, '1w')), - _1y: createPercentRatioRawPattern2(client, _m(acc, '1y')), - _24h: createPercentRatioRawPattern2(client, _m(acc, '24h')), + _1m: createPercentPpmRatioPattern2(client, _m(acc, '1m')), + _1w: createPercentPpmRatioPattern2(client, _m(acc, '1w')), + _1y: createPercentPpmRatioPattern2(client, _m(acc, '1y')), + _24h: createPercentPpmRatioPattern2(client, _m(acc, '24h')), }; } @@ -4364,7 +4364,7 @@ function createBtcCentsSatsUsdPattern3(client, acc) { * @typedef {Object} CentsDeltaToUsdPattern * @property {SeriesPattern1} cents * @property {AbsoluteRatePattern2} delta - * @property {PercentRatioRawPattern2} toOwnMcap + * @property {PercentPpmRatioPattern2} toOwnMcap * @property {SeriesPattern1} usd */ @@ -4378,7 +4378,7 @@ function createCentsDeltaToUsdPattern(client, acc) { return { cents: createSeriesPattern1(client, _m(acc, 'cents')), delta: createAbsoluteRatePattern2(client, _m(acc, 'delta')), - toOwnMcap: createPercentRatioRawPattern2(client, _m(acc, 'to_own_mcap')), + toOwnMcap: createPercentPpmRatioPattern2(client, _m(acc, 'to_own_mcap')), usd: createSeriesPattern1(client, acc), }; } @@ -4386,8 +4386,8 @@ function createCentsDeltaToUsdPattern(client, acc) { /** * @typedef {Object} CentsToUsdPattern3 * @property {SeriesPattern1} cents - * @property {PercentRatioRawPattern3} toOwnGrossPnl - * @property {PercentRatioRawPattern3} toOwnMcap + * @property {PercentPpmRatioPattern3} toOwnGrossPnl + * @property {PercentPpmRatioPattern3} toOwnMcap * @property {SeriesPattern1} usd */ @@ -4400,8 +4400,8 @@ function createCentsDeltaToUsdPattern(client, acc) { function createCentsToUsdPattern3(client, acc) { return { cents: createSeriesPattern1(client, _m(acc, 'cents')), - toOwnGrossPnl: createPercentRatioRawPattern3(client, _m(acc, 'to_own_gross_pnl')), - toOwnMcap: createPercentRatioRawPattern3(client, _m(acc, 'to_own_mcap')), + toOwnGrossPnl: createPercentPpmRatioPattern3(client, _m(acc, 'to_own_gross_pnl')), + toOwnMcap: createPercentPpmRatioPattern3(client, _m(acc, 'to_own_mcap')), usd: createSeriesPattern1(client, acc), }; } @@ -4593,7 +4593,7 @@ function createBlockCumulativeSumPattern(client, acc) { /** * @typedef {Object} BlocksDominanceRewardsPattern * @property {AverageBlockCumulativeSumPattern2} blocksMined - * @property {_1m1w1y24hPercentRatioRawPattern} dominance + * @property {_1m1w1y24hPercentPpmRatioPattern} dominance * @property {AverageBlockCumulativeSumPattern3} rewards */ @@ -4606,7 +4606,7 @@ function createBlockCumulativeSumPattern(client, acc) { function createBlocksDominanceRewardsPattern(client, acc) { return { blocksMined: createAverageBlockCumulativeSumPattern2(client, _m(acc, 'blocks_mined')), - dominance: create_1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'dominance')), + dominance: create_1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'dominance')), rewards: createAverageBlockCumulativeSumPattern3(client, _m(acc, 'rewards')), }; } @@ -4726,7 +4726,7 @@ function createCumulativeRollingSumPattern(client, acc) { /** * @typedef {Object} DeltaDominanceTotalPattern * @property {AbsoluteRatePattern3} delta - * @property {PercentRatioRawPattern2} dominance + * @property {PercentPpmRatioPattern2} dominance * @property {BtcCentsSatsUsdPattern} total */ @@ -4739,7 +4739,7 @@ function createCumulativeRollingSumPattern(client, acc) { function createDeltaDominanceTotalPattern(client, acc) { return { delta: createAbsoluteRatePattern3(client, _m(acc, 'delta')), - dominance: createPercentRatioRawPattern2(client, _m(acc, 'dominance')), + dominance: createPercentPpmRatioPattern2(client, _m(acc, 'dominance')), total: createBtcCentsSatsUsdPattern(client, acc), }; } @@ -4808,65 +4808,65 @@ function createLossNuplProfitPattern(client, acc) { } /** - * @typedef {Object} PercentRatioRawPattern2 + * @typedef {Object} PercentPpmRatioPattern2 * @property {SeriesPattern1} percent + * @property {SeriesPattern1} ppm * @property {SeriesPattern1} ratio - * @property {SeriesPattern1} raw */ /** - * Create a PercentRatioRawPattern2 pattern node + * Create a PercentPpmRatioPattern2 pattern node * @param {BrkClient} client * @param {string} acc - Accumulated series name - * @returns {PercentRatioRawPattern2} + * @returns {PercentPpmRatioPattern2} */ -function createPercentRatioRawPattern2(client, acc) { +function createPercentPpmRatioPattern2(client, acc) { return { percent: createSeriesPattern1(client, acc), + ppm: createSeriesPattern1(client, _m(acc, 'ppm')), ratio: createSeriesPattern1(client, _m(acc, 'ratio')), - raw: createSeriesPattern1(client, _m(acc, 'ppm')), }; } /** - * @typedef {Object} PercentRatioRawPattern3 + * @typedef {Object} PercentPpmRatioPattern3 * @property {SeriesPattern1} percent + * @property {SeriesPattern1} ppm * @property {SeriesPattern1} ratio - * @property {SeriesPattern1} raw */ /** - * Create a PercentRatioRawPattern3 pattern node + * Create a PercentPpmRatioPattern3 pattern node * @param {BrkClient} client * @param {string} acc - Accumulated series name - * @returns {PercentRatioRawPattern3} + * @returns {PercentPpmRatioPattern3} */ -function createPercentRatioRawPattern3(client, acc) { +function createPercentPpmRatioPattern3(client, acc) { return { percent: createSeriesPattern1(client, acc), + ppm: createSeriesPattern1(client, _m(acc, 'ppm')), ratio: createSeriesPattern1(client, _m(acc, 'ratio')), - raw: createSeriesPattern1(client, _m(acc, 'ppm')), }; } /** - * @typedef {Object} PercentRatioRawPattern + * @typedef {Object} PercentPpmRatioPattern * @property {SeriesPattern1} percent + * @property {SeriesPattern1} ppm * @property {SeriesPattern1} ratio - * @property {SeriesPattern1} raw */ /** - * Create a PercentRatioRawPattern pattern node + * Create a PercentPpmRatioPattern pattern node * @param {BrkClient} client * @param {string} acc - Accumulated series name - * @returns {PercentRatioRawPattern} + * @returns {PercentPpmRatioPattern} */ -function createPercentRatioRawPattern(client, acc) { +function createPercentPpmRatioPattern(client, acc) { return { percent: createSeriesPattern1(client, acc), + ppm: createSeriesPattern1(client, _m(acc, 'ppm')), ratio: createSeriesPattern1(client, _m(acc, 'ratio')), - raw: createSeriesPattern1(client, _m(acc, 'ppm')), }; } @@ -4915,9 +4915,9 @@ function createRatioTransferValuePattern(client, acc) { /** * @typedef {Object} RsiStochPattern - * @property {PercentRatioRawPattern2} rsi - * @property {PercentRatioRawPattern2} stochRsiD - * @property {PercentRatioRawPattern2} stochRsiK + * @property {PercentPpmRatioPattern2} rsi + * @property {PercentPpmRatioPattern2} stochRsiD + * @property {PercentPpmRatioPattern2} stochRsiK */ /** @@ -4929,9 +4929,9 @@ function createRatioTransferValuePattern(client, acc) { */ function createRsiStochPattern(client, acc, disc) { return { - rsi: createPercentRatioRawPattern2(client, _m(acc, disc)), - stochRsiD: createPercentRatioRawPattern2(client, _m(_m(acc, 'stoch_d'), disc)), - stochRsiK: createPercentRatioRawPattern2(client, _m(_m(acc, 'stoch_k'), disc)), + rsi: createPercentPpmRatioPattern2(client, _m(acc, disc)), + stochRsiD: createPercentPpmRatioPattern2(client, _m(_m(acc, 'stoch_d'), disc)), + stochRsiK: createPercentPpmRatioPattern2(client, _m(_m(acc, 'stoch_k'), disc)), }; } @@ -5173,7 +5173,7 @@ function createBlockCumulativePattern(client, acc) { /** * @typedef {Object} BlocksDominancePattern * @property {AverageBlockCumulativeSumPattern2} blocksMined - * @property {PercentRatioRawPattern2} dominance + * @property {PercentPpmRatioPattern2} dominance */ /** @@ -5185,7 +5185,7 @@ function createBlockCumulativePattern(client, acc) { function createBlocksDominancePattern(client, acc) { return { blocksMined: createAverageBlockCumulativeSumPattern2(client, _m(acc, 'blocks_mined')), - dominance: createPercentRatioRawPattern2(client, _m(acc, 'dominance')), + dominance: createPercentPpmRatioPattern2(client, _m(acc, 'dominance')), }; } @@ -5521,8 +5521,8 @@ function createRatioValuePattern(client, acc) { /** * @typedef {Object} ToPattern - * @property {PercentRatioRawPattern} toMcap - * @property {PercentRatioRawPattern} toRcap + * @property {PercentPpmRatioPattern} toMcap + * @property {PercentPpmRatioPattern} toRcap */ /** @@ -5533,8 +5533,8 @@ function createRatioValuePattern(client, acc) { */ function createToPattern(client, acc) { return { - toMcap: createPercentRatioRawPattern(client, _m(acc, 'mcap')), - toRcap: createPercentRatioRawPattern(client, _m(acc, 'rcap')), + toMcap: createPercentPpmRatioPattern(client, _m(acc, 'mcap')), + toRcap: createPercentPpmRatioPattern(client, _m(acc, 'rcap')), }; } @@ -5608,7 +5608,7 @@ function createPricePattern(client, acc) { /** * @typedef {Object} SharePattern - * @property {PercentRatioRawPattern2} share + * @property {PercentPpmRatioPattern2} share */ /** @@ -5619,7 +5619,7 @@ function createPricePattern(client, acc) { */ function createSharePattern(client, acc) { return { - share: createPercentRatioRawPattern2(client, acc), + share: createPercentPpmRatioPattern2(client, acc), }; } @@ -5723,7 +5723,7 @@ function createTransferPattern(client, acc) { * @typedef {Object} SeriesTree_Blocks_Difficulty * @property {SeriesPattern1} value * @property {SeriesPattern1} hashrate - * @property {PercentRatioRawPattern3} adjustment + * @property {PercentPpmRatioPattern3} adjustment * @property {SeriesPattern1} epoch * @property {SeriesPattern1} blocksToRetarget * @property {SeriesPattern1} daysToRetarget @@ -5813,7 +5813,7 @@ function createTransferPattern(client, acc) { /** * @typedef {Object} SeriesTree_Blocks_Fullness - * @property {SeriesPattern18} raw + * @property {SeriesPattern18} ppm * @property {SeriesPattern18} ratio * @property {SeriesPattern18} percent */ @@ -6037,17 +6037,17 @@ function createTransferPattern(client, acc) { /** * @typedef {Object} SeriesTree_Inputs_ByType_InputShare - * @property {_1m1w1y24hPercentRatioRawPattern} p2pk65 - * @property {_1m1w1y24hPercentRatioRawPattern} p2pk33 - * @property {_1m1w1y24hPercentRatioRawPattern} p2pkh - * @property {_1m1w1y24hPercentRatioRawPattern} p2ms - * @property {_1m1w1y24hPercentRatioRawPattern} p2sh - * @property {_1m1w1y24hPercentRatioRawPattern} p2wpkh - * @property {_1m1w1y24hPercentRatioRawPattern} p2wsh - * @property {_1m1w1y24hPercentRatioRawPattern} p2tr - * @property {_1m1w1y24hPercentRatioRawPattern} p2a - * @property {_1m1w1y24hPercentRatioRawPattern} unknown - * @property {_1m1w1y24hPercentRatioRawPattern} empty + * @property {_1m1w1y24hPercentPpmRatioPattern} p2pk65 + * @property {_1m1w1y24hPercentPpmRatioPattern} p2pk33 + * @property {_1m1w1y24hPercentPpmRatioPattern} p2pkh + * @property {_1m1w1y24hPercentPpmRatioPattern} p2ms + * @property {_1m1w1y24hPercentPpmRatioPattern} p2sh + * @property {_1m1w1y24hPercentPpmRatioPattern} p2wpkh + * @property {_1m1w1y24hPercentPpmRatioPattern} p2wsh + * @property {_1m1w1y24hPercentPpmRatioPattern} p2tr + * @property {_1m1w1y24hPercentPpmRatioPattern} p2a + * @property {_1m1w1y24hPercentPpmRatioPattern} unknown + * @property {_1m1w1y24hPercentPpmRatioPattern} empty */ /** @@ -6129,18 +6129,18 @@ function createTransferPattern(client, acc) { /** * @typedef {Object} SeriesTree_Outputs_ByType_OutputShare - * @property {_1m1w1y24hPercentRatioRawPattern} p2pk65 - * @property {_1m1w1y24hPercentRatioRawPattern} p2pk33 - * @property {_1m1w1y24hPercentRatioRawPattern} p2pkh - * @property {_1m1w1y24hPercentRatioRawPattern} p2ms - * @property {_1m1w1y24hPercentRatioRawPattern} p2sh - * @property {_1m1w1y24hPercentRatioRawPattern} p2wpkh - * @property {_1m1w1y24hPercentRatioRawPattern} p2wsh - * @property {_1m1w1y24hPercentRatioRawPattern} p2tr - * @property {_1m1w1y24hPercentRatioRawPattern} p2a - * @property {_1m1w1y24hPercentRatioRawPattern} unknown - * @property {_1m1w1y24hPercentRatioRawPattern} empty - * @property {_1m1w1y24hPercentRatioRawPattern} opReturn + * @property {_1m1w1y24hPercentPpmRatioPattern} p2pk65 + * @property {_1m1w1y24hPercentPpmRatioPattern} p2pk33 + * @property {_1m1w1y24hPercentPpmRatioPattern} p2pkh + * @property {_1m1w1y24hPercentPpmRatioPattern} p2ms + * @property {_1m1w1y24hPercentPpmRatioPattern} p2sh + * @property {_1m1w1y24hPercentPpmRatioPattern} p2wpkh + * @property {_1m1w1y24hPercentPpmRatioPattern} p2wsh + * @property {_1m1w1y24hPercentPpmRatioPattern} p2tr + * @property {_1m1w1y24hPercentPpmRatioPattern} p2a + * @property {_1m1w1y24hPercentPpmRatioPattern} unknown + * @property {_1m1w1y24hPercentPpmRatioPattern} empty + * @property {_1m1w1y24hPercentPpmRatioPattern} opReturn */ /** @@ -6278,7 +6278,7 @@ function createTransferPattern(client, acc) { * @typedef {Object} SeriesTree_Addrs_Reused_Events * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6} outputToReusedAddrCount * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7} outputToReusedAddrShare - * @property {_1m1w1y24hPercentRatioRawPattern} spendableOutputToReusedAddrShare + * @property {_1m1w1y24hPercentPpmRatioPattern} spendableOutputToReusedAddrShare * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6} inputFromReusedAddrCount * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7} inputFromReusedAddrShare * @property {_1m1w1y24hBlockPattern} activeReusedAddrCount @@ -6310,7 +6310,7 @@ function createTransferPattern(client, acc) { * @typedef {Object} SeriesTree_Addrs_Respent_Events * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6} outputToReusedAddrCount * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7} outputToReusedAddrShare - * @property {_1m1w1y24hPercentRatioRawPattern} spendableOutputToReusedAddrShare + * @property {_1m1w1y24hPercentPpmRatioPattern} spendableOutputToReusedAddrShare * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6} inputFromReusedAddrCount * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7} inputFromReusedAddrShare * @property {_1m1w1y24hBlockPattern} activeReusedAddrCount @@ -6430,7 +6430,7 @@ function createTransferPattern(client, acc) { * @property {AverageBlockCumulativeSumPattern} dataBytes * @property {AverageBlockCumulativeSumPattern} txCount * @property {AverageBlockCumulativeSumPattern} txVsize - * @property {PercentRatioRawPattern2} chainShare + * @property {PercentPpmRatioPattern2} chainShare */ /** @@ -6489,7 +6489,7 @@ function createTransferPattern(client, acc) { * @property {BtcCentsSatsUsdPattern} cumulative * @property {_1m1w1y24hPattern4} sum * @property {_1m1w1y24hPattern3} average - * @property {_1m1w1y24hPercentRatioRawPattern} dominance + * @property {_1m1w1y24hPercentPpmRatioPattern} dominance */ /** @@ -6505,7 +6505,7 @@ function createTransferPattern(client, acc) { * @property {_1m1w1y24hPattern4} median * @property {_1m1w1y24hPattern4} pct75 * @property {_1m1w1y24hPattern4} pct90 - * @property {_1m1w1y24hPercentRatioRawPattern} dominance + * @property {_1m1w1y24hPercentPpmRatioPattern} dominance * @property {SeriesTree_Mining_Rewards_Fees_ToSubsidyRatio} toSubsidyRatio */ @@ -6529,7 +6529,7 @@ function createTransferPattern(client, acc) { * @property {SeriesPattern1} base * @property {SeriesTree_Mining_Hashrate_Rate_Sma} sma * @property {SeriesPattern1} ath - * @property {PercentRatioRawPattern3} drawdown + * @property {PercentPpmRatioPattern3} drawdown */ /** @@ -6630,7 +6630,7 @@ function createTransferPattern(client, acc) { /** * @typedef {Object} SeriesTree_Cointime_Adjusted - * @property {PercentRatioRawPattern} inflationRate + * @property {PercentPpmRatioPattern} inflationRate * @property {SeriesPattern1} txVelocityNative * @property {SeriesPattern1} txVelocityFiat */ @@ -6977,7 +6977,7 @@ function createTransferPattern(client, acc) { * @typedef {Object} SeriesTree_Indicators * @property {RatioRawPattern3} puellMultiple * @property {RatioRawPattern3} nvt - * @property {PercentRatioRawPattern2} gini + * @property {PercentPpmRatioPattern2} gini * @property {RatioRawPattern3} rhodlRatio * @property {RatioRawPattern3} thermoCapMultiple * @property {SeriesPattern1} coindaysDestroyedSupplyAdj @@ -7075,18 +7075,18 @@ function createTransferPattern(client, acc) { /** * @typedef {Object} SeriesTree_Investing_Class_DcaReturn - * @property {PercentRatioRawPattern} from2015 - * @property {PercentRatioRawPattern} from2016 - * @property {PercentRatioRawPattern} from2017 - * @property {PercentRatioRawPattern} from2018 - * @property {PercentRatioRawPattern} from2019 - * @property {PercentRatioRawPattern} from2020 - * @property {PercentRatioRawPattern} from2021 - * @property {PercentRatioRawPattern} from2022 - * @property {PercentRatioRawPattern} from2023 - * @property {PercentRatioRawPattern} from2024 - * @property {PercentRatioRawPattern} from2025 - * @property {PercentRatioRawPattern} from2026 + * @property {PercentPpmRatioPattern} from2015 + * @property {PercentPpmRatioPattern} from2016 + * @property {PercentPpmRatioPattern} from2017 + * @property {PercentPpmRatioPattern} from2018 + * @property {PercentPpmRatioPattern} from2019 + * @property {PercentPpmRatioPattern} from2020 + * @property {PercentPpmRatioPattern} from2021 + * @property {PercentPpmRatioPattern} from2022 + * @property {PercentPpmRatioPattern} from2023 + * @property {PercentPpmRatioPattern} from2024 + * @property {PercentPpmRatioPattern} from2025 + * @property {PercentPpmRatioPattern} from2026 */ /** @@ -7103,7 +7103,7 @@ function createTransferPattern(client, acc) { /** * @typedef {Object} SeriesTree_Market_Ath * @property {CentsSatsUsdPattern} high - * @property {PercentRatioRawPattern3} drawdown + * @property {PercentPpmRatioPattern3} drawdown * @property {SeriesPattern1} daysSince * @property {SeriesPattern1} yearsSince * @property {SeriesPattern1} maxDaysBetween @@ -7136,19 +7136,19 @@ function createTransferPattern(client, acc) { /** * @typedef {Object} SeriesTree_Market_Returns_Periods - * @property {PercentRatioRawPattern} _24h - * @property {PercentRatioRawPattern} _1w - * @property {PercentRatioRawPattern} _1m - * @property {PercentRatioRawPattern} _3m - * @property {PercentRatioRawPattern} _6m - * @property {PercentRatioRawPattern} _1y - * @property {PercentRatioRawPattern} _2y - * @property {PercentRatioRawPattern} _3y - * @property {PercentRatioRawPattern} _4y - * @property {PercentRatioRawPattern} _5y - * @property {PercentRatioRawPattern} _6y - * @property {PercentRatioRawPattern} _8y - * @property {PercentRatioRawPattern} _10y + * @property {PercentPpmRatioPattern} _24h + * @property {PercentPpmRatioPattern} _1w + * @property {PercentPpmRatioPattern} _1m + * @property {PercentPpmRatioPattern} _3m + * @property {PercentPpmRatioPattern} _6m + * @property {PercentPpmRatioPattern} _1y + * @property {PercentPpmRatioPattern} _2y + * @property {PercentPpmRatioPattern} _3y + * @property {PercentPpmRatioPattern} _4y + * @property {PercentPpmRatioPattern} _5y + * @property {PercentPpmRatioPattern} _6y + * @property {PercentPpmRatioPattern} _8y + * @property {PercentPpmRatioPattern} _10y */ /** @@ -7189,7 +7189,7 @@ function createTransferPattern(client, acc) { * @property {_1m1w1y2wPattern} max * @property {SeriesPattern1} trueRange * @property {SeriesPattern1} trueRangeSum2w - * @property {PercentRatioRawPattern2} choppinessIndex2w + * @property {PercentPpmRatioPattern2} choppinessIndex2w */ /** @@ -7521,7 +7521,7 @@ function createTransferPattern(client, acc) { * @property {SeriesPattern18} state * @property {BtcCentsSatsUsdPattern} circulating * @property {BlockCumulativePattern} burned - * @property {PercentRatioRawPattern} inflationRate + * @property {PercentPpmRatioPattern} inflationRate * @property {SeriesTree_Supply_Velocity} velocity * @property {CentsDeltaUsdPattern} marketCap * @property {_1m1w1y24hPattern} marketMinusRealizedCapGrowthRate @@ -7719,7 +7719,7 @@ function createTransferPattern(client, acc) { * @property {CentsSatsUsdPattern} max * @property {Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern} perCoin * @property {Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern} perDollar - * @property {PercentRatioRawPattern2} supplyDensity + * @property {PercentPpmRatioPattern2} supplyDensity */ /** @@ -7739,8 +7739,8 @@ function createTransferPattern(client, acc) { * @typedef {Object} SeriesTree_Cohorts_Utxo_All_Unrealized_Profit * @property {SeriesPattern1} usd * @property {SeriesPattern1} cents - * @property {PercentRatioRawPattern2} toMcap - * @property {PercentRatioRawPattern2} toOwnGrossPnl + * @property {PercentPpmRatioPattern2} toMcap + * @property {PercentPpmRatioPattern2} toOwnGrossPnl */ /** @@ -7748,15 +7748,15 @@ function createTransferPattern(client, acc) { * @property {SeriesPattern1} usd * @property {SeriesPattern1} cents * @property {SeriesPattern1} negative - * @property {PercentRatioRawPattern2} toMcap - * @property {PercentRatioRawPattern2} toOwnGrossPnl + * @property {PercentPpmRatioPattern2} toMcap + * @property {PercentPpmRatioPattern2} toOwnGrossPnl */ /** * @typedef {Object} SeriesTree_Cohorts_Utxo_All_Unrealized_NetPnl * @property {SeriesPattern1} usd * @property {SeriesPattern1} cents - * @property {PercentRatioRawPattern3} toOwnGrossPnl + * @property {PercentPpmRatioPattern3} toOwnGrossPnl */ /** @@ -9823,7 +9823,7 @@ class BrkClient extends BrkClientBase { difficulty: { value: createSeriesPattern1(this, 'difficulty'), hashrate: createSeriesPattern1(this, 'difficulty_hashrate'), - adjustment: createPercentRatioRawPattern3(this, 'difficulty_adjustment'), + adjustment: createPercentPpmRatioPattern3(this, 'difficulty_adjustment'), epoch: createSeriesPattern1(this, 'difficulty_epoch'), blocksToRetarget: createSeriesPattern1(this, 'blocks_to_retarget'), daysToRetarget: createSeriesPattern1(this, 'days_to_retarget'), @@ -9906,7 +9906,7 @@ class BrkClient extends BrkClientBase { }, vbytes: createAverageBlockCumulativeMaxMedianMinPct10Pct25Pct75Pct90SumPattern(this, 'block_vbytes'), fullness: { - raw: createSeriesPattern18(this, 'block_fullness_ppm'), + ppm: createSeriesPattern18(this, 'block_fullness_ppm'), ratio: createSeriesPattern18(this, 'block_fullness_ratio'), percent: createSeriesPattern18(this, 'block_fullness'), }, @@ -10064,17 +10064,17 @@ class BrkClient extends BrkClientBase { empty: createAverageBlockCumulativeSumPattern(this, 'empty_outputs_prevout_count'), }, inputShare: { - p2pk65: create_1m1w1y24hPercentRatioRawPattern(this, 'p2pk65_prevout_share'), - p2pk33: create_1m1w1y24hPercentRatioRawPattern(this, 'p2pk33_prevout_share'), - p2pkh: create_1m1w1y24hPercentRatioRawPattern(this, 'p2pkh_prevout_share'), - p2ms: create_1m1w1y24hPercentRatioRawPattern(this, 'p2ms_prevout_share'), - p2sh: create_1m1w1y24hPercentRatioRawPattern(this, 'p2sh_prevout_share'), - p2wpkh: create_1m1w1y24hPercentRatioRawPattern(this, 'p2wpkh_prevout_share'), - p2wsh: create_1m1w1y24hPercentRatioRawPattern(this, 'p2wsh_prevout_share'), - p2tr: create_1m1w1y24hPercentRatioRawPattern(this, 'p2tr_prevout_share'), - p2a: create_1m1w1y24hPercentRatioRawPattern(this, 'p2a_prevout_share'), - unknown: create_1m1w1y24hPercentRatioRawPattern(this, 'unknown_outputs_prevout_share'), - empty: create_1m1w1y24hPercentRatioRawPattern(this, 'empty_outputs_prevout_share'), + p2pk65: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2pk65_prevout_share'), + p2pk33: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2pk33_prevout_share'), + p2pkh: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2pkh_prevout_share'), + p2ms: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2ms_prevout_share'), + p2sh: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2sh_prevout_share'), + p2wpkh: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2wpkh_prevout_share'), + p2wsh: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2wsh_prevout_share'), + p2tr: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2tr_prevout_share'), + p2a: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2a_prevout_share'), + unknown: create_1m1w1y24hPercentPpmRatioPattern(this, 'unknown_outputs_prevout_share'), + empty: create_1m1w1y24hPercentPpmRatioPattern(this, 'empty_outputs_prevout_share'), }, txCount: { all: createAverageBlockCumulativeSumPattern(this, 'non_coinbase_tx_count'), @@ -10129,18 +10129,18 @@ class BrkClient extends BrkClientBase { }, spendableOutputCount: createAverageBlockCumulativeSumPattern(this, 'spendable_output_count'), outputShare: { - p2pk65: create_1m1w1y24hPercentRatioRawPattern(this, 'p2pk65_output_share'), - p2pk33: create_1m1w1y24hPercentRatioRawPattern(this, 'p2pk33_output_share'), - p2pkh: create_1m1w1y24hPercentRatioRawPattern(this, 'p2pkh_output_share'), - p2ms: create_1m1w1y24hPercentRatioRawPattern(this, 'p2ms_output_share'), - p2sh: create_1m1w1y24hPercentRatioRawPattern(this, 'p2sh_output_share'), - p2wpkh: create_1m1w1y24hPercentRatioRawPattern(this, 'p2wpkh_output_share'), - p2wsh: create_1m1w1y24hPercentRatioRawPattern(this, 'p2wsh_output_share'), - p2tr: create_1m1w1y24hPercentRatioRawPattern(this, 'p2tr_output_share'), - p2a: create_1m1w1y24hPercentRatioRawPattern(this, 'p2a_output_share'), - unknown: create_1m1w1y24hPercentRatioRawPattern(this, 'unknown_outputs_output_share'), - empty: create_1m1w1y24hPercentRatioRawPattern(this, 'empty_outputs_output_share'), - opReturn: create_1m1w1y24hPercentRatioRawPattern(this, 'op_return_output_share'), + p2pk65: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2pk65_output_share'), + p2pk33: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2pk33_output_share'), + p2pkh: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2pkh_output_share'), + p2ms: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2ms_output_share'), + p2sh: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2sh_output_share'), + p2wpkh: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2wpkh_output_share'), + p2wsh: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2wsh_output_share'), + p2tr: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2tr_output_share'), + p2a: create_1m1w1y24hPercentPpmRatioPattern(this, 'p2a_output_share'), + unknown: create_1m1w1y24hPercentPpmRatioPattern(this, 'unknown_outputs_output_share'), + empty: create_1m1w1y24hPercentPpmRatioPattern(this, 'empty_outputs_output_share'), + opReturn: create_1m1w1y24hPercentPpmRatioPattern(this, 'op_return_output_share'), }, txCount: createAllEmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern(this, 'tx_count'), txShare: createEmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2(this, 'tx_share_with'), @@ -10226,7 +10226,7 @@ class BrkClient extends BrkClientBase { events: { outputToReusedAddrCount: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6(this, 'output_to_reused_addr_count'), outputToReusedAddrShare: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7(this, 'output_to_reused_addr_share'), - spendableOutputToReusedAddrShare: create_1m1w1y24hPercentRatioRawPattern(this, 'spendable_output_to_reused_addr_share'), + spendableOutputToReusedAddrShare: create_1m1w1y24hPercentPpmRatioPattern(this, 'spendable_output_to_reused_addr_share'), inputFromReusedAddrCount: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6(this, 'input_from_reused_addr_count'), inputFromReusedAddrShare: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7(this, 'input_from_reused_addr_share'), activeReusedAddrCount: create_1m1w1y24hBlockPattern(this, 'active_reused_addr_count'), @@ -10250,7 +10250,7 @@ class BrkClient extends BrkClientBase { events: { outputToReusedAddrCount: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6(this, 'output_to_respent_addr_count'), outputToReusedAddrShare: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7(this, 'output_to_respent_addr_share'), - spendableOutputToReusedAddrShare: create_1m1w1y24hPercentRatioRawPattern(this, 'spendable_output_to_respent_addr_share'), + spendableOutputToReusedAddrShare: create_1m1w1y24hPercentPpmRatioPattern(this, 'spendable_output_to_respent_addr_share'), inputFromReusedAddrCount: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6(this, 'input_from_respent_addr_count'), inputFromReusedAddrShare: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7(this, 'input_from_respent_addr_share'), activeReusedAddrCount: create_1m1w1y24hBlockPattern(this, 'active_respent_addr_count'), @@ -10336,7 +10336,7 @@ class BrkClient extends BrkClientBase { dataBytes: createAverageBlockCumulativeSumPattern(this, 'op_return_data_bytes'), txCount: createAverageBlockCumulativeSumPattern(this, 'op_return_tx_count'), txVsize: createAverageBlockCumulativeSumPattern(this, 'op_return_tx_vsize'), - chainShare: createPercentRatioRawPattern2(this, 'op_return_chain_share'), + chainShare: createPercentPpmRatioPattern2(this, 'op_return_chain_share'), }, byKind: { runes: createChainDataOutputTxPattern(this, 'op_return_runes'), @@ -10378,7 +10378,7 @@ class BrkClient extends BrkClientBase { cumulative: createBtcCentsSatsUsdPattern(this, 'subsidy_cumulative'), sum: create_1m1w1y24hPattern4(this, 'subsidy_sum'), average: create_1m1w1y24hPattern3(this, 'subsidy_average'), - dominance: create_1m1w1y24hPercentRatioRawPattern(this, 'subsidy_dominance'), + dominance: create_1m1w1y24hPercentPpmRatioPattern(this, 'subsidy_dominance'), }, fees: { block: createBtcCentsSatsUsdPattern3(this, 'fees'), @@ -10392,7 +10392,7 @@ class BrkClient extends BrkClientBase { median: create_1m1w1y24hPattern4(this, 'fees_median'), pct75: create_1m1w1y24hPattern4(this, 'fees_pct75'), pct90: create_1m1w1y24hPattern4(this, 'fees_pct90'), - dominance: create_1m1w1y24hPercentRatioRawPattern(this, 'fee_dominance'), + dominance: create_1m1w1y24hPercentPpmRatioPattern(this, 'fee_dominance'), toSubsidyRatio: { _24h: createRatioRawPattern3(this, 'fee_to_subsidy_ratio_24h'), _1w: createRatioRawPattern3(this, 'fee_to_subsidy_ratio_1w'), @@ -10413,7 +10413,7 @@ class BrkClient extends BrkClientBase { _1y: createSeriesPattern1(this, 'hash_rate_sma_1y'), }, ath: createSeriesPattern1(this, 'hash_rate_ath'), - drawdown: createPercentRatioRawPattern3(this, 'hash_rate_drawdown'), + drawdown: createPercentPpmRatioPattern3(this, 'hash_rate_drawdown'), }, price: createPhsReboundThsPattern(this, 'hash_price'), value: createPhsReboundThsPattern(this, 'hash_value'), @@ -10482,7 +10482,7 @@ class BrkClient extends BrkClientBase { cointime: createCentsPercentilesRatioRawSatsUsdPattern(this, 'cointime_price'), }, adjusted: { - inflationRate: createPercentRatioRawPattern(this, 'cointime_adj_inflation_rate'), + inflationRate: createPercentPpmRatioPattern(this, 'cointime_adj_inflation_rate'), txVelocityNative: createSeriesPattern1(this, 'cointime_adj_tx_velocity_btc'), txVelocityFiat: createSeriesPattern1(this, 'cointime_adj_tx_velocity_usd'), }, @@ -10707,7 +10707,7 @@ class BrkClient extends BrkClientBase { indicators: { puellMultiple: createRatioRawPattern3(this, 'puell_multiple'), nvt: createRatioRawPattern3(this, 'nvt'), - gini: createPercentRatioRawPattern2(this, 'gini'), + gini: createPercentPpmRatioPattern2(this, 'gini'), rhodlRatio: createRatioRawPattern3(this, 'rhodl_ratio'), thermoCapMultiple: createRatioRawPattern3(this, 'thermo_cap_multiple'), coindaysDestroyedSupplyAdj: createSeriesPattern1(this, 'coindays_destroyed_supply_adj'), @@ -10777,25 +10777,25 @@ class BrkClient extends BrkClientBase { from2026: createCentsSatsUsdPattern(this, 'dca_cost_basis_from_2026'), }, dcaReturn: { - from2015: createPercentRatioRawPattern(this, 'dca_return_from_2015'), - from2016: createPercentRatioRawPattern(this, 'dca_return_from_2016'), - from2017: createPercentRatioRawPattern(this, 'dca_return_from_2017'), - from2018: createPercentRatioRawPattern(this, 'dca_return_from_2018'), - from2019: createPercentRatioRawPattern(this, 'dca_return_from_2019'), - from2020: createPercentRatioRawPattern(this, 'dca_return_from_2020'), - from2021: createPercentRatioRawPattern(this, 'dca_return_from_2021'), - from2022: createPercentRatioRawPattern(this, 'dca_return_from_2022'), - from2023: createPercentRatioRawPattern(this, 'dca_return_from_2023'), - from2024: createPercentRatioRawPattern(this, 'dca_return_from_2024'), - from2025: createPercentRatioRawPattern(this, 'dca_return_from_2025'), - from2026: createPercentRatioRawPattern(this, 'dca_return_from_2026'), + from2015: createPercentPpmRatioPattern(this, 'dca_return_from_2015'), + from2016: createPercentPpmRatioPattern(this, 'dca_return_from_2016'), + from2017: createPercentPpmRatioPattern(this, 'dca_return_from_2017'), + from2018: createPercentPpmRatioPattern(this, 'dca_return_from_2018'), + from2019: createPercentPpmRatioPattern(this, 'dca_return_from_2019'), + from2020: createPercentPpmRatioPattern(this, 'dca_return_from_2020'), + from2021: createPercentPpmRatioPattern(this, 'dca_return_from_2021'), + from2022: createPercentPpmRatioPattern(this, 'dca_return_from_2022'), + from2023: createPercentPpmRatioPattern(this, 'dca_return_from_2023'), + from2024: createPercentPpmRatioPattern(this, 'dca_return_from_2024'), + from2025: createPercentPpmRatioPattern(this, 'dca_return_from_2025'), + from2026: createPercentPpmRatioPattern(this, 'dca_return_from_2026'), }, }, }, market: { ath: { high: createCentsSatsUsdPattern(this, 'price_ath'), - drawdown: createPercentRatioRawPattern3(this, 'price_drawdown'), + drawdown: createPercentPpmRatioPattern3(this, 'price_drawdown'), daysSince: createSeriesPattern1(this, 'days_since_price_ath'), yearsSince: createSeriesPattern1(this, 'years_since_price_ath'), maxDaysBetween: createSeriesPattern1(this, 'max_days_between_price_ath'), @@ -10818,19 +10818,19 @@ class BrkClient extends BrkClientBase { }, returns: { periods: { - _24h: createPercentRatioRawPattern(this, 'price_return_24h'), - _1w: createPercentRatioRawPattern(this, 'price_return_1w'), - _1m: createPercentRatioRawPattern(this, 'price_return_1m'), - _3m: createPercentRatioRawPattern(this, 'price_return_3m'), - _6m: createPercentRatioRawPattern(this, 'price_return_6m'), - _1y: createPercentRatioRawPattern(this, 'price_return_1y'), - _2y: createPercentRatioRawPattern(this, 'price_return_2y'), - _3y: createPercentRatioRawPattern(this, 'price_return_3y'), - _4y: createPercentRatioRawPattern(this, 'price_return_4y'), - _5y: createPercentRatioRawPattern(this, 'price_return_5y'), - _6y: createPercentRatioRawPattern(this, 'price_return_6y'), - _8y: createPercentRatioRawPattern(this, 'price_return_8y'), - _10y: createPercentRatioRawPattern(this, 'price_return_10y'), + _24h: createPercentPpmRatioPattern(this, 'price_return_24h'), + _1w: createPercentPpmRatioPattern(this, 'price_return_1w'), + _1m: createPercentPpmRatioPattern(this, 'price_return_1m'), + _3m: createPercentPpmRatioPattern(this, 'price_return_3m'), + _6m: createPercentPpmRatioPattern(this, 'price_return_6m'), + _1y: createPercentPpmRatioPattern(this, 'price_return_1y'), + _2y: createPercentPpmRatioPattern(this, 'price_return_2y'), + _3y: createPercentPpmRatioPattern(this, 'price_return_3y'), + _4y: createPercentPpmRatioPattern(this, 'price_return_4y'), + _5y: createPercentPpmRatioPattern(this, 'price_return_5y'), + _6y: createPercentPpmRatioPattern(this, 'price_return_6y'), + _8y: createPercentPpmRatioPattern(this, 'price_return_8y'), + _10y: createPercentPpmRatioPattern(this, 'price_return_10y'), }, cagr: create_10y2y3y4y5y6y8yPattern(this, 'price_cagr'), sd24h: { @@ -10858,7 +10858,7 @@ class BrkClient extends BrkClientBase { max: create_1m1w1y2wPattern(this, 'price_max'), trueRange: createSeriesPattern1(this, 'price_true_range'), trueRangeSum2w: createSeriesPattern1(this, 'price_true_range_sum_2w'), - choppinessIndex2w: createPercentRatioRawPattern2(this, 'price_choppiness_index_2w'), + choppinessIndex2w: createPercentPpmRatioPattern2(this, 'price_choppiness_index_2w'), }, movingAverage: { sma: { @@ -11139,7 +11139,7 @@ class BrkClient extends BrkClientBase { state: createSeriesPattern18(this, 'supply_state'), circulating: createBtcCentsSatsUsdPattern(this, 'circulating_supply'), burned: createBlockCumulativePattern(this, 'unspendable_supply'), - inflationRate: createPercentRatioRawPattern(this, 'inflation_rate'), + inflationRate: createPercentPpmRatioPattern(this, 'inflation_rate'), velocity: { native: createSeriesPattern1(this, 'velocity_btc'), fiat: createSeriesPattern1(this, 'velocity_usd'), @@ -11270,27 +11270,27 @@ class BrkClient extends BrkClientBase { max: createCentsSatsUsdPattern(this, 'cost_basis_max'), perCoin: createPct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern(this, 'cost_basis_per_coin'), perDollar: createPct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern(this, 'cost_basis_per_dollar'), - supplyDensity: createPercentRatioRawPattern2(this, 'supply_density'), + supplyDensity: createPercentPpmRatioPattern2(this, 'supply_density'), }, unrealized: { nupl: createRatioRawPattern(this, 'nupl'), profit: { usd: createSeriesPattern1(this, 'unrealized_profit'), cents: createSeriesPattern1(this, 'unrealized_profit_cents'), - toMcap: createPercentRatioRawPattern2(this, 'unrealized_profit_to_mcap'), - toOwnGrossPnl: createPercentRatioRawPattern2(this, 'unrealized_profit_to_own_gross_pnl'), + toMcap: createPercentPpmRatioPattern2(this, 'unrealized_profit_to_mcap'), + toOwnGrossPnl: createPercentPpmRatioPattern2(this, 'unrealized_profit_to_own_gross_pnl'), }, loss: { usd: createSeriesPattern1(this, 'unrealized_loss'), cents: createSeriesPattern1(this, 'unrealized_loss_cents'), negative: createSeriesPattern1(this, 'unrealized_loss_neg'), - toMcap: createPercentRatioRawPattern2(this, 'unrealized_loss_to_mcap'), - toOwnGrossPnl: createPercentRatioRawPattern2(this, 'unrealized_loss_to_own_gross_pnl'), + toMcap: createPercentPpmRatioPattern2(this, 'unrealized_loss_to_mcap'), + toOwnGrossPnl: createPercentPpmRatioPattern2(this, 'unrealized_loss_to_own_gross_pnl'), }, netPnl: { usd: createSeriesPattern1(this, 'net_unrealized_pnl'), cents: createSeriesPattern1(this, 'net_unrealized_pnl_cents'), - toOwnGrossPnl: createPercentRatioRawPattern3(this, 'net_unrealized_pnl_to_own_gross_pnl'), + toOwnGrossPnl: createPercentPpmRatioPattern3(this, 'net_unrealized_pnl_to_own_gross_pnl'), }, grossPnl: createCentsUsdPattern3(this, 'unrealized_gross_pnl'), investedCapital: createInPattern2(this, 'invested_capital_in'), diff --git a/packages/brk_client/brk_client/__init__.py b/packages/brk_client/brk_client/__init__.py index 1aac9a3c5..c0a29fc8f 100644 --- a/packages/brk_client/brk_client/__init__.py +++ b/packages/brk_client/brk_client/__init__.py @@ -3070,18 +3070,18 @@ class _10y1m1w1y2y3m3y4y5y6m6y8yPattern2: def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" - self._10y: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '10y')) - self._1m: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '1m')) - self._1w: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '1w')) - self._1y: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '1y')) - self._2y: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '2y')) - self._3m: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '3m')) - self._3y: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '3y')) - self._4y: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '4y')) - self._5y: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '5y')) - self._6m: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '6m')) - self._6y: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '6y')) - self._8y: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '8y')) + self._10y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '10y')) + self._1m: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '1m')) + self._1w: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '1w')) + self._1y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '1y')) + self._2y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '2y')) + self._3m: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '3m')) + self._3y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '3y')) + self._4y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '4y')) + self._5y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '5y')) + self._6m: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '6m')) + self._6y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '6y')) + self._8y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '8y')) class AllEmptyP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern: """Pattern struct for repeated tree structure.""" @@ -3100,18 +3100,18 @@ class EmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2: def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" - self.empty: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'empty_outputs_output')) - self.op_return: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'op_return_output')) - self.p2a: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2a_output')) - self.p2ms: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2ms_output')) - self.p2pk33: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2pk33_output')) - self.p2pk65: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2pk65_output')) - self.p2pkh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2pkh_output')) - self.p2sh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2sh_output')) - self.p2tr: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2tr_output')) - self.p2wpkh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2wpkh_output')) - self.p2wsh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2wsh_output')) - self.unknown: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'unknown_outputs_output')) + self.empty: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'empty_outputs_output')) + self.op_return: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'op_return_output')) + self.p2a: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2a_output')) + self.p2ms: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2ms_output')) + self.p2pk33: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2pk33_output')) + self.p2pk65: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2pk65_output')) + self.p2pkh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2pkh_output')) + self.p2sh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2sh_output')) + self.p2tr: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2tr_output')) + self.p2wpkh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2wpkh_output')) + self.p2wsh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2wsh_output')) + self.unknown: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'unknown_outputs_output')) class AverageBlockCumulativeMaxMedianMinPct10Pct25Pct75Pct90SumPattern: """Pattern struct for repeated tree structure.""" @@ -3135,17 +3135,17 @@ class EmptyP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2: def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" - self.empty: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'empty_outputs_prevout')) - self.p2a: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2a_prevout')) - self.p2ms: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2ms_prevout')) - self.p2pk33: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2pk33_prevout')) - self.p2pk65: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2pk65_prevout')) - self.p2pkh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2pkh_prevout')) - self.p2sh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2sh_prevout')) - self.p2tr: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2tr_prevout')) - self.p2wpkh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2wpkh_prevout')) - self.p2wsh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'p2wsh_prevout')) - self.unknown: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'unknown_outputs_prevout')) + self.empty: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'empty_outputs_prevout')) + self.p2a: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2a_prevout')) + self.p2ms: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2ms_prevout')) + self.p2pk33: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2pk33_prevout')) + self.p2pk65: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2pk65_prevout')) + self.p2pkh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2pkh_prevout')) + self.p2sh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2sh_prevout')) + self.p2tr: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2tr_prevout')) + self.p2wpkh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2wpkh_prevout')) + self.p2wsh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'p2wsh_prevout')) + self.unknown: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'unknown_outputs_prevout')) class AverageBaseCumulativeMaxMedianMinPct10Pct25Pct75Pct90SumPattern(Generic[T]): """Pattern struct for repeated tree structure.""" @@ -3204,15 +3204,15 @@ class AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern5: def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" - self.all: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, acc) - self.p2a: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _p('p2a', acc)) - self.p2pk33: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _p('p2pk33', acc)) - self.p2pk65: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _p('p2pk65', acc)) - self.p2pkh: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _p('p2pkh', acc)) - self.p2sh: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _p('p2sh', acc)) - self.p2tr: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _p('p2tr', acc)) - self.p2wpkh: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _p('p2wpkh', acc)) - self.p2wsh: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _p('p2wsh', acc)) + self.all: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, acc) + self.p2a: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _p('p2a', acc)) + self.p2pk33: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _p('p2pk33', acc)) + self.p2pk65: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _p('p2pk65', acc)) + self.p2pkh: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _p('p2pkh', acc)) + self.p2sh: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _p('p2sh', acc)) + self.p2tr: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _p('p2tr', acc)) + self.p2wpkh: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _p('p2wpkh', acc)) + self.p2wsh: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _p('p2wsh', acc)) class AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4: """Pattern struct for repeated tree structure.""" @@ -3234,15 +3234,15 @@ class AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7: def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" - self.all: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, acc) - self.p2a: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _p('p2a', acc)) - self.p2pk33: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _p('p2pk33', acc)) - self.p2pk65: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _p('p2pk65', acc)) - self.p2pkh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _p('p2pkh', acc)) - self.p2sh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _p('p2sh', acc)) - self.p2tr: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _p('p2tr', acc)) - self.p2wpkh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _p('p2wpkh', acc)) - self.p2wsh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _p('p2wsh', acc)) + self.all: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, acc) + self.p2a: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _p('p2a', acc)) + self.p2pk33: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _p('p2pk33', acc)) + self.p2pk65: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _p('p2pk65', acc)) + self.p2pkh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _p('p2pkh', acc)) + self.p2sh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _p('p2sh', acc)) + self.p2tr: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _p('p2tr', acc)) + self.p2wpkh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _p('p2wpkh', acc)) + self.p2wsh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _p('p2wsh', acc)) class AverageMaxMedianMinPct10Pct25Pct75Pct90SumPattern: """Pattern struct for repeated tree structure.""" @@ -3312,26 +3312,26 @@ class _10y2y3y4y5y6y8yPattern: def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" - self._10y: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '10y')) - self._2y: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '2y')) - self._3y: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '3y')) - self._4y: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '4y')) - self._5y: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '5y')) - self._6y: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '6y')) - self._8y: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '8y')) + self._10y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '10y')) + self._2y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '2y')) + self._3y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '3y')) + self._4y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '4y')) + self._5y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '5y')) + self._6y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '6y')) + self._8y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '8y')) -class _1m1w1y24hPercentRatioRawPattern: +class _1m1w1y24hPercentPpmRatioPattern: """Pattern struct for repeated tree structure.""" def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" - self._1m: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, '1m')) - self._1w: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, '1w')) - self._1y: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, '1y')) - self._24h: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, '24h')) + self._1m: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, '1m')) + self._1w: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, '1w')) + self._1y: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, '1y')) + self._24h: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, '24h')) self.percent: SeriesPattern1[StoredF32] = SeriesPattern1(client, acc) + self.ppm: SeriesPattern1[PartsPerMillion32] = SeriesPattern1(client, _m(acc, 'ppm')) self.ratio: SeriesPattern1[StoredF32] = SeriesPattern1(client, _m(acc, 'ratio')) - self.raw: SeriesPattern1[PartsPerMillion32] = SeriesPattern1(client, _m(acc, 'ppm')) class ActiveInputOutputSpendablePattern: """Pattern struct for repeated tree structure.""" @@ -3378,7 +3378,7 @@ class InMaxMinPerSupplyPattern: self.min: CentsSatsUsdPattern = CentsSatsUsdPattern(client, _m(acc, 'cost_basis_min')) self.per_coin: Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern = Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern(client, _m(acc, 'cost_basis_per_coin')) self.per_dollar: Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern = Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern(client, _m(acc, 'cost_basis_per_dollar')) - self.supply_density: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, 'supply_density')) + self.supply_density: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, 'supply_density')) class MaxMedianMinPct10Pct25Pct75Pct90Pattern2: """Pattern struct for repeated tree structure.""" @@ -3449,9 +3449,9 @@ class CentsNegativeToUsdPattern2: """Create pattern node with accumulated series name.""" self.cents: SeriesPattern1[Cents] = SeriesPattern1(client, _m(acc, 'cents')) self.negative: SeriesPattern1[Dollars] = SeriesPattern1(client, _m(acc, 'neg')) - self.to_mcap: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, 'to_mcap')) - self.to_own_gross_pnl: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, 'to_own_gross_pnl')) - self.to_own_mcap: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, 'to_own_mcap')) + self.to_mcap: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, 'to_mcap')) + self.to_own_gross_pnl: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, 'to_own_gross_pnl')) + self.to_own_mcap: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, 'to_own_mcap')) self.usd: SeriesPattern1[Dollars] = SeriesPattern1(client, acc) class CentsPercentilesRatioRawSatsUsdPattern: @@ -3471,9 +3471,9 @@ class ChainDataOutputTxPattern: def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" - self.chain_share: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, 'chain_share')) + self.chain_share: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, 'chain_share')) self.data_bytes: AverageBlockCumulativeSumPattern[StoredU64] = AverageBlockCumulativeSumPattern(client, _m(acc, 'data_bytes')) - self.data_share: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, 'data_share')) + self.data_share: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, 'data_share')) self.output_count: AverageBlockCumulativeSumPattern[StoredU64] = AverageBlockCumulativeSumPattern(client, _m(acc, 'output_count')) self.tx_count: AverageBlockCumulativeSumPattern[StoredU64] = AverageBlockCumulativeSumPattern(client, _m(acc, 'tx_count')) self.tx_vsize: AverageBlockCumulativeSumPattern[VSize] = AverageBlockCumulativeSumPattern(client, _m(acc, 'tx_vsize')) @@ -3484,7 +3484,7 @@ class DeltaDominanceHalfInTotalPattern2: def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" self.delta: AbsoluteRatePattern3 = AbsoluteRatePattern3(client, _m(acc, 'delta')) - self.dominance: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, 'dominance')) + self.dominance: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, 'dominance')) self.half: BtcCentsSatsUsdPattern = BtcCentsSatsUsdPattern(client, _m(acc, 'half')) self.in_loss: BtcCentsSatsShareUsdPattern = BtcCentsSatsShareUsdPattern(client, _m(acc, 'in_loss')) self.in_profit: BtcCentsSatsShareUsdPattern = BtcCentsSatsShareUsdPattern(client, _m(acc, 'in_profit')) @@ -3496,7 +3496,7 @@ class DeltaDominanceHalfInTotalPattern: def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" self.delta: AbsoluteRatePattern3 = AbsoluteRatePattern3(client, _m(acc, 'delta')) - self.dominance: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, 'dominance')) + self.dominance: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, 'dominance')) self.half: BtcCentsSatsUsdPattern = BtcCentsSatsUsdPattern(client, _m(acc, 'half')) self.in_loss: BtcCentsSatsUsdPattern = BtcCentsSatsUsdPattern(client, _m(acc, 'in_loss')) self.in_profit: BtcCentsSatsUsdPattern = BtcCentsSatsUsdPattern(client, _m(acc, 'in_profit')) @@ -3602,7 +3602,7 @@ class BtcCentsSatsShareUsdPattern: self.btc: SeriesPattern1[Bitcoin] = SeriesPattern1(client, acc) self.cents: SeriesPattern1[Cents] = SeriesPattern1(client, _m(acc, 'cents')) self.sats: SeriesPattern1[Sats] = SeriesPattern1(client, _m(acc, 'sats')) - self.share: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, 'share')) + self.share: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, 'share')) self.usd: SeriesPattern1[Dollars] = SeriesPattern1(client, _m(acc, 'usd')) class CapLossMvrvPriceProfitPattern: @@ -3633,9 +3633,9 @@ class CentsToUsdPattern4: def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" self.cents: SeriesPattern1[Cents] = SeriesPattern1(client, _m(acc, 'cents')) - self.to_mcap: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, 'to_mcap')) - self.to_own_gross_pnl: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, 'to_own_gross_pnl')) - self.to_own_mcap: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, 'to_own_mcap')) + self.to_mcap: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, 'to_mcap')) + self.to_own_gross_pnl: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, 'to_own_gross_pnl')) + self.to_own_mcap: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, 'to_own_mcap')) self.usd: SeriesPattern1[Dollars] = SeriesPattern1(client, acc) class EmaHistogramLineSignalPattern: @@ -3649,7 +3649,7 @@ class PhsReboundThsPattern: """Create pattern node with accumulated series name.""" self.phs: SeriesPattern1[StoredF32] = SeriesPattern1(client, _m(acc, 'phs')) self.phs_min: SeriesPattern1[StoredF32] = SeriesPattern1(client, _m(acc, 'phs_min')) - self.rebound: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, 'rebound')) + self.rebound: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, 'rebound')) self.ths: SeriesPattern1[StoredF32] = SeriesPattern1(client, _m(acc, 'ths')) self.ths_min: SeriesPattern1[StoredF32] = SeriesPattern1(client, _m(acc, 'ths_min')) @@ -3729,20 +3729,20 @@ class _1m1w1y24hPattern2: def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" - self._1m: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '1m_rate')) - self._1w: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '1w_rate')) - self._1y: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '1y_rate')) - self._24h: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, '24h_rate')) + self._1m: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '1m_rate')) + self._1w: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '1w_rate')) + self._1y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '1y_rate')) + self._24h: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, '24h_rate')) class _1m1w1y24hPattern8: """Pattern struct for repeated tree structure.""" def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" - self._1m: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, '1m')) - self._1w: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, '1w')) - self._1y: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, '1y')) - self._24h: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, '24h')) + self._1m: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, '1m')) + self._1w: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, '1w')) + self._1y: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, '1y')) + self._24h: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, '24h')) class _1y2y4yAllPattern: """Pattern struct for repeated tree structure.""" @@ -3825,7 +3825,7 @@ class CentsDeltaToUsdPattern: """Create pattern node with accumulated series name.""" self.cents: SeriesPattern1[Cents] = SeriesPattern1(client, _m(acc, 'cents')) self.delta: AbsoluteRatePattern2 = AbsoluteRatePattern2(client, _m(acc, 'delta')) - self.to_own_mcap: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, 'to_own_mcap')) + self.to_own_mcap: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, 'to_own_mcap')) self.usd: SeriesPattern1[Dollars] = SeriesPattern1(client, acc) class CentsToUsdPattern3: @@ -3834,8 +3834,8 @@ class CentsToUsdPattern3: def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" self.cents: SeriesPattern1[CentsSigned] = SeriesPattern1(client, _m(acc, 'cents')) - self.to_own_gross_pnl: PercentRatioRawPattern3 = PercentRatioRawPattern3(client, _m(acc, 'to_own_gross_pnl')) - self.to_own_mcap: PercentRatioRawPattern3 = PercentRatioRawPattern3(client, _m(acc, 'to_own_mcap')) + self.to_own_gross_pnl: PercentPpmRatioPattern3 = PercentPpmRatioPattern3(client, _m(acc, 'to_own_gross_pnl')) + self.to_own_mcap: PercentPpmRatioPattern3 = PercentPpmRatioPattern3(client, _m(acc, 'to_own_mcap')) self.usd: SeriesPattern1[Dollars] = SeriesPattern1(client, acc) class CoindaysCoinyearsDormancyTransferPattern: @@ -3922,7 +3922,7 @@ class BlocksDominanceRewardsPattern: def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" self.blocks_mined: AverageBlockCumulativeSumPattern2 = AverageBlockCumulativeSumPattern2(client, _m(acc, 'blocks_mined')) - self.dominance: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, _m(acc, 'dominance')) + self.dominance: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, _m(acc, 'dominance')) self.rewards: AverageBlockCumulativeSumPattern3 = AverageBlockCumulativeSumPattern3(client, _m(acc, 'rewards')) class CentsSatsUsdPattern3: @@ -3980,7 +3980,7 @@ class DeltaDominanceTotalPattern: def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" self.delta: AbsoluteRatePattern3 = AbsoluteRatePattern3(client, _m(acc, 'delta')) - self.dominance: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, 'dominance')) + self.dominance: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, 'dominance')) self.total: BtcCentsSatsUsdPattern = BtcCentsSatsUsdPattern(client, acc) class FloorLevelLossPattern: @@ -4010,32 +4010,32 @@ class LossNuplProfitPattern: self.nupl: RatioRawPattern = RatioRawPattern(client, _m(acc, 'nupl')) self.profit: CentsUsdPattern3 = CentsUsdPattern3(client, _m(acc, 'unrealized_profit')) -class PercentRatioRawPattern2: +class PercentPpmRatioPattern2: """Pattern struct for repeated tree structure.""" def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" self.percent: SeriesPattern1[StoredF32] = SeriesPattern1(client, acc) + self.ppm: SeriesPattern1[PartsPerMillion32] = SeriesPattern1(client, _m(acc, 'ppm')) self.ratio: SeriesPattern1[StoredF32] = SeriesPattern1(client, _m(acc, 'ratio')) - self.raw: SeriesPattern1[PartsPerMillion32] = SeriesPattern1(client, _m(acc, 'ppm')) -class PercentRatioRawPattern3: +class PercentPpmRatioPattern3: """Pattern struct for repeated tree structure.""" def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" self.percent: SeriesPattern1[StoredF32] = SeriesPattern1(client, acc) + self.ppm: SeriesPattern1[PartsPerMillionSigned32] = SeriesPattern1(client, _m(acc, 'ppm')) self.ratio: SeriesPattern1[StoredF32] = SeriesPattern1(client, _m(acc, 'ratio')) - self.raw: SeriesPattern1[PartsPerMillionSigned32] = SeriesPattern1(client, _m(acc, 'ppm')) -class PercentRatioRawPattern: +class PercentPpmRatioPattern: """Pattern struct for repeated tree structure.""" def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" self.percent: SeriesPattern1[StoredF32] = SeriesPattern1(client, acc) + self.ppm: SeriesPattern1[PartsPerMillionSigned64] = SeriesPattern1(client, _m(acc, 'ppm')) self.ratio: SeriesPattern1[StoredF32] = SeriesPattern1(client, _m(acc, 'ratio')) - self.raw: SeriesPattern1[PartsPerMillionSigned64] = SeriesPattern1(client, _m(acc, 'ppm')) class PriceRatioRawPattern: """Pattern struct for repeated tree structure.""" @@ -4060,9 +4060,9 @@ class RsiStochPattern: def __init__(self, client: BrkClient, acc: str, disc: str): """Create pattern node with accumulated series name.""" - self.rsi: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, disc)) - self.stoch_rsi_d: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, f'stoch_d_{disc}')) - self.stoch_rsi_k: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, f'stoch_k_{disc}')) + self.rsi: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, disc)) + self.stoch_rsi_d: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, f'stoch_d_{disc}')) + self.stoch_rsi_k: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, f'stoch_k_{disc}')) class SpentUnspentUtxoPattern: """Pattern struct for repeated tree structure.""" @@ -4168,7 +4168,7 @@ class BlocksDominancePattern: def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" self.blocks_mined: AverageBlockCumulativeSumPattern2 = AverageBlockCumulativeSumPattern2(client, _m(acc, 'blocks_mined')) - self.dominance: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, _m(acc, 'dominance')) + self.dominance: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, _m(acc, 'dominance')) class BtcSatsPattern: """Pattern struct for repeated tree structure.""" @@ -4315,8 +4315,8 @@ class ToPattern: def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" - self.to_mcap: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, 'mcap')) - self.to_rcap: PercentRatioRawPattern = PercentRatioRawPattern(client, _m(acc, 'rcap')) + self.to_mcap: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, 'mcap')) + self.to_rcap: PercentPpmRatioPattern = PercentPpmRatioPattern(client, _m(acc, 'rcap')) class _24hPattern: """Pattern struct for repeated tree structure.""" @@ -4351,7 +4351,7 @@ class SharePattern: def __init__(self, client: BrkClient, acc: str): """Create pattern node with accumulated series name.""" - self.share: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, acc) + self.share: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, acc) class SharePattern2: """Pattern struct for repeated tree structure.""" @@ -4382,7 +4382,7 @@ class SeriesTree_Blocks_Difficulty: def __init__(self, client: BrkClient, base_path: str = ''): self.value: SeriesPattern1[StoredF64] = SeriesPattern1(client, 'difficulty') self.hashrate: SeriesPattern1[StoredF64] = SeriesPattern1(client, 'difficulty_hashrate') - self.adjustment: PercentRatioRawPattern3 = PercentRatioRawPattern3(client, 'difficulty_adjustment') + self.adjustment: PercentPpmRatioPattern3 = PercentPpmRatioPattern3(client, 'difficulty_adjustment') self.epoch: SeriesPattern1[Epoch] = SeriesPattern1(client, 'difficulty_epoch') self.blocks_to_retarget: SeriesPattern1[StoredU32] = SeriesPattern1(client, 'blocks_to_retarget') self.days_to_retarget: SeriesPattern1[StoredF32] = SeriesPattern1(client, 'days_to_retarget') @@ -4478,7 +4478,7 @@ class SeriesTree_Blocks_Fullness: """Series tree node.""" def __init__(self, client: BrkClient, base_path: str = ''): - self.raw: SeriesPattern18[PartsPerMillion32] = SeriesPattern18(client, 'block_fullness_ppm') + self.ppm: SeriesPattern18[PartsPerMillion32] = SeriesPattern18(client, 'block_fullness_ppm') self.ratio: SeriesPattern18[StoredF32] = SeriesPattern18(client, 'block_fullness_ratio') self.percent: SeriesPattern18[StoredF32] = SeriesPattern18(client, 'block_fullness') @@ -4725,17 +4725,17 @@ class SeriesTree_Inputs_ByType_InputShare: """Series tree node.""" def __init__(self, client: BrkClient, base_path: str = ''): - self.p2pk65: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2pk65_prevout_share') - self.p2pk33: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2pk33_prevout_share') - self.p2pkh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2pkh_prevout_share') - self.p2ms: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2ms_prevout_share') - self.p2sh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2sh_prevout_share') - self.p2wpkh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2wpkh_prevout_share') - self.p2wsh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2wsh_prevout_share') - self.p2tr: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2tr_prevout_share') - self.p2a: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2a_prevout_share') - self.unknown: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'unknown_outputs_prevout_share') - self.empty: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'empty_outputs_prevout_share') + self.p2pk65: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2pk65_prevout_share') + self.p2pk33: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2pk33_prevout_share') + self.p2pkh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2pkh_prevout_share') + self.p2ms: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2ms_prevout_share') + self.p2sh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2sh_prevout_share') + self.p2wpkh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2wpkh_prevout_share') + self.p2wsh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2wsh_prevout_share') + self.p2tr: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2tr_prevout_share') + self.p2a: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2a_prevout_share') + self.unknown: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'unknown_outputs_prevout_share') + self.empty: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'empty_outputs_prevout_share') class SeriesTree_Inputs_ByType_TxCount: """Series tree node.""" @@ -4823,18 +4823,18 @@ class SeriesTree_Outputs_ByType_OutputShare: """Series tree node.""" def __init__(self, client: BrkClient, base_path: str = ''): - self.p2pk65: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2pk65_output_share') - self.p2pk33: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2pk33_output_share') - self.p2pkh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2pkh_output_share') - self.p2ms: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2ms_output_share') - self.p2sh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2sh_output_share') - self.p2wpkh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2wpkh_output_share') - self.p2wsh: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2wsh_output_share') - self.p2tr: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2tr_output_share') - self.p2a: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'p2a_output_share') - self.unknown: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'unknown_outputs_output_share') - self.empty: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'empty_outputs_output_share') - self.op_return: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'op_return_output_share') + self.p2pk65: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2pk65_output_share') + self.p2pk33: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2pk33_output_share') + self.p2pkh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2pkh_output_share') + self.p2ms: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2ms_output_share') + self.p2sh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2sh_output_share') + self.p2wpkh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2wpkh_output_share') + self.p2wsh: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2wsh_output_share') + self.p2tr: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2tr_output_share') + self.p2a: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'p2a_output_share') + self.unknown: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'unknown_outputs_output_share') + self.empty: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'empty_outputs_output_share') + self.op_return: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'op_return_output_share') class SeriesTree_Outputs_ByType: """Series tree node.""" @@ -4985,7 +4985,7 @@ class SeriesTree_Addrs_Reused_Events: def __init__(self, client: BrkClient, base_path: str = ''): self.output_to_reused_addr_count: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6 = AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6(client, 'output_to_reused_addr_count') self.output_to_reused_addr_share: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7 = AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7(client, 'output_to_reused_addr_share') - self.spendable_output_to_reused_addr_share: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'spendable_output_to_reused_addr_share') + self.spendable_output_to_reused_addr_share: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'spendable_output_to_reused_addr_share') self.input_from_reused_addr_count: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6 = AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6(client, 'input_from_reused_addr_count') self.input_from_reused_addr_share: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7 = AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7(client, 'input_from_reused_addr_share') self.active_reused_addr_count: _1m1w1y24hBlockPattern = _1m1w1y24hBlockPattern(client, 'active_reused_addr_count') @@ -5020,7 +5020,7 @@ class SeriesTree_Addrs_Respent_Events: def __init__(self, client: BrkClient, base_path: str = ''): self.output_to_reused_addr_count: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6 = AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6(client, 'output_to_respent_addr_count') self.output_to_reused_addr_share: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7 = AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7(client, 'output_to_respent_addr_share') - self.spendable_output_to_reused_addr_share: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'spendable_output_to_respent_addr_share') + self.spendable_output_to_reused_addr_share: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'spendable_output_to_respent_addr_share') self.input_from_reused_addr_count: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6 = AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6(client, 'input_from_respent_addr_count') self.input_from_reused_addr_share: AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7 = AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7(client, 'input_from_respent_addr_share') self.active_reused_addr_count: _1m1w1y24hBlockPattern = _1m1w1y24hBlockPattern(client, 'active_respent_addr_count') @@ -5170,7 +5170,7 @@ class SeriesTree_OpReturn_Total: self.data_bytes: AverageBlockCumulativeSumPattern[StoredU64] = AverageBlockCumulativeSumPattern(client, 'op_return_data_bytes') self.tx_count: AverageBlockCumulativeSumPattern[StoredU64] = AverageBlockCumulativeSumPattern(client, 'op_return_tx_count') self.tx_vsize: AverageBlockCumulativeSumPattern[VSize] = AverageBlockCumulativeSumPattern(client, 'op_return_tx_vsize') - self.chain_share: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, 'op_return_chain_share') + self.chain_share: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, 'op_return_chain_share') class SeriesTree_OpReturn_ByKind: """Series tree node.""" @@ -5226,7 +5226,7 @@ class SeriesTree_Mining_Rewards_Subsidy: self.cumulative: BtcCentsSatsUsdPattern = BtcCentsSatsUsdPattern(client, 'subsidy_cumulative') self.sum: _1m1w1y24hPattern4 = _1m1w1y24hPattern4(client, 'subsidy_sum') self.average: _1m1w1y24hPattern3 = _1m1w1y24hPattern3(client, 'subsidy_average') - self.dominance: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'subsidy_dominance') + self.dominance: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'subsidy_dominance') class SeriesTree_Mining_Rewards_Fees_ToSubsidyRatio: """Series tree node.""" @@ -5252,7 +5252,7 @@ class SeriesTree_Mining_Rewards_Fees: self.median: _1m1w1y24hPattern4 = _1m1w1y24hPattern4(client, 'fees_median') self.pct75: _1m1w1y24hPattern4 = _1m1w1y24hPattern4(client, 'fees_pct75') self.pct90: _1m1w1y24hPattern4 = _1m1w1y24hPattern4(client, 'fees_pct90') - self.dominance: _1m1w1y24hPercentRatioRawPattern = _1m1w1y24hPercentRatioRawPattern(client, 'fee_dominance') + self.dominance: _1m1w1y24hPercentPpmRatioPattern = _1m1w1y24hPercentPpmRatioPattern(client, 'fee_dominance') self.to_subsidy_ratio: SeriesTree_Mining_Rewards_Fees_ToSubsidyRatio = SeriesTree_Mining_Rewards_Fees_ToSubsidyRatio(client) class SeriesTree_Mining_Rewards: @@ -5281,7 +5281,7 @@ class SeriesTree_Mining_Hashrate_Rate: self.base: SeriesPattern1[StoredF64] = SeriesPattern1(client, 'hash_rate') self.sma: SeriesTree_Mining_Hashrate_Rate_Sma = SeriesTree_Mining_Hashrate_Rate_Sma(client) self.ath: SeriesPattern1[StoredF64] = SeriesPattern1(client, 'hash_rate_ath') - self.drawdown: PercentRatioRawPattern3 = PercentRatioRawPattern3(client, 'hash_rate_drawdown') + self.drawdown: PercentPpmRatioPattern3 = PercentPpmRatioPattern3(client, 'hash_rate_drawdown') class SeriesTree_Mining_Hashrate: """Series tree node.""" @@ -5385,7 +5385,7 @@ class SeriesTree_Cointime_Adjusted: """Series tree node.""" def __init__(self, client: BrkClient, base_path: str = ''): - self.inflation_rate: PercentRatioRawPattern = PercentRatioRawPattern(client, 'cointime_adj_inflation_rate') + self.inflation_rate: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'cointime_adj_inflation_rate') self.tx_velocity_native: SeriesPattern1[StoredF64] = SeriesPattern1(client, 'cointime_adj_tx_velocity_btc') self.tx_velocity_fiat: SeriesPattern1[StoredF64] = SeriesPattern1(client, 'cointime_adj_tx_velocity_usd') @@ -5803,7 +5803,7 @@ class SeriesTree_Indicators: def __init__(self, client: BrkClient, base_path: str = ''): self.puell_multiple: RatioRawPattern3 = RatioRawPattern3(client, 'puell_multiple') self.nvt: RatioRawPattern3 = RatioRawPattern3(client, 'nvt') - self.gini: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, 'gini') + self.gini: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, 'gini') self.rhodl_ratio: RatioRawPattern3 = RatioRawPattern3(client, 'rhodl_ratio') self.thermo_cap_multiple: RatioRawPattern3 = RatioRawPattern3(client, 'thermo_cap_multiple') self.coindays_destroyed_supply_adj: SeriesPattern1[StoredF32] = SeriesPattern1(client, 'coindays_destroyed_supply_adj') @@ -5879,18 +5879,18 @@ class SeriesTree_Investing_Class_DcaReturn: """Series tree node.""" def __init__(self, client: BrkClient, base_path: str = ''): - self.from_2015: PercentRatioRawPattern = PercentRatioRawPattern(client, 'dca_return_from_2015') - self.from_2016: PercentRatioRawPattern = PercentRatioRawPattern(client, 'dca_return_from_2016') - self.from_2017: PercentRatioRawPattern = PercentRatioRawPattern(client, 'dca_return_from_2017') - self.from_2018: PercentRatioRawPattern = PercentRatioRawPattern(client, 'dca_return_from_2018') - self.from_2019: PercentRatioRawPattern = PercentRatioRawPattern(client, 'dca_return_from_2019') - self.from_2020: PercentRatioRawPattern = PercentRatioRawPattern(client, 'dca_return_from_2020') - self.from_2021: PercentRatioRawPattern = PercentRatioRawPattern(client, 'dca_return_from_2021') - self.from_2022: PercentRatioRawPattern = PercentRatioRawPattern(client, 'dca_return_from_2022') - self.from_2023: PercentRatioRawPattern = PercentRatioRawPattern(client, 'dca_return_from_2023') - self.from_2024: PercentRatioRawPattern = PercentRatioRawPattern(client, 'dca_return_from_2024') - self.from_2025: PercentRatioRawPattern = PercentRatioRawPattern(client, 'dca_return_from_2025') - self.from_2026: PercentRatioRawPattern = PercentRatioRawPattern(client, 'dca_return_from_2026') + self.from_2015: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'dca_return_from_2015') + self.from_2016: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'dca_return_from_2016') + self.from_2017: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'dca_return_from_2017') + self.from_2018: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'dca_return_from_2018') + self.from_2019: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'dca_return_from_2019') + self.from_2020: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'dca_return_from_2020') + self.from_2021: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'dca_return_from_2021') + self.from_2022: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'dca_return_from_2022') + self.from_2023: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'dca_return_from_2023') + self.from_2024: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'dca_return_from_2024') + self.from_2025: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'dca_return_from_2025') + self.from_2026: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'dca_return_from_2026') class SeriesTree_Investing_Class: """Series tree node.""" @@ -5913,7 +5913,7 @@ class SeriesTree_Market_Ath: def __init__(self, client: BrkClient, base_path: str = ''): self.high: CentsSatsUsdPattern = CentsSatsUsdPattern(client, 'price_ath') - self.drawdown: PercentRatioRawPattern3 = PercentRatioRawPattern3(client, 'price_drawdown') + self.drawdown: PercentPpmRatioPattern3 = PercentPpmRatioPattern3(client, 'price_drawdown') self.days_since: SeriesPattern1[StoredF32] = SeriesPattern1(client, 'days_since_price_ath') self.years_since: SeriesPattern1[StoredF32] = SeriesPattern1(client, 'years_since_price_ath') self.max_days_between: SeriesPattern1[StoredF32] = SeriesPattern1(client, 'max_days_between_price_ath') @@ -5941,19 +5941,19 @@ class SeriesTree_Market_Returns_Periods: """Series tree node.""" def __init__(self, client: BrkClient, base_path: str = ''): - self._24h: PercentRatioRawPattern = PercentRatioRawPattern(client, 'price_return_24h') - self._1w: PercentRatioRawPattern = PercentRatioRawPattern(client, 'price_return_1w') - self._1m: PercentRatioRawPattern = PercentRatioRawPattern(client, 'price_return_1m') - self._3m: PercentRatioRawPattern = PercentRatioRawPattern(client, 'price_return_3m') - self._6m: PercentRatioRawPattern = PercentRatioRawPattern(client, 'price_return_6m') - self._1y: PercentRatioRawPattern = PercentRatioRawPattern(client, 'price_return_1y') - self._2y: PercentRatioRawPattern = PercentRatioRawPattern(client, 'price_return_2y') - self._3y: PercentRatioRawPattern = PercentRatioRawPattern(client, 'price_return_3y') - self._4y: PercentRatioRawPattern = PercentRatioRawPattern(client, 'price_return_4y') - self._5y: PercentRatioRawPattern = PercentRatioRawPattern(client, 'price_return_5y') - self._6y: PercentRatioRawPattern = PercentRatioRawPattern(client, 'price_return_6y') - self._8y: PercentRatioRawPattern = PercentRatioRawPattern(client, 'price_return_8y') - self._10y: PercentRatioRawPattern = PercentRatioRawPattern(client, 'price_return_10y') + self._24h: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'price_return_24h') + self._1w: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'price_return_1w') + self._1m: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'price_return_1m') + self._3m: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'price_return_3m') + self._6m: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'price_return_6m') + self._1y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'price_return_1y') + self._2y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'price_return_2y') + self._3y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'price_return_3y') + self._4y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'price_return_4y') + self._5y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'price_return_5y') + self._6y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'price_return_6y') + self._8y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'price_return_8y') + self._10y: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'price_return_10y') class SeriesTree_Market_Returns_Sd24h_24h: """Series tree node.""" @@ -6008,7 +6008,7 @@ class SeriesTree_Market_Range: self.max: _1m1w1y2wPattern = _1m1w1y2wPattern(client, 'price_max') self.true_range: SeriesPattern1[StoredF32] = SeriesPattern1(client, 'price_true_range') self.true_range_sum_2w: SeriesPattern1[StoredF32] = SeriesPattern1(client, 'price_true_range_sum_2w') - self.choppiness_index_2w: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, 'price_choppiness_index_2w') + self.choppiness_index_2w: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, 'price_choppiness_index_2w') class SeriesTree_Market_MovingAverage_Sma_200d: """Series tree node.""" @@ -6378,7 +6378,7 @@ class SeriesTree_Supply: self.state: SeriesPattern18[SupplyState] = SeriesPattern18(client, 'supply_state') self.circulating: BtcCentsSatsUsdPattern = BtcCentsSatsUsdPattern(client, 'circulating_supply') self.burned: BlockCumulativePattern = BlockCumulativePattern(client, 'unspendable_supply') - self.inflation_rate: PercentRatioRawPattern = PercentRatioRawPattern(client, 'inflation_rate') + self.inflation_rate: PercentPpmRatioPattern = PercentPpmRatioPattern(client, 'inflation_rate') self.velocity: SeriesTree_Supply_Velocity = SeriesTree_Supply_Velocity(client) self.market_cap: CentsDeltaUsdPattern = CentsDeltaUsdPattern(client, 'market_cap') self.market_minus_realized_cap_growth_rate: _1m1w1y24hPattern[PartsPerMillionSigned64] = _1m1w1y24hPattern(client, 'market_minus_realized_cap_growth_rate') @@ -6546,7 +6546,7 @@ class SeriesTree_Cohorts_Utxo_All_CostBasis: self.max: CentsSatsUsdPattern = CentsSatsUsdPattern(client, 'cost_basis_max') self.per_coin: Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern = Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern(client, 'cost_basis_per_coin') self.per_dollar: Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern = Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern(client, 'cost_basis_per_dollar') - self.supply_density: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, 'supply_density') + self.supply_density: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, 'supply_density') class SeriesTree_Cohorts_Utxo_All_Unrealized_Profit: """Series tree node.""" @@ -6554,8 +6554,8 @@ class SeriesTree_Cohorts_Utxo_All_Unrealized_Profit: def __init__(self, client: BrkClient, base_path: str = ''): self.usd: SeriesPattern1[Dollars] = SeriesPattern1(client, 'unrealized_profit') self.cents: SeriesPattern1[Cents] = SeriesPattern1(client, 'unrealized_profit_cents') - self.to_mcap: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, 'unrealized_profit_to_mcap') - self.to_own_gross_pnl: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, 'unrealized_profit_to_own_gross_pnl') + self.to_mcap: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, 'unrealized_profit_to_mcap') + self.to_own_gross_pnl: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, 'unrealized_profit_to_own_gross_pnl') class SeriesTree_Cohorts_Utxo_All_Unrealized_Loss: """Series tree node.""" @@ -6564,8 +6564,8 @@ class SeriesTree_Cohorts_Utxo_All_Unrealized_Loss: self.usd: SeriesPattern1[Dollars] = SeriesPattern1(client, 'unrealized_loss') self.cents: SeriesPattern1[Cents] = SeriesPattern1(client, 'unrealized_loss_cents') self.negative: SeriesPattern1[Dollars] = SeriesPattern1(client, 'unrealized_loss_neg') - self.to_mcap: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, 'unrealized_loss_to_mcap') - self.to_own_gross_pnl: PercentRatioRawPattern2 = PercentRatioRawPattern2(client, 'unrealized_loss_to_own_gross_pnl') + self.to_mcap: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, 'unrealized_loss_to_mcap') + self.to_own_gross_pnl: PercentPpmRatioPattern2 = PercentPpmRatioPattern2(client, 'unrealized_loss_to_own_gross_pnl') class SeriesTree_Cohorts_Utxo_All_Unrealized_NetPnl: """Series tree node.""" @@ -6573,7 +6573,7 @@ class SeriesTree_Cohorts_Utxo_All_Unrealized_NetPnl: def __init__(self, client: BrkClient, base_path: str = ''): self.usd: SeriesPattern1[Dollars] = SeriesPattern1(client, 'net_unrealized_pnl') self.cents: SeriesPattern1[CentsSigned] = SeriesPattern1(client, 'net_unrealized_pnl_cents') - self.to_own_gross_pnl: PercentRatioRawPattern3 = PercentRatioRawPattern3(client, 'net_unrealized_pnl_to_own_gross_pnl') + self.to_own_gross_pnl: PercentPpmRatioPattern3 = PercentPpmRatioPattern3(client, 'net_unrealized_pnl_to_own_gross_pnl') class SeriesTree_Cohorts_Utxo_All_Unrealized_Sentiment: """Series tree node.""" diff --git a/website/.gitignore b/website/.gitignore index 88a3873f0..a568efd8d 100644 --- a/website/.gitignore +++ b/website/.gitignore @@ -4,3 +4,4 @@ *dump* TODO.md _explorer.js +unused.json diff --git a/website/scripts/options/unused.js b/website/scripts/options/unused.js index 9a6cd4745..07a42bba0 100644 --- a/website/scripts/options/unused.js +++ b/website/scripts/options/unused.js @@ -20,6 +20,7 @@ function walkSeries(node, map, path) { key === "emaFast" || kn === "cents" || kn === "bps" || + kn === "ppm" || kn === "constants" || kn === "ohlc" || kn === "split" || diff --git a/website_next/ask/tools/session/capabilities.js b/website_next/ask/tools/session/capabilities.js index c3fb04210..503f20df4 100644 --- a/website_next/ask/tools/session/capabilities.js +++ b/website_next/ask/tools/session/capabilities.js @@ -499,7 +499,7 @@ export const ROUTE_INSTRUCTION = `Choose one capability for the newest request f The requested output wins: edit an active chart with its edit/style capability; otherwise choose the matching chart, latest-value, historical-value, range, variant-list, or variant-selection capability. Use call_api for a concrete blockchain resource or its contextual follow-up, explain_evidence for a metric definition, find_chart_metrics to discover real chart series when none matched yet, describe_capabilities only for a request about the assistant itself, and answer_general for ordinary Bitcoin knowledge or conversation. Use search_source only when the request explicitly asks about BRK repository code, source location, implementation, or callers. Never choose it merely because source matches exist. -Use clarify only when essential information is missing. With call_api select apiRef. With search_source provide sourceQuery. +Use clarify when essential information is missing. In particular, a requested quantitative result without a matched metric, API resource, or quantitative context needs one concise clarification instead of a qualitative answer or guessed dataset. With call_api select apiRef. With search_source provide sourceQuery. Call choose_capability exactly once.`; /** @param {string} action */