brk-client 0.3.0-beta.1 → 0.3.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +1182 -635
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -234,6 +234,7 @@ Matches mempool.space/bitcoin-cli behavior.
234
234
  * @property {Weight} weight - Block weight in weight units
235
235
  * @property {BlockHash} previousblockhash - Previous block hash
236
236
  * @property {Timestamp} mediantime - Median time of the last 11 blocks
237
+ * @property {boolean=} stale - Whether this block has been replaced by a longer chain
237
238
  * @property {BlockExtras} extras - Extended block data
238
239
  */
239
240
  /**
@@ -313,8 +314,8 @@ Matches mempool.space/bitcoin-cli behavior.
313
314
  */
314
315
  /**
315
316
  * Raw cents squared (u128) - stores cents² × sats without division.
316
- * Used for precise accumulation of investor cap values: Σ(price² × sats).
317
- * investor_price = investor_cap_raw / realized_cap_raw
317
+ * Used for precise accumulation of capitalized cap values: Σ(price² × sats).
318
+ * capitalized_price = capitalized_cap_raw / realized_cap_raw
318
319
  *
319
320
  * @typedef {number} CentsSquaredSats
320
321
  */
@@ -326,7 +327,7 @@ Matches mempool.space/bitcoin-cli behavior.
326
327
  /**
327
328
  * Cohort identifier for cost basis distribution.
328
329
  *
329
- * @typedef {string} Cohort
330
+ * @typedef {("all"|"sth"|"lth"|"under_1h_old"|"1h_to_1d_old"|"1d_to_1w_old"|"1w_to_1m_old"|"1m_to_2m_old"|"2m_to_3m_old"|"3m_to_4m_old"|"4m_to_5m_old"|"5m_to_6m_old"|"6m_to_1y_old"|"1y_to_2y_old"|"2y_to_3y_old"|"3y_to_4y_old"|"4y_to_5y_old"|"5y_to_6y_old"|"6y_to_7y_old"|"7y_to_8y_old"|"8y_to_10y_old"|"10y_to_12y_old"|"12y_to_15y_old"|"over_15y_old")} Cohort
330
331
  */
331
332
  /**
332
333
  * Coinbase scriptSig tag for pool identification.
@@ -515,7 +516,7 @@ Matches mempool.space/bitcoin-cli behavior.
515
516
  * @property {Sats} received - Satoshis received by this address
516
517
  * @property {Sats} sent - Satoshis sent by this address
517
518
  * @property {CentsSats} realizedCapRaw - The realized capitalization: Σ(price × sats)
518
- * @property {CentsSquaredSats} investorCapRaw - The investor capitalization: Σ(price² × sats)
519
+ * @property {CentsSquaredSats} capitalizedCapRaw - The capitalized cap: Σ(price² × sats)
519
520
  */
520
521
  /** @typedef {TypeIndex} FundedAddrIndex */
521
522
  /** @typedef {number} Halving */
@@ -625,7 +626,7 @@ Matches mempool.space/bitcoin-cli behavior.
625
626
  * Block info in a mempool.space like format for fee estimation.
626
627
  *
627
628
  * @typedef {Object} MempoolBlock
628
- * @property {number} blockSize - Total block size in weight units
629
+ * @property {number} blockSize - Total serialized block size in bytes (witness + non-witness).
629
630
  * @property {number} blockVSize - Total block virtual size in vbytes
630
631
  * @property {number} nTx - Number of transactions in the projected block
631
632
  * @property {Sats} totalFees - Total fees in satoshis
@@ -1085,6 +1086,12 @@ Matches mempool.space/bitcoin-cli behavior.
1085
1086
  *
1086
1087
  * @typedef {number} TxIndex
1087
1088
  */
1089
+ /**
1090
+ * Transaction index path parameter
1091
+ *
1092
+ * @typedef {Object} TxIndexParam
1093
+ * @property {TxIndex} index
1094
+ */
1088
1095
  /**
1089
1096
  * Transaction output
1090
1097
  *
@@ -1603,13 +1610,15 @@ class BrkClientBase {
1603
1610
  }
1604
1611
 
1605
1612
  /**
1606
- * Make a GET request - races cache vs network, first to resolve calls onUpdate
1613
+ * Make a GET request - races cache vs network, first to resolve calls onUpdate.
1614
+ * Shared implementation backing `getJson` and `getText`.
1607
1615
  * @template T
1608
1616
  * @param {string} path
1617
+ * @param {(res: Response) => Promise<T>} parse - Response body reader
1609
1618
  * @param {{ onUpdate?: (value: T) => void, signal?: AbortSignal }} [options]
1610
1619
  * @returns {Promise<T>}
1611
1620
  */
1612
- async getJson(path, { onUpdate, signal } = {}) {
1621
+ async _getCached(path, parse, { onUpdate, signal } = {}) {
1613
1622
  const url = `${this.baseUrl}${path}`;
1614
1623
  const cache = this._cache ?? await this._cachePromise;
1615
1624
 
@@ -1621,52 +1630,61 @@ class BrkClientBase {
1621
1630
  const cachePromise = cache?.match(url).then(async (res) => {
1622
1631
  cachedRes = res ?? null;
1623
1632
  if (!res) return null;
1624
- const json = _addCamelGetters(await res.json());
1633
+ const value = await parse(res);
1625
1634
  if (!resolved && onUpdate) {
1626
1635
  resolved = true;
1627
- onUpdate(json);
1636
+ onUpdate(value);
1628
1637
  }
1629
- return json;
1638
+ return value;
1630
1639
  });
1631
1640
 
1632
1641
  const networkPromise = this.get(path, { signal }).then(async (res) => {
1633
1642
  const cloned = res.clone();
1634
- const json = _addCamelGetters(await res.json());
1643
+ const value = await parse(res);
1635
1644
  // Skip update if ETag matches and cache already delivered
1636
1645
  if (cachedRes?.headers.get('ETag') === res.headers.get('ETag')) {
1637
1646
  if (!resolved && onUpdate) {
1638
1647
  resolved = true;
1639
- onUpdate(json);
1648
+ onUpdate(value);
1640
1649
  }
1641
- return json;
1650
+ return value;
1642
1651
  }
1643
1652
  resolved = true;
1644
- if (onUpdate) {
1645
- onUpdate(json);
1646
- }
1653
+ if (onUpdate) onUpdate(value);
1647
1654
  if (cache) _runIdle(() => cache.put(url, cloned));
1648
- return json;
1655
+ return value;
1649
1656
  });
1650
1657
 
1651
1658
  try {
1652
1659
  return await networkPromise;
1653
1660
  } catch (e) {
1654
1661
  // Network failed - wait for cache
1655
- const cachedJson = await cachePromise?.catch(() => null);
1656
- if (cachedJson) return cachedJson;
1662
+ const cachedValue = await cachePromise?.catch(() => null);
1663
+ if (cachedValue != null) return cachedValue;
1657
1664
  throw e;
1658
1665
  }
1659
1666
  }
1660
1667
 
1661
1668
  /**
1662
- * Make a GET request and return raw text (for CSV responses)
1669
+ * Make a GET request expecting a JSON response. Cached and supports `onUpdate`.
1670
+ * @template T
1663
1671
  * @param {string} path
1664
- * @param {{ signal?: AbortSignal }} [options]
1672
+ * @param {{ onUpdate?: (value: T) => void, signal?: AbortSignal }} [options]
1673
+ * @returns {Promise<T>}
1674
+ */
1675
+ getJson(path, options) {
1676
+ return this._getCached(path, async (res) => _addCamelGetters(await res.json()), options);
1677
+ }
1678
+
1679
+ /**
1680
+ * Make a GET request expecting a text response (text/plain, text/csv, ...).
1681
+ * Cached and supports `onUpdate`, same as `getJson`.
1682
+ * @param {string} path
1683
+ * @param {{ onUpdate?: (value: string) => void, signal?: AbortSignal }} [options]
1665
1684
  * @returns {Promise<string>}
1666
1685
  */
1667
- async getText(path, { signal } = {}) {
1668
- const res = await this.get(path, { signal });
1669
- return res.text();
1686
+ getText(path, options) {
1687
+ return this._getCached(path, (res) => res.text(), options);
1670
1688
  }
1671
1689
 
1672
1690
  /**
@@ -1944,6 +1962,47 @@ function createPct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65
1944
1962
  * @property {SeriesPattern1<StoredF32>} zscore
1945
1963
  */
1946
1964
 
1965
+ /**
1966
+ * @typedef {Object} AllEmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern
1967
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} all
1968
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} empty
1969
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} opReturn
1970
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2a
1971
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2ms
1972
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk33
1973
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk65
1974
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pkh
1975
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2sh
1976
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2tr
1977
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wpkh
1978
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wsh
1979
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} unknown
1980
+ */
1981
+
1982
+ /**
1983
+ * Create a AllEmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern pattern node
1984
+ * @param {BrkClientBase} client
1985
+ * @param {string} acc - Accumulated series name
1986
+ * @returns {AllEmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern}
1987
+ */
1988
+ function createAllEmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern(client, acc) {
1989
+ return {
1990
+ all: createAverageBlockCumulativeSumPattern(client, _m(acc, 'bis')),
1991
+ empty: createAverageBlockCumulativeSumPattern(client, _m(acc, 'with_empty_outputs_output')),
1992
+ opReturn: createAverageBlockCumulativeSumPattern(client, _m(acc, 'with_op_return_output')),
1993
+ p2a: createAverageBlockCumulativeSumPattern(client, _m(acc, 'with_p2a_output')),
1994
+ p2ms: createAverageBlockCumulativeSumPattern(client, _m(acc, 'with_p2ms_output')),
1995
+ p2pk33: createAverageBlockCumulativeSumPattern(client, _m(acc, 'with_p2pk33_output')),
1996
+ p2pk65: createAverageBlockCumulativeSumPattern(client, _m(acc, 'with_p2pk65_output')),
1997
+ p2pkh: createAverageBlockCumulativeSumPattern(client, _m(acc, 'with_p2pkh_output')),
1998
+ p2sh: createAverageBlockCumulativeSumPattern(client, _m(acc, 'with_p2sh_output')),
1999
+ p2tr: createAverageBlockCumulativeSumPattern(client, _m(acc, 'with_p2tr_output')),
2000
+ p2wpkh: createAverageBlockCumulativeSumPattern(client, _m(acc, 'with_p2wpkh_output')),
2001
+ p2wsh: createAverageBlockCumulativeSumPattern(client, _m(acc, 'with_p2wsh_output')),
2002
+ unknown: createAverageBlockCumulativeSumPattern(client, _m(acc, 'with_unknown_outputs_output')),
2003
+ };
2004
+ }
2005
+
1947
2006
  /**
1948
2007
  * @typedef {Object} _10y1m1w1y2y3m3y4y5y6m6y8yPattern2
1949
2008
  * @property {BpsPercentRatioPattern} _10y
@@ -1985,18 +2044,18 @@ function create_10y1m1w1y2y3m3y4y5y6m6y8yPattern2(client, acc) {
1985
2044
 
1986
2045
  /**
1987
2046
  * @typedef {Object} _10y1m1w1y2y3m3y4y5y6m6y8yPattern3
1988
- * @property {BtcCentsSatsUsdPattern3} _10y
1989
- * @property {BtcCentsSatsUsdPattern3} _1m
1990
- * @property {BtcCentsSatsUsdPattern3} _1w
1991
- * @property {BtcCentsSatsUsdPattern3} _1y
1992
- * @property {BtcCentsSatsUsdPattern3} _2y
1993
- * @property {BtcCentsSatsUsdPattern3} _3m
1994
- * @property {BtcCentsSatsUsdPattern3} _3y
1995
- * @property {BtcCentsSatsUsdPattern3} _4y
1996
- * @property {BtcCentsSatsUsdPattern3} _5y
1997
- * @property {BtcCentsSatsUsdPattern3} _6m
1998
- * @property {BtcCentsSatsUsdPattern3} _6y
1999
- * @property {BtcCentsSatsUsdPattern3} _8y
2047
+ * @property {BtcCentsSatsUsdPattern} _10y
2048
+ * @property {BtcCentsSatsUsdPattern} _1m
2049
+ * @property {BtcCentsSatsUsdPattern} _1w
2050
+ * @property {BtcCentsSatsUsdPattern} _1y
2051
+ * @property {BtcCentsSatsUsdPattern} _2y
2052
+ * @property {BtcCentsSatsUsdPattern} _3m
2053
+ * @property {BtcCentsSatsUsdPattern} _3y
2054
+ * @property {BtcCentsSatsUsdPattern} _4y
2055
+ * @property {BtcCentsSatsUsdPattern} _5y
2056
+ * @property {BtcCentsSatsUsdPattern} _6m
2057
+ * @property {BtcCentsSatsUsdPattern} _6y
2058
+ * @property {BtcCentsSatsUsdPattern} _8y
2000
2059
  */
2001
2060
 
2002
2061
  /**
@@ -2007,26 +2066,42 @@ function create_10y1m1w1y2y3m3y4y5y6m6y8yPattern2(client, acc) {
2007
2066
  */
2008
2067
  function create_10y1m1w1y2y3m3y4y5y6m6y8yPattern3(client, acc) {
2009
2068
  return {
2010
- _10y: createBtcCentsSatsUsdPattern3(client, _m(acc, '10y')),
2011
- _1m: createBtcCentsSatsUsdPattern3(client, _m(acc, '1m')),
2012
- _1w: createBtcCentsSatsUsdPattern3(client, _m(acc, '1w')),
2013
- _1y: createBtcCentsSatsUsdPattern3(client, _m(acc, '1y')),
2014
- _2y: createBtcCentsSatsUsdPattern3(client, _m(acc, '2y')),
2015
- _3m: createBtcCentsSatsUsdPattern3(client, _m(acc, '3m')),
2016
- _3y: createBtcCentsSatsUsdPattern3(client, _m(acc, '3y')),
2017
- _4y: createBtcCentsSatsUsdPattern3(client, _m(acc, '4y')),
2018
- _5y: createBtcCentsSatsUsdPattern3(client, _m(acc, '5y')),
2019
- _6m: createBtcCentsSatsUsdPattern3(client, _m(acc, '6m')),
2020
- _6y: createBtcCentsSatsUsdPattern3(client, _m(acc, '6y')),
2021
- _8y: createBtcCentsSatsUsdPattern3(client, _m(acc, '8y')),
2069
+ _10y: createBtcCentsSatsUsdPattern(client, _m(acc, '10y')),
2070
+ _1m: createBtcCentsSatsUsdPattern(client, _m(acc, '1m')),
2071
+ _1w: createBtcCentsSatsUsdPattern(client, _m(acc, '1w')),
2072
+ _1y: createBtcCentsSatsUsdPattern(client, _m(acc, '1y')),
2073
+ _2y: createBtcCentsSatsUsdPattern(client, _m(acc, '2y')),
2074
+ _3m: createBtcCentsSatsUsdPattern(client, _m(acc, '3m')),
2075
+ _3y: createBtcCentsSatsUsdPattern(client, _m(acc, '3y')),
2076
+ _4y: createBtcCentsSatsUsdPattern(client, _m(acc, '4y')),
2077
+ _5y: createBtcCentsSatsUsdPattern(client, _m(acc, '5y')),
2078
+ _6m: createBtcCentsSatsUsdPattern(client, _m(acc, '6m')),
2079
+ _6y: createBtcCentsSatsUsdPattern(client, _m(acc, '6y')),
2080
+ _8y: createBtcCentsSatsUsdPattern(client, _m(acc, '8y')),
2022
2081
  };
2023
2082
  }
2024
2083
 
2025
2084
  /**
2026
- * @typedef {Object} CapGrossInvestorLossMvrvNetPeakPriceProfitSellSoprPattern
2085
+ * @typedef {Object} AllEmptyP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern
2086
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} all
2087
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} empty
2088
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2a
2089
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2ms
2090
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk33
2091
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk65
2092
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pkh
2093
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2sh
2094
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2tr
2095
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wpkh
2096
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wsh
2097
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} unknown
2098
+ */
2099
+
2100
+ /**
2101
+ * @typedef {Object} CapCapitalizedGrossLossMvrvNetPeakPriceProfitSellSoprPattern
2027
2102
  * @property {CentsDeltaToUsdPattern} cap
2103
+ * @property {PricePattern} capitalized
2028
2104
  * @property {BlockCumulativeSumPattern} grossPnl
2029
- * @property {PricePattern} investor
2030
2105
  * @property {BlockCumulativeNegativeSumPattern} loss
2031
2106
  * @property {SeriesPattern1<StoredF32>} mvrv
2032
2107
  * @property {BlockChangeCumulativeDeltaSumPattern} netPnl
@@ -2038,6 +2113,45 @@ function create_10y1m1w1y2y3m3y4y5y6m6y8yPattern3(client, acc) {
2038
2113
  * @property {AdjustedRatioValuePattern} sopr
2039
2114
  */
2040
2115
 
2116
+ /**
2117
+ * @typedef {Object} EmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2
2118
+ * @property {_1m1w1y24hBpsPercentRatioPattern} empty
2119
+ * @property {_1m1w1y24hBpsPercentRatioPattern} opReturn
2120
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2a
2121
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2ms
2122
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pk33
2123
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pk65
2124
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pkh
2125
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2sh
2126
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2tr
2127
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2wpkh
2128
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2wsh
2129
+ * @property {_1m1w1y24hBpsPercentRatioPattern} unknown
2130
+ */
2131
+
2132
+ /**
2133
+ * Create a EmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2 pattern node
2134
+ * @param {BrkClientBase} client
2135
+ * @param {string} acc - Accumulated series name
2136
+ * @returns {EmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2}
2137
+ */
2138
+ function createEmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2(client, acc) {
2139
+ return {
2140
+ empty: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'empty_outputs_output')),
2141
+ opReturn: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'op_return_output')),
2142
+ p2a: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2a_output')),
2143
+ p2ms: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2ms_output')),
2144
+ p2pk33: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2pk33_output')),
2145
+ p2pk65: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2pk65_output')),
2146
+ p2pkh: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2pkh_output')),
2147
+ p2sh: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2sh_output')),
2148
+ p2tr: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2tr_output')),
2149
+ p2wpkh: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2wpkh_output')),
2150
+ p2wsh: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2wsh_output')),
2151
+ unknown: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'unknown_outputs_output')),
2152
+ };
2153
+ }
2154
+
2041
2155
  /**
2042
2156
  * @typedef {Object} AverageBlockCumulativeMaxMedianMinPct10Pct25Pct75Pct90SumPattern
2043
2157
  * @property {_1m1w1y24hPattern<StoredF32>} average
@@ -2075,6 +2189,43 @@ function createAverageBlockCumulativeMaxMedianMinPct10Pct25Pct75Pct90SumPattern(
2075
2189
  };
2076
2190
  }
2077
2191
 
2192
+ /**
2193
+ * @typedef {Object} EmptyP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2
2194
+ * @property {_1m1w1y24hBpsPercentRatioPattern} empty
2195
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2a
2196
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2ms
2197
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pk33
2198
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pk65
2199
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pkh
2200
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2sh
2201
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2tr
2202
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2wpkh
2203
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2wsh
2204
+ * @property {_1m1w1y24hBpsPercentRatioPattern} unknown
2205
+ */
2206
+
2207
+ /**
2208
+ * Create a EmptyP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2 pattern node
2209
+ * @param {BrkClientBase} client
2210
+ * @param {string} acc - Accumulated series name
2211
+ * @returns {EmptyP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2}
2212
+ */
2213
+ function createEmptyP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2(client, acc) {
2214
+ return {
2215
+ empty: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'empty_outputs_prevout')),
2216
+ p2a: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2a_prevout')),
2217
+ p2ms: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2ms_prevout')),
2218
+ p2pk33: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2pk33_prevout')),
2219
+ p2pk65: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2pk65_prevout')),
2220
+ p2pkh: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2pkh_prevout')),
2221
+ p2sh: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2sh_prevout')),
2222
+ p2tr: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2tr_prevout')),
2223
+ p2wpkh: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2wpkh_prevout')),
2224
+ p2wsh: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'p2wsh_prevout')),
2225
+ unknown: create_1m1w1y24hBpsPercentRatioPattern(client, _m(acc, 'unknown_outputs_prevout')),
2226
+ };
2227
+ }
2228
+
2078
2229
  /**
2079
2230
  * @template T
2080
2231
  * @typedef {Object} AverageBaseCumulativeMaxMedianMinPct10Pct25Pct75Pct90SumPattern
@@ -2115,7 +2266,75 @@ function createAverageBaseCumulativeMaxMedianMinPct10Pct25Pct75Pct90SumPattern(c
2115
2266
  }
2116
2267
 
2117
2268
  /**
2118
- * @typedef {Object} AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3
2269
+ * @typedef {Object} IndexPct0Pct1Pct2Pct5Pct95Pct98Pct99ScorePattern
2270
+ * @property {SeriesPattern1<StoredI8>} index
2271
+ * @property {CentsSatsUsdPattern} pct05
2272
+ * @property {CentsSatsUsdPattern} pct1
2273
+ * @property {CentsSatsUsdPattern} pct2
2274
+ * @property {CentsSatsUsdPattern} pct5
2275
+ * @property {CentsSatsUsdPattern} pct95
2276
+ * @property {CentsSatsUsdPattern} pct98
2277
+ * @property {CentsSatsUsdPattern} pct99
2278
+ * @property {CentsSatsUsdPattern} pct995
2279
+ * @property {SeriesPattern1<StoredI8>} score
2280
+ */
2281
+
2282
+ /**
2283
+ * Create a IndexPct0Pct1Pct2Pct5Pct95Pct98Pct99ScorePattern pattern node
2284
+ * @param {BrkClientBase} client
2285
+ * @param {string} acc - Accumulated series name
2286
+ * @returns {IndexPct0Pct1Pct2Pct5Pct95Pct98Pct99ScorePattern}
2287
+ */
2288
+ function createIndexPct0Pct1Pct2Pct5Pct95Pct98Pct99ScorePattern(client, acc) {
2289
+ return {
2290
+ index: createSeriesPattern1(client, _m(acc, 'index')),
2291
+ pct05: createCentsSatsUsdPattern(client, _m(acc, 'pct0_5')),
2292
+ pct1: createCentsSatsUsdPattern(client, _m(acc, 'pct01')),
2293
+ pct2: createCentsSatsUsdPattern(client, _m(acc, 'pct02')),
2294
+ pct5: createCentsSatsUsdPattern(client, _m(acc, 'pct05')),
2295
+ pct95: createCentsSatsUsdPattern(client, _m(acc, 'pct95')),
2296
+ pct98: createCentsSatsUsdPattern(client, _m(acc, 'pct98')),
2297
+ pct99: createCentsSatsUsdPattern(client, _m(acc, 'pct99')),
2298
+ pct995: createCentsSatsUsdPattern(client, _m(acc, 'pct99_5')),
2299
+ score: createSeriesPattern1(client, _m(acc, 'score')),
2300
+ };
2301
+ }
2302
+
2303
+ /**
2304
+ * @typedef {Object} AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6
2305
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} all
2306
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2a
2307
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk33
2308
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk65
2309
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pkh
2310
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2sh
2311
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2tr
2312
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wpkh
2313
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wsh
2314
+ */
2315
+
2316
+ /**
2317
+ * Create a AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6 pattern node
2318
+ * @param {BrkClientBase} client
2319
+ * @param {string} acc - Accumulated series name
2320
+ * @returns {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6}
2321
+ */
2322
+ function createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6(client, acc) {
2323
+ return {
2324
+ all: createAverageBlockCumulativeSumPattern(client, acc),
2325
+ p2a: createAverageBlockCumulativeSumPattern(client, _p('p2a', acc)),
2326
+ p2pk33: createAverageBlockCumulativeSumPattern(client, _p('p2pk33', acc)),
2327
+ p2pk65: createAverageBlockCumulativeSumPattern(client, _p('p2pk65', acc)),
2328
+ p2pkh: createAverageBlockCumulativeSumPattern(client, _p('p2pkh', acc)),
2329
+ p2sh: createAverageBlockCumulativeSumPattern(client, _p('p2sh', acc)),
2330
+ p2tr: createAverageBlockCumulativeSumPattern(client, _p('p2tr', acc)),
2331
+ p2wpkh: createAverageBlockCumulativeSumPattern(client, _p('p2wpkh', acc)),
2332
+ p2wsh: createAverageBlockCumulativeSumPattern(client, _p('p2wsh', acc)),
2333
+ };
2334
+ }
2335
+
2336
+ /**
2337
+ * @typedef {Object} AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4
2119
2338
  * @property {SeriesPattern1<StoredU64>} all
2120
2339
  * @property {SeriesPattern1<StoredU64>} p2a
2121
2340
  * @property {SeriesPattern1<StoredU64>} p2pk33
@@ -2128,12 +2347,12 @@ function createAverageBaseCumulativeMaxMedianMinPct10Pct25Pct75Pct90SumPattern(c
2128
2347
  */
2129
2348
 
2130
2349
  /**
2131
- * Create a AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3 pattern node
2350
+ * Create a AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4 pattern node
2132
2351
  * @param {BrkClientBase} client
2133
2352
  * @param {string} acc - Accumulated series name
2134
- * @returns {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3}
2353
+ * @returns {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4}
2135
2354
  */
2136
- function createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3(client, acc) {
2355
+ function createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4(client, acc) {
2137
2356
  return {
2138
2357
  all: createSeriesPattern1(client, acc),
2139
2358
  p2a: createSeriesPattern1(client, _p('p2a', acc)),
@@ -2147,6 +2366,39 @@ function createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3(client, acc) {
2147
2366
  };
2148
2367
  }
2149
2368
 
2369
+ /**
2370
+ * @typedef {Object} AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7
2371
+ * @property {_1m1w1y24hBpsPercentRatioPattern} all
2372
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2a
2373
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pk33
2374
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pk65
2375
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pkh
2376
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2sh
2377
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2tr
2378
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2wpkh
2379
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2wsh
2380
+ */
2381
+
2382
+ /**
2383
+ * Create a AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7 pattern node
2384
+ * @param {BrkClientBase} client
2385
+ * @param {string} acc - Accumulated series name
2386
+ * @returns {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7}
2387
+ */
2388
+ function createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7(client, acc) {
2389
+ return {
2390
+ all: create_1m1w1y24hBpsPercentRatioPattern(client, acc),
2391
+ p2a: create_1m1w1y24hBpsPercentRatioPattern(client, _p('p2a', acc)),
2392
+ p2pk33: create_1m1w1y24hBpsPercentRatioPattern(client, _p('p2pk33', acc)),
2393
+ p2pk65: create_1m1w1y24hBpsPercentRatioPattern(client, _p('p2pk65', acc)),
2394
+ p2pkh: create_1m1w1y24hBpsPercentRatioPattern(client, _p('p2pkh', acc)),
2395
+ p2sh: create_1m1w1y24hBpsPercentRatioPattern(client, _p('p2sh', acc)),
2396
+ p2tr: create_1m1w1y24hBpsPercentRatioPattern(client, _p('p2tr', acc)),
2397
+ p2wpkh: create_1m1w1y24hBpsPercentRatioPattern(client, _p('p2wpkh', acc)),
2398
+ p2wsh: create_1m1w1y24hBpsPercentRatioPattern(client, _p('p2wsh', acc)),
2399
+ };
2400
+ }
2401
+
2150
2402
  /**
2151
2403
  * @typedef {Object} AverageMaxMedianMinPct10Pct25Pct75Pct90SumPattern
2152
2404
  * @property {_1m1w1y24hPattern<StoredF32>} average
@@ -2181,11 +2433,11 @@ function createAverageMaxMedianMinPct10Pct25Pct75Pct90SumPattern(client, acc) {
2181
2433
  }
2182
2434
 
2183
2435
  /**
2184
- * @typedef {Object} GrossInvestedInvestorLossNetNuplProfitSentimentPattern2
2436
+ * @typedef {Object} CapitalizedGrossInvestedLossNetNuplProfitSentimentPattern2
2437
+ * @property {SeriesPattern18<CentsSquaredSats>} capitalizedCapInLossRaw
2438
+ * @property {SeriesPattern18<CentsSquaredSats>} capitalizedCapInProfitRaw
2185
2439
  * @property {CentsUsdPattern3} grossPnl
2186
- * @property {InPattern} investedCapital
2187
- * @property {SeriesPattern18<CentsSquaredSats>} investorCapInLossRaw
2188
- * @property {SeriesPattern18<CentsSquaredSats>} investorCapInProfitRaw
2440
+ * @property {InPattern2} investedCapital
2189
2441
  * @property {CentsNegativeToUsdPattern2} loss
2190
2442
  * @property {CentsToUsdPattern3} netPnl
2191
2443
  * @property {BpsRatioPattern} nupl
@@ -2194,17 +2446,17 @@ function createAverageMaxMedianMinPct10Pct25Pct75Pct90SumPattern(client, acc) {
2194
2446
  */
2195
2447
 
2196
2448
  /**
2197
- * Create a GrossInvestedInvestorLossNetNuplProfitSentimentPattern2 pattern node
2449
+ * Create a CapitalizedGrossInvestedLossNetNuplProfitSentimentPattern2 pattern node
2198
2450
  * @param {BrkClientBase} client
2199
2451
  * @param {string} acc - Accumulated series name
2200
- * @returns {GrossInvestedInvestorLossNetNuplProfitSentimentPattern2}
2452
+ * @returns {CapitalizedGrossInvestedLossNetNuplProfitSentimentPattern2}
2201
2453
  */
2202
- function createGrossInvestedInvestorLossNetNuplProfitSentimentPattern2(client, acc) {
2454
+ function createCapitalizedGrossInvestedLossNetNuplProfitSentimentPattern2(client, acc) {
2203
2455
  return {
2456
+ capitalizedCapInLossRaw: createSeriesPattern18(client, _m(acc, 'capitalized_cap_in_loss_raw')),
2457
+ capitalizedCapInProfitRaw: createSeriesPattern18(client, _m(acc, 'capitalized_cap_in_profit_raw')),
2204
2458
  grossPnl: createCentsUsdPattern3(client, _m(acc, 'unrealized_gross_pnl')),
2205
- investedCapital: createInPattern(client, _m(acc, 'invested_capital_in')),
2206
- investorCapInLossRaw: createSeriesPattern18(client, _m(acc, 'investor_cap_in_loss_raw')),
2207
- investorCapInProfitRaw: createSeriesPattern18(client, _m(acc, 'investor_cap_in_profit_raw')),
2459
+ investedCapital: createInPattern2(client, _m(acc, 'invested_capital_in')),
2208
2460
  loss: createCentsNegativeToUsdPattern2(client, _m(acc, 'unrealized_loss')),
2209
2461
  netPnl: createCentsToUsdPattern3(client, _m(acc, 'net_unrealized_pnl')),
2210
2462
  nupl: createBpsRatioPattern(client, _m(acc, 'nupl')),
@@ -2287,10 +2539,10 @@ function create_10y2y3y4y5y6y8yPattern(client, acc) {
2287
2539
 
2288
2540
  /**
2289
2541
  * @typedef {Object} _1m1w1y24hBpsPercentRatioPattern
2290
- * @property {BpsPercentRatioPattern3} _1m
2291
- * @property {BpsPercentRatioPattern3} _1w
2292
- * @property {BpsPercentRatioPattern3} _1y
2293
- * @property {BpsPercentRatioPattern3} _24h
2542
+ * @property {BpsPercentRatioPattern2} _1m
2543
+ * @property {BpsPercentRatioPattern2} _1w
2544
+ * @property {BpsPercentRatioPattern2} _1y
2545
+ * @property {BpsPercentRatioPattern2} _24h
2294
2546
  * @property {SeriesPattern1<BasisPoints16>} bps
2295
2547
  * @property {SeriesPattern1<StoredF32>} percent
2296
2548
  * @property {SeriesPattern1<StoredF32>} ratio
@@ -2304,10 +2556,10 @@ function create_10y2y3y4y5y6y8yPattern(client, acc) {
2304
2556
  */
2305
2557
  function create_1m1w1y24hBpsPercentRatioPattern(client, acc) {
2306
2558
  return {
2307
- _1m: createBpsPercentRatioPattern3(client, _m(acc, '1m')),
2308
- _1w: createBpsPercentRatioPattern3(client, _m(acc, '1w')),
2309
- _1y: createBpsPercentRatioPattern3(client, _m(acc, '1y')),
2310
- _24h: createBpsPercentRatioPattern3(client, _m(acc, '24h')),
2559
+ _1m: createBpsPercentRatioPattern2(client, _m(acc, '1m')),
2560
+ _1w: createBpsPercentRatioPattern2(client, _m(acc, '1w')),
2561
+ _1y: createBpsPercentRatioPattern2(client, _m(acc, '1y')),
2562
+ _24h: createBpsPercentRatioPattern2(client, _m(acc, '24h')),
2311
2563
  bps: createSeriesPattern1(client, _m(acc, 'bps')),
2312
2564
  percent: createSeriesPattern1(client, acc),
2313
2565
  ratio: createSeriesPattern1(client, _m(acc, 'ratio')),
@@ -2351,7 +2603,7 @@ function createCapLossMvrvNetPriceProfitSoprPattern(client, acc) {
2351
2603
  * @property {CentsSatsUsdPattern} min
2352
2604
  * @property {Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern} perCoin
2353
2605
  * @property {Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern} perDollar
2354
- * @property {BpsPercentRatioPattern3} supplyDensity
2606
+ * @property {BpsPercentRatioPattern2} supplyDensity
2355
2607
  */
2356
2608
 
2357
2609
  /**
@@ -2368,7 +2620,7 @@ function createInMaxMinPerSupplyPattern(client, acc) {
2368
2620
  min: createCentsSatsUsdPattern(client, _m(acc, 'cost_basis_min')),
2369
2621
  perCoin: createPct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern(client, _m(acc, 'cost_basis_per_coin')),
2370
2622
  perDollar: createPct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern(client, _m(acc, 'cost_basis_per_dollar')),
2371
- supplyDensity: createBpsPercentRatioPattern3(client, _m(acc, 'supply_density')),
2623
+ supplyDensity: createBpsPercentRatioPattern2(client, _m(acc, 'supply_density')),
2372
2624
  };
2373
2625
  }
2374
2626
 
@@ -2465,7 +2717,7 @@ function create_1m1w1y2y4yAllPattern(client, acc) {
2465
2717
  * @property {BaseDeltaPattern} addrCount
2466
2718
  * @property {SpendingSpentUnspentPattern} outputs
2467
2719
  * @property {CapLossMvrvPriceProfitPattern} realized
2468
- * @property {DeltaTotalPattern} supply
2720
+ * @property {DeltaDominanceTotalPattern} supply
2469
2721
  * @property {NuplPattern} unrealized
2470
2722
  */
2471
2723
 
@@ -2481,7 +2733,7 @@ function createActivityAddrOutputsRealizedSupplyUnrealizedPattern(client, acc) {
2481
2733
  addrCount: createBaseDeltaPattern(client, _m(acc, 'addr_count')),
2482
2734
  outputs: createSpendingSpentUnspentPattern(client, acc),
2483
2735
  realized: createCapLossMvrvPriceProfitPattern(client, acc),
2484
- supply: createDeltaTotalPattern(client, _m(acc, 'supply')),
2736
+ supply: createDeltaDominanceTotalPattern(client, _m(acc, 'supply')),
2485
2737
  unrealized: createNuplPattern(client, _m(acc, 'nupl')),
2486
2738
  };
2487
2739
  }
@@ -2489,8 +2741,8 @@ function createActivityAddrOutputsRealizedSupplyUnrealizedPattern(client, acc) {
2489
2741
  /**
2490
2742
  * @typedef {Object} AverageBlockCumulativeInSumPattern
2491
2743
  * @property {_1m1w1y24hPattern3} average
2492
- * @property {BtcCentsSatsUsdPattern2} block
2493
- * @property {BtcCentsSatsUsdPattern3} cumulative
2744
+ * @property {BtcCentsSatsUsdPattern3} block
2745
+ * @property {BtcCentsSatsUsdPattern} cumulative
2494
2746
  * @property {AverageBlockCumulativeSumPattern3} inLoss
2495
2747
  * @property {AverageBlockCumulativeSumPattern3} inProfit
2496
2748
  * @property {_1m1w1y24hPattern4} sum
@@ -2505,8 +2757,8 @@ function createActivityAddrOutputsRealizedSupplyUnrealizedPattern(client, acc) {
2505
2757
  function createAverageBlockCumulativeInSumPattern(client, acc) {
2506
2758
  return {
2507
2759
  average: create_1m1w1y24hPattern3(client, _m(acc, 'average')),
2508
- block: createBtcCentsSatsUsdPattern2(client, acc),
2509
- cumulative: createBtcCentsSatsUsdPattern3(client, _m(acc, 'cumulative')),
2760
+ block: createBtcCentsSatsUsdPattern3(client, acc),
2761
+ cumulative: createBtcCentsSatsUsdPattern(client, _m(acc, 'cumulative')),
2510
2762
  inLoss: createAverageBlockCumulativeSumPattern3(client, _m(acc, 'in_loss')),
2511
2763
  inProfit: createAverageBlockCumulativeSumPattern3(client, _m(acc, 'in_profit')),
2512
2764
  sum: create_1m1w1y24hPattern4(client, _m(acc, 'sum')),
@@ -2540,39 +2792,12 @@ function createBpsCentsPercentilesRatioSatsUsdPattern(client, acc) {
2540
2792
  };
2541
2793
  }
2542
2794
 
2543
- /**
2544
- * @typedef {Object} BtcCentsSatsToUsdPattern3
2545
- * @property {SeriesPattern1<Bitcoin>} btc
2546
- * @property {SeriesPattern1<Cents>} cents
2547
- * @property {SeriesPattern1<Sats>} sats
2548
- * @property {BpsPercentRatioPattern3} toCirculating
2549
- * @property {BpsPercentRatioPattern3} toOwn
2550
- * @property {SeriesPattern1<Dollars>} usd
2551
- */
2552
-
2553
- /**
2554
- * Create a BtcCentsSatsToUsdPattern3 pattern node
2555
- * @param {BrkClientBase} client
2556
- * @param {string} acc - Accumulated series name
2557
- * @returns {BtcCentsSatsToUsdPattern3}
2558
- */
2559
- function createBtcCentsSatsToUsdPattern3(client, acc) {
2560
- return {
2561
- btc: createSeriesPattern1(client, acc),
2562
- cents: createSeriesPattern1(client, _m(acc, 'cents')),
2563
- sats: createSeriesPattern1(client, _m(acc, 'sats')),
2564
- toCirculating: createBpsPercentRatioPattern3(client, _m(acc, 'to_circulating')),
2565
- toOwn: createBpsPercentRatioPattern3(client, _m(acc, 'to_own')),
2566
- usd: createSeriesPattern1(client, _m(acc, 'usd')),
2567
- };
2568
- }
2569
-
2570
2795
  /**
2571
2796
  * @typedef {Object} CentsNegativeToUsdPattern2
2572
2797
  * @property {SeriesPattern1<Cents>} cents
2573
2798
  * @property {SeriesPattern1<Dollars>} negative
2574
- * @property {BpsPercentRatioPattern3} toMcap
2575
- * @property {BpsPercentRatioPattern3} toOwnGrossPnl
2799
+ * @property {BpsPercentRatioPattern2} toMcap
2800
+ * @property {BpsPercentRatioPattern2} toOwnGrossPnl
2576
2801
  * @property {BpsPercentRatioPattern4} toOwnMcap
2577
2802
  * @property {SeriesPattern1<Dollars>} usd
2578
2803
  */
@@ -2587,64 +2812,64 @@ function createCentsNegativeToUsdPattern2(client, acc) {
2587
2812
  return {
2588
2813
  cents: createSeriesPattern1(client, _m(acc, 'cents')),
2589
2814
  negative: createSeriesPattern1(client, _m(acc, 'neg')),
2590
- toMcap: createBpsPercentRatioPattern3(client, _m(acc, 'to_mcap')),
2591
- toOwnGrossPnl: createBpsPercentRatioPattern3(client, _m(acc, 'to_own_gross_pnl')),
2815
+ toMcap: createBpsPercentRatioPattern2(client, _m(acc, 'to_mcap')),
2816
+ toOwnGrossPnl: createBpsPercentRatioPattern2(client, _m(acc, 'to_own_gross_pnl')),
2592
2817
  toOwnMcap: createBpsPercentRatioPattern4(client, _m(acc, 'to_own_mcap')),
2593
2818
  usd: createSeriesPattern1(client, acc),
2594
2819
  };
2595
2820
  }
2596
2821
 
2597
2822
  /**
2598
- * @typedef {Object} DeltaHalfInToTotalPattern
2823
+ * @typedef {Object} DeltaDominanceHalfInTotalPattern2
2599
2824
  * @property {AbsoluteRatePattern} delta
2600
- * @property {BtcCentsSatsUsdPattern3} half
2601
- * @property {BtcCentsSatsToUsdPattern} inLoss
2602
- * @property {BtcCentsSatsToUsdPattern} inProfit
2603
- * @property {BpsPercentRatioPattern3} toCirculating
2604
- * @property {BtcCentsSatsUsdPattern3} total
2825
+ * @property {BpsPercentRatioPattern2} dominance
2826
+ * @property {BtcCentsSatsUsdPattern} half
2827
+ * @property {BtcCentsSatsShareUsdPattern} inLoss
2828
+ * @property {BtcCentsSatsShareUsdPattern} inProfit
2829
+ * @property {BtcCentsSatsUsdPattern} total
2605
2830
  */
2606
2831
 
2607
2832
  /**
2608
- * Create a DeltaHalfInToTotalPattern pattern node
2833
+ * Create a DeltaDominanceHalfInTotalPattern2 pattern node
2609
2834
  * @param {BrkClientBase} client
2610
2835
  * @param {string} acc - Accumulated series name
2611
- * @returns {DeltaHalfInToTotalPattern}
2836
+ * @returns {DeltaDominanceHalfInTotalPattern2}
2612
2837
  */
2613
- function createDeltaHalfInToTotalPattern(client, acc) {
2838
+ function createDeltaDominanceHalfInTotalPattern2(client, acc) {
2614
2839
  return {
2615
2840
  delta: createAbsoluteRatePattern(client, _m(acc, 'delta')),
2616
- half: createBtcCentsSatsUsdPattern3(client, _m(acc, 'half')),
2617
- inLoss: createBtcCentsSatsToUsdPattern(client, _m(acc, 'in_loss')),
2618
- inProfit: createBtcCentsSatsToUsdPattern(client, _m(acc, 'in_profit')),
2619
- toCirculating: createBpsPercentRatioPattern3(client, _m(acc, 'to_circulating')),
2620
- total: createBtcCentsSatsUsdPattern3(client, acc),
2841
+ dominance: createBpsPercentRatioPattern2(client, _m(acc, 'dominance')),
2842
+ half: createBtcCentsSatsUsdPattern(client, _m(acc, 'half')),
2843
+ inLoss: createBtcCentsSatsShareUsdPattern(client, _m(acc, 'in_loss')),
2844
+ inProfit: createBtcCentsSatsShareUsdPattern(client, _m(acc, 'in_profit')),
2845
+ total: createBtcCentsSatsUsdPattern(client, acc),
2621
2846
  };
2622
2847
  }
2623
2848
 
2624
2849
  /**
2625
- * @typedef {Object} DeltaHalfInToTotalPattern2
2850
+ * @typedef {Object} DeltaDominanceHalfInTotalPattern
2626
2851
  * @property {AbsoluteRatePattern} delta
2627
- * @property {BtcCentsSatsUsdPattern3} half
2628
- * @property {BtcCentsSatsToUsdPattern3} inLoss
2629
- * @property {BtcCentsSatsToUsdPattern3} inProfit
2630
- * @property {BpsPercentRatioPattern3} toCirculating
2631
- * @property {BtcCentsSatsUsdPattern3} total
2852
+ * @property {BpsPercentRatioPattern2} dominance
2853
+ * @property {BtcCentsSatsUsdPattern} half
2854
+ * @property {BtcCentsSatsUsdPattern} inLoss
2855
+ * @property {BtcCentsSatsUsdPattern} inProfit
2856
+ * @property {BtcCentsSatsUsdPattern} total
2632
2857
  */
2633
2858
 
2634
2859
  /**
2635
- * Create a DeltaHalfInToTotalPattern2 pattern node
2860
+ * Create a DeltaDominanceHalfInTotalPattern pattern node
2636
2861
  * @param {BrkClientBase} client
2637
2862
  * @param {string} acc - Accumulated series name
2638
- * @returns {DeltaHalfInToTotalPattern2}
2863
+ * @returns {DeltaDominanceHalfInTotalPattern}
2639
2864
  */
2640
- function createDeltaHalfInToTotalPattern2(client, acc) {
2865
+ function createDeltaDominanceHalfInTotalPattern(client, acc) {
2641
2866
  return {
2642
2867
  delta: createAbsoluteRatePattern(client, _m(acc, 'delta')),
2643
- half: createBtcCentsSatsUsdPattern3(client, _m(acc, 'half')),
2644
- inLoss: createBtcCentsSatsToUsdPattern3(client, _m(acc, 'in_loss')),
2645
- inProfit: createBtcCentsSatsToUsdPattern3(client, _m(acc, 'in_profit')),
2646
- toCirculating: createBpsPercentRatioPattern3(client, _m(acc, 'to_circulating')),
2647
- total: createBtcCentsSatsUsdPattern3(client, acc),
2868
+ dominance: createBpsPercentRatioPattern2(client, _m(acc, 'dominance')),
2869
+ half: createBtcCentsSatsUsdPattern(client, _m(acc, 'half')),
2870
+ inLoss: createBtcCentsSatsUsdPattern(client, _m(acc, 'in_loss')),
2871
+ inProfit: createBtcCentsSatsUsdPattern(client, _m(acc, 'in_profit')),
2872
+ total: createBtcCentsSatsUsdPattern(client, acc),
2648
2873
  };
2649
2874
  }
2650
2875
 
@@ -2673,12 +2898,37 @@ function create_1m1w1y24hBlockPattern(client, acc) {
2673
2898
  };
2674
2899
  }
2675
2900
 
2901
+ /**
2902
+ * @typedef {Object} ActiveBidirectionalReactivatedReceivingSendingPattern
2903
+ * @property {_1m1w1y24hBlockPattern} active
2904
+ * @property {_1m1w1y24hBlockPattern} bidirectional
2905
+ * @property {_1m1w1y24hBlockPattern} reactivated
2906
+ * @property {_1m1w1y24hBlockPattern} receiving
2907
+ * @property {_1m1w1y24hBlockPattern} sending
2908
+ */
2909
+
2910
+ /**
2911
+ * Create a ActiveBidirectionalReactivatedReceivingSendingPattern pattern node
2912
+ * @param {BrkClientBase} client
2913
+ * @param {string} acc - Accumulated series name
2914
+ * @returns {ActiveBidirectionalReactivatedReceivingSendingPattern}
2915
+ */
2916
+ function createActiveBidirectionalReactivatedReceivingSendingPattern(client, acc) {
2917
+ return {
2918
+ active: create_1m1w1y24hBlockPattern(client, _m(acc, 'active_addrs')),
2919
+ bidirectional: create_1m1w1y24hBlockPattern(client, _m(acc, 'bidirectional_addrs')),
2920
+ reactivated: create_1m1w1y24hBlockPattern(client, _m(acc, 'reactivated_addrs')),
2921
+ receiving: create_1m1w1y24hBlockPattern(client, _m(acc, 'receiving_addrs')),
2922
+ sending: create_1m1w1y24hBlockPattern(client, _m(acc, 'sending_addrs')),
2923
+ };
2924
+ }
2925
+
2676
2926
  /**
2677
2927
  * @typedef {Object} ActivityOutputsRealizedSupplyUnrealizedPattern
2678
2928
  * @property {CoindaysTransferPattern} activity
2679
2929
  * @property {SpendingSpentUnspentPattern} outputs
2680
2930
  * @property {CapLossMvrvNetPriceProfitSoprPattern} realized
2681
- * @property {DeltaHalfInToTotalPattern} supply
2931
+ * @property {DeltaDominanceHalfInTotalPattern} supply
2682
2932
  * @property {LossNetNuplProfitPattern} unrealized
2683
2933
  */
2684
2934
 
@@ -2693,7 +2943,7 @@ function createActivityOutputsRealizedSupplyUnrealizedPattern(client, acc) {
2693
2943
  activity: createCoindaysTransferPattern(client, acc),
2694
2944
  outputs: createSpendingSpentUnspentPattern(client, acc),
2695
2945
  realized: createCapLossMvrvNetPriceProfitSoprPattern(client, acc),
2696
- supply: createDeltaHalfInToTotalPattern(client, _m(acc, 'supply')),
2946
+ supply: createDeltaDominanceHalfInTotalPattern(client, _m(acc, 'supply')),
2697
2947
  unrealized: createLossNetNuplProfitPattern(client, acc),
2698
2948
  };
2699
2949
  }
@@ -2703,7 +2953,7 @@ function createActivityOutputsRealizedSupplyUnrealizedPattern(client, acc) {
2703
2953
  * @property {TransferPattern} activity
2704
2954
  * @property {SpendingSpentUnspentPattern} outputs
2705
2955
  * @property {CapLossMvrvPriceProfitPattern} realized
2706
- * @property {DeltaHalfInTotalPattern2} supply
2956
+ * @property {DeltaDominanceHalfInTotalPattern} supply
2707
2957
  * @property {LossNuplProfitPattern} unrealized
2708
2958
  */
2709
2959
 
@@ -2718,7 +2968,7 @@ function createActivityOutputsRealizedSupplyUnrealizedPattern3(client, acc) {
2718
2968
  activity: createTransferPattern(client, _m(acc, 'transfer_volume')),
2719
2969
  outputs: createSpendingSpentUnspentPattern(client, acc),
2720
2970
  realized: createCapLossMvrvPriceProfitPattern(client, acc),
2721
- supply: createDeltaHalfInTotalPattern2(client, _m(acc, 'supply')),
2971
+ supply: createDeltaDominanceHalfInTotalPattern(client, _m(acc, 'supply')),
2722
2972
  unrealized: createLossNuplProfitPattern(client, acc),
2723
2973
  };
2724
2974
  }
@@ -2728,7 +2978,7 @@ function createActivityOutputsRealizedSupplyUnrealizedPattern3(client, acc) {
2728
2978
  * @property {TransferPattern} activity
2729
2979
  * @property {SpendingSpentUnspentPattern} outputs
2730
2980
  * @property {CapLossMvrvPriceProfitPattern} realized
2731
- * @property {DeltaTotalPattern} supply
2981
+ * @property {DeltaDominanceTotalPattern} supply
2732
2982
  * @property {NuplPattern} unrealized
2733
2983
  */
2734
2984
 
@@ -2743,7 +2993,7 @@ function createActivityOutputsRealizedSupplyUnrealizedPattern2(client, acc) {
2743
2993
  activity: createTransferPattern(client, _m(acc, 'transfer_volume')),
2744
2994
  outputs: createSpendingSpentUnspentPattern(client, acc),
2745
2995
  realized: createCapLossMvrvPriceProfitPattern(client, acc),
2746
- supply: createDeltaTotalPattern(client, _m(acc, 'supply')),
2996
+ supply: createDeltaDominanceTotalPattern(client, _m(acc, 'supply')),
2747
2997
  unrealized: createNuplPattern(client, _m(acc, 'nupl')),
2748
2998
  };
2749
2999
  }
@@ -2824,51 +3074,26 @@ function createBtcCentsDeltaSatsUsdPattern(client, acc) {
2824
3074
  }
2825
3075
 
2826
3076
  /**
2827
- * @typedef {Object} BtcCentsSatsToUsdPattern
2828
- * @property {SeriesPattern1<Bitcoin>} btc
2829
- * @property {SeriesPattern1<Cents>} cents
2830
- * @property {SeriesPattern1<Sats>} sats
2831
- * @property {BpsPercentRatioPattern3} toCirculating
2832
- * @property {SeriesPattern1<Dollars>} usd
2833
- */
2834
-
2835
- /**
2836
- * Create a BtcCentsSatsToUsdPattern pattern node
2837
- * @param {BrkClientBase} client
2838
- * @param {string} acc - Accumulated series name
2839
- * @returns {BtcCentsSatsToUsdPattern}
2840
- */
2841
- function createBtcCentsSatsToUsdPattern(client, acc) {
2842
- return {
2843
- btc: createSeriesPattern1(client, acc),
2844
- cents: createSeriesPattern1(client, _m(acc, 'cents')),
2845
- sats: createSeriesPattern1(client, _m(acc, 'sats')),
2846
- toCirculating: createBpsPercentRatioPattern3(client, _m(acc, 'to_circulating')),
2847
- usd: createSeriesPattern1(client, _m(acc, 'usd')),
2848
- };
2849
- }
2850
-
2851
- /**
2852
- * @typedef {Object} BtcCentsSatsToUsdPattern2
3077
+ * @typedef {Object} BtcCentsSatsShareUsdPattern
2853
3078
  * @property {SeriesPattern1<Bitcoin>} btc
2854
3079
  * @property {SeriesPattern1<Cents>} cents
2855
3080
  * @property {SeriesPattern1<Sats>} sats
2856
- * @property {BpsPercentRatioPattern3} toOwn
3081
+ * @property {BpsPercentRatioPattern2} share
2857
3082
  * @property {SeriesPattern1<Dollars>} usd
2858
3083
  */
2859
3084
 
2860
3085
  /**
2861
- * Create a BtcCentsSatsToUsdPattern2 pattern node
3086
+ * Create a BtcCentsSatsShareUsdPattern pattern node
2862
3087
  * @param {BrkClientBase} client
2863
3088
  * @param {string} acc - Accumulated series name
2864
- * @returns {BtcCentsSatsToUsdPattern2}
3089
+ * @returns {BtcCentsSatsShareUsdPattern}
2865
3090
  */
2866
- function createBtcCentsSatsToUsdPattern2(client, acc) {
3091
+ function createBtcCentsSatsShareUsdPattern(client, acc) {
2867
3092
  return {
2868
3093
  btc: createSeriesPattern1(client, acc),
2869
3094
  cents: createSeriesPattern1(client, _m(acc, 'cents')),
2870
3095
  sats: createSeriesPattern1(client, _m(acc, 'sats')),
2871
- toOwn: createBpsPercentRatioPattern3(client, _m(acc, 'to_own')),
3096
+ share: createBpsPercentRatioPattern2(client, _m(acc, 'share')),
2872
3097
  usd: createSeriesPattern1(client, _m(acc, 'usd')),
2873
3098
  };
2874
3099
  }
@@ -2901,9 +3126,9 @@ function createCapLossMvrvPriceProfitPattern(client, acc) {
2901
3126
  /**
2902
3127
  * @typedef {Object} CentsToUsdPattern4
2903
3128
  * @property {SeriesPattern1<Cents>} cents
2904
- * @property {BpsPercentRatioPattern3} toMcap
2905
- * @property {BpsPercentRatioPattern3} toOwnGrossPnl
2906
- * @property {BpsPercentRatioPattern3} toOwnMcap
3129
+ * @property {BpsPercentRatioPattern2} toMcap
3130
+ * @property {BpsPercentRatioPattern2} toOwnGrossPnl
3131
+ * @property {BpsPercentRatioPattern2} toOwnMcap
2907
3132
  * @property {SeriesPattern1<Dollars>} usd
2908
3133
  */
2909
3134
 
@@ -2916,38 +3141,13 @@ function createCapLossMvrvPriceProfitPattern(client, acc) {
2916
3141
  function createCentsToUsdPattern4(client, acc) {
2917
3142
  return {
2918
3143
  cents: createSeriesPattern1(client, _m(acc, 'cents')),
2919
- toMcap: createBpsPercentRatioPattern3(client, _m(acc, 'to_mcap')),
2920
- toOwnGrossPnl: createBpsPercentRatioPattern3(client, _m(acc, 'to_own_gross_pnl')),
2921
- toOwnMcap: createBpsPercentRatioPattern3(client, _m(acc, 'to_own_mcap')),
3144
+ toMcap: createBpsPercentRatioPattern2(client, _m(acc, 'to_mcap')),
3145
+ toOwnGrossPnl: createBpsPercentRatioPattern2(client, _m(acc, 'to_own_gross_pnl')),
3146
+ toOwnMcap: createBpsPercentRatioPattern2(client, _m(acc, 'to_own_mcap')),
2922
3147
  usd: createSeriesPattern1(client, acc),
2923
3148
  };
2924
3149
  }
2925
3150
 
2926
- /**
2927
- * @typedef {Object} DeltaHalfInTotalPattern2
2928
- * @property {AbsoluteRatePattern} delta
2929
- * @property {BtcCentsSatsUsdPattern3} half
2930
- * @property {BtcCentsSatsUsdPattern3} inLoss
2931
- * @property {BtcCentsSatsUsdPattern3} inProfit
2932
- * @property {BtcCentsSatsUsdPattern3} total
2933
- */
2934
-
2935
- /**
2936
- * Create a DeltaHalfInTotalPattern2 pattern node
2937
- * @param {BrkClientBase} client
2938
- * @param {string} acc - Accumulated series name
2939
- * @returns {DeltaHalfInTotalPattern2}
2940
- */
2941
- function createDeltaHalfInTotalPattern2(client, acc) {
2942
- return {
2943
- delta: createAbsoluteRatePattern(client, _m(acc, 'delta')),
2944
- half: createBtcCentsSatsUsdPattern3(client, _m(acc, 'half')),
2945
- inLoss: createBtcCentsSatsUsdPattern3(client, _m(acc, 'in_loss')),
2946
- inProfit: createBtcCentsSatsUsdPattern3(client, _m(acc, 'in_profit')),
2947
- total: createBtcCentsSatsUsdPattern3(client, acc),
2948
- };
2949
- }
2950
-
2951
3151
  /**
2952
3152
  * @typedef {Object} EmaHistogramLineSignalPattern
2953
3153
  * @property {SeriesPattern1<StoredF32>} emaFast
@@ -3029,7 +3229,7 @@ function create_1m1w1y24hPattern7(client, acc) {
3029
3229
  }
3030
3230
 
3031
3231
  /**
3032
- * @typedef {Object} _1m1w1y24hPattern3
3232
+ * @typedef {Object} _1m1w1y24hPattern4
3033
3233
  * @property {BtcCentsSatsUsdPattern} _1m
3034
3234
  * @property {BtcCentsSatsUsdPattern} _1w
3035
3235
  * @property {BtcCentsSatsUsdPattern} _1y
@@ -3037,12 +3237,12 @@ function create_1m1w1y24hPattern7(client, acc) {
3037
3237
  */
3038
3238
 
3039
3239
  /**
3040
- * Create a _1m1w1y24hPattern3 pattern node
3240
+ * Create a _1m1w1y24hPattern4 pattern node
3041
3241
  * @param {BrkClientBase} client
3042
3242
  * @param {string} acc - Accumulated series name
3043
- * @returns {_1m1w1y24hPattern3}
3243
+ * @returns {_1m1w1y24hPattern4}
3044
3244
  */
3045
- function create_1m1w1y24hPattern3(client, acc) {
3245
+ function create_1m1w1y24hPattern4(client, acc) {
3046
3246
  return {
3047
3247
  _1m: createBtcCentsSatsUsdPattern(client, _m(acc, '1m')),
3048
3248
  _1w: createBtcCentsSatsUsdPattern(client, _m(acc, '1w')),
@@ -3052,25 +3252,25 @@ function create_1m1w1y24hPattern3(client, acc) {
3052
3252
  }
3053
3253
 
3054
3254
  /**
3055
- * @typedef {Object} _1m1w1y24hPattern4
3056
- * @property {BtcCentsSatsUsdPattern3} _1m
3057
- * @property {BtcCentsSatsUsdPattern3} _1w
3058
- * @property {BtcCentsSatsUsdPattern3} _1y
3059
- * @property {BtcCentsSatsUsdPattern3} _24h
3255
+ * @typedef {Object} _1m1w1y24hPattern3
3256
+ * @property {BtcCentsSatsUsdPattern2} _1m
3257
+ * @property {BtcCentsSatsUsdPattern2} _1w
3258
+ * @property {BtcCentsSatsUsdPattern2} _1y
3259
+ * @property {BtcCentsSatsUsdPattern2} _24h
3060
3260
  */
3061
3261
 
3062
3262
  /**
3063
- * Create a _1m1w1y24hPattern4 pattern node
3263
+ * Create a _1m1w1y24hPattern3 pattern node
3064
3264
  * @param {BrkClientBase} client
3065
3265
  * @param {string} acc - Accumulated series name
3066
- * @returns {_1m1w1y24hPattern4}
3266
+ * @returns {_1m1w1y24hPattern3}
3067
3267
  */
3068
- function create_1m1w1y24hPattern4(client, acc) {
3268
+ function create_1m1w1y24hPattern3(client, acc) {
3069
3269
  return {
3070
- _1m: createBtcCentsSatsUsdPattern3(client, _m(acc, '1m')),
3071
- _1w: createBtcCentsSatsUsdPattern3(client, _m(acc, '1w')),
3072
- _1y: createBtcCentsSatsUsdPattern3(client, _m(acc, '1y')),
3073
- _24h: createBtcCentsSatsUsdPattern3(client, _m(acc, '24h')),
3270
+ _1m: createBtcCentsSatsUsdPattern2(client, _m(acc, '1m')),
3271
+ _1w: createBtcCentsSatsUsdPattern2(client, _m(acc, '1w')),
3272
+ _1y: createBtcCentsSatsUsdPattern2(client, _m(acc, '1y')),
3273
+ _24h: createBtcCentsSatsUsdPattern2(client, _m(acc, '24h')),
3074
3274
  };
3075
3275
  }
3076
3276
 
@@ -3177,8 +3377,8 @@ function createAverageBlockCumulativeSumPattern2(client, acc) {
3177
3377
  /**
3178
3378
  * @typedef {Object} AverageBlockCumulativeSumPattern3
3179
3379
  * @property {_1m1w1y24hPattern3} average
3180
- * @property {BtcCentsSatsUsdPattern2} block
3181
- * @property {BtcCentsSatsUsdPattern3} cumulative
3380
+ * @property {BtcCentsSatsUsdPattern3} block
3381
+ * @property {BtcCentsSatsUsdPattern} cumulative
3182
3382
  * @property {_1m1w1y24hPattern4} sum
3183
3383
  */
3184
3384
 
@@ -3191,8 +3391,8 @@ function createAverageBlockCumulativeSumPattern2(client, acc) {
3191
3391
  function createAverageBlockCumulativeSumPattern3(client, acc) {
3192
3392
  return {
3193
3393
  average: create_1m1w1y24hPattern3(client, _m(acc, 'average')),
3194
- block: createBtcCentsSatsUsdPattern2(client, acc),
3195
- cumulative: createBtcCentsSatsUsdPattern3(client, _m(acc, 'cumulative')),
3394
+ block: createBtcCentsSatsUsdPattern3(client, acc),
3395
+ cumulative: createBtcCentsSatsUsdPattern(client, _m(acc, 'cumulative')),
3196
3396
  sum: create_1m1w1y24hPattern4(client, _m(acc, 'sum')),
3197
3397
  };
3198
3398
  }
@@ -3244,30 +3444,7 @@ function createBlockCumulativeDeltaSumPattern(client, acc) {
3244
3444
  }
3245
3445
 
3246
3446
  /**
3247
- * @typedef {Object} BothReactivatedReceivingSendingPattern
3248
- * @property {_1m1w1y24hBlockPattern} both
3249
- * @property {_1m1w1y24hBlockPattern} reactivated
3250
- * @property {_1m1w1y24hBlockPattern} receiving
3251
- * @property {_1m1w1y24hBlockPattern} sending
3252
- */
3253
-
3254
- /**
3255
- * Create a BothReactivatedReceivingSendingPattern pattern node
3256
- * @param {BrkClientBase} client
3257
- * @param {string} acc - Accumulated series name
3258
- * @returns {BothReactivatedReceivingSendingPattern}
3259
- */
3260
- function createBothReactivatedReceivingSendingPattern(client, acc) {
3261
- return {
3262
- both: create_1m1w1y24hBlockPattern(client, _m(acc, 'both')),
3263
- reactivated: create_1m1w1y24hBlockPattern(client, _m(acc, 'reactivated')),
3264
- receiving: create_1m1w1y24hBlockPattern(client, _m(acc, 'receiving')),
3265
- sending: create_1m1w1y24hBlockPattern(client, _m(acc, 'sending')),
3266
- };
3267
- }
3268
-
3269
- /**
3270
- * @typedef {Object} BtcCentsSatsUsdPattern3
3447
+ * @typedef {Object} BtcCentsSatsUsdPattern
3271
3448
  * @property {SeriesPattern1<Bitcoin>} btc
3272
3449
  * @property {SeriesPattern1<Cents>} cents
3273
3450
  * @property {SeriesPattern1<Sats>} sats
@@ -3275,12 +3452,12 @@ function createBothReactivatedReceivingSendingPattern(client, acc) {
3275
3452
  */
3276
3453
 
3277
3454
  /**
3278
- * Create a BtcCentsSatsUsdPattern3 pattern node
3455
+ * Create a BtcCentsSatsUsdPattern pattern node
3279
3456
  * @param {BrkClientBase} client
3280
3457
  * @param {string} acc - Accumulated series name
3281
- * @returns {BtcCentsSatsUsdPattern3}
3458
+ * @returns {BtcCentsSatsUsdPattern}
3282
3459
  */
3283
- function createBtcCentsSatsUsdPattern3(client, acc) {
3460
+ function createBtcCentsSatsUsdPattern(client, acc) {
3284
3461
  return {
3285
3462
  btc: createSeriesPattern1(client, acc),
3286
3463
  cents: createSeriesPattern1(client, _m(acc, 'cents')),
@@ -3290,7 +3467,7 @@ function createBtcCentsSatsUsdPattern3(client, acc) {
3290
3467
  }
3291
3468
 
3292
3469
  /**
3293
- * @typedef {Object} BtcCentsSatsUsdPattern
3470
+ * @typedef {Object} BtcCentsSatsUsdPattern2
3294
3471
  * @property {SeriesPattern1<Bitcoin>} btc
3295
3472
  * @property {SeriesPattern1<StoredF32>} cents
3296
3473
  * @property {SeriesPattern1<StoredF32>} sats
@@ -3298,12 +3475,12 @@ function createBtcCentsSatsUsdPattern3(client, acc) {
3298
3475
  */
3299
3476
 
3300
3477
  /**
3301
- * Create a BtcCentsSatsUsdPattern pattern node
3478
+ * Create a BtcCentsSatsUsdPattern2 pattern node
3302
3479
  * @param {BrkClientBase} client
3303
3480
  * @param {string} acc - Accumulated series name
3304
- * @returns {BtcCentsSatsUsdPattern}
3481
+ * @returns {BtcCentsSatsUsdPattern2}
3305
3482
  */
3306
- function createBtcCentsSatsUsdPattern(client, acc) {
3483
+ function createBtcCentsSatsUsdPattern2(client, acc) {
3307
3484
  return {
3308
3485
  btc: createSeriesPattern1(client, acc),
3309
3486
  cents: createSeriesPattern1(client, _m(acc, 'cents')),
@@ -3313,7 +3490,7 @@ function createBtcCentsSatsUsdPattern(client, acc) {
3313
3490
  }
3314
3491
 
3315
3492
  /**
3316
- * @typedef {Object} BtcCentsSatsUsdPattern2
3493
+ * @typedef {Object} BtcCentsSatsUsdPattern3
3317
3494
  * @property {SeriesPattern18<Bitcoin>} btc
3318
3495
  * @property {SeriesPattern18<Cents>} cents
3319
3496
  * @property {SeriesPattern18<Sats>} sats
@@ -3321,12 +3498,12 @@ function createBtcCentsSatsUsdPattern(client, acc) {
3321
3498
  */
3322
3499
 
3323
3500
  /**
3324
- * Create a BtcCentsSatsUsdPattern2 pattern node
3501
+ * Create a BtcCentsSatsUsdPattern3 pattern node
3325
3502
  * @param {BrkClientBase} client
3326
3503
  * @param {string} acc - Accumulated series name
3327
- * @returns {BtcCentsSatsUsdPattern2}
3504
+ * @returns {BtcCentsSatsUsdPattern3}
3328
3505
  */
3329
- function createBtcCentsSatsUsdPattern2(client, acc) {
3506
+ function createBtcCentsSatsUsdPattern3(client, acc) {
3330
3507
  return {
3331
3508
  btc: createSeriesPattern18(client, acc),
3332
3509
  cents: createSeriesPattern18(client, _m(acc, 'cents')),
@@ -3564,19 +3741,19 @@ function createBlocksDominanceRewardsPattern(client, acc) {
3564
3741
  }
3565
3742
 
3566
3743
  /**
3567
- * @typedef {Object} BpsPercentRatioPattern3
3744
+ * @typedef {Object} BpsPercentRatioPattern2
3568
3745
  * @property {SeriesPattern1<BasisPoints16>} bps
3569
3746
  * @property {SeriesPattern1<StoredF32>} percent
3570
3747
  * @property {SeriesPattern1<StoredF32>} ratio
3571
3748
  */
3572
3749
 
3573
3750
  /**
3574
- * Create a BpsPercentRatioPattern3 pattern node
3751
+ * Create a BpsPercentRatioPattern2 pattern node
3575
3752
  * @param {BrkClientBase} client
3576
3753
  * @param {string} acc - Accumulated series name
3577
- * @returns {BpsPercentRatioPattern3}
3754
+ * @returns {BpsPercentRatioPattern2}
3578
3755
  */
3579
- function createBpsPercentRatioPattern3(client, acc) {
3756
+ function createBpsPercentRatioPattern2(client, acc) {
3580
3757
  return {
3581
3758
  bps: createSeriesPattern1(client, _m(acc, 'bps')),
3582
3759
  percent: createSeriesPattern1(client, acc),
@@ -3774,6 +3951,27 @@ function createCumulativeRollingSumPattern(client, acc) {
3774
3951
  };
3775
3952
  }
3776
3953
 
3954
+ /**
3955
+ * @typedef {Object} DeltaDominanceTotalPattern
3956
+ * @property {AbsoluteRatePattern} delta
3957
+ * @property {BpsPercentRatioPattern2} dominance
3958
+ * @property {BtcCentsSatsUsdPattern} total
3959
+ */
3960
+
3961
+ /**
3962
+ * Create a DeltaDominanceTotalPattern pattern node
3963
+ * @param {BrkClientBase} client
3964
+ * @param {string} acc - Accumulated series name
3965
+ * @returns {DeltaDominanceTotalPattern}
3966
+ */
3967
+ function createDeltaDominanceTotalPattern(client, acc) {
3968
+ return {
3969
+ delta: createAbsoluteRatePattern(client, _m(acc, 'delta')),
3970
+ dominance: createBpsPercentRatioPattern2(client, _m(acc, 'dominance')),
3971
+ total: createBtcCentsSatsUsdPattern(client, acc),
3972
+ };
3973
+ }
3974
+
3777
3975
  /**
3778
3976
  * @typedef {Object} GreedNetPainPattern
3779
3977
  * @property {CentsUsdPattern3} greedIndex
@@ -3839,9 +4037,9 @@ function createRatioTransferValuePattern(client, acc) {
3839
4037
 
3840
4038
  /**
3841
4039
  * @typedef {Object} RsiStochPattern
3842
- * @property {BpsPercentRatioPattern3} rsi
3843
- * @property {BpsPercentRatioPattern3} stochRsiD
3844
- * @property {BpsPercentRatioPattern3} stochRsiK
4040
+ * @property {BpsPercentRatioPattern2} rsi
4041
+ * @property {BpsPercentRatioPattern2} stochRsiD
4042
+ * @property {BpsPercentRatioPattern2} stochRsiK
3845
4043
  */
3846
4044
 
3847
4045
  /**
@@ -3853,9 +4051,9 @@ function createRatioTransferValuePattern(client, acc) {
3853
4051
  */
3854
4052
  function createRsiStochPattern(client, acc, disc) {
3855
4053
  return {
3856
- rsi: createBpsPercentRatioPattern3(client, _m(acc, disc)),
3857
- stochRsiD: createBpsPercentRatioPattern3(client, _m(_m(acc, 'stoch_d'), disc)),
3858
- stochRsiK: createBpsPercentRatioPattern3(client, _m(_m(acc, 'stoch_k'), disc)),
4054
+ rsi: createBpsPercentRatioPattern2(client, _m(acc, disc)),
4055
+ stochRsiD: createBpsPercentRatioPattern2(client, _m(_m(acc, 'stoch_d'), disc)),
4056
+ stochRsiK: createBpsPercentRatioPattern2(client, _m(_m(acc, 'stoch_k'), disc)),
3859
4057
  };
3860
4058
  }
3861
4059
 
@@ -3941,10 +4139,29 @@ function createAbsoluteRatePattern2(client, acc) {
3941
4139
  };
3942
4140
  }
3943
4141
 
4142
+ /**
4143
+ * @typedef {Object} AddrUtxoPattern
4144
+ * @property {BtcCentsSatsUsdPattern} addr
4145
+ * @property {BtcCentsSatsUsdPattern} utxo
4146
+ */
4147
+
4148
+ /**
4149
+ * Create a AddrUtxoPattern pattern node
4150
+ * @param {BrkClientBase} client
4151
+ * @param {string} acc - Accumulated series name
4152
+ * @returns {AddrUtxoPattern}
4153
+ */
4154
+ function createAddrUtxoPattern(client, acc) {
4155
+ return {
4156
+ addr: createBtcCentsSatsUsdPattern(client, _m(acc, 'addr_amount')),
4157
+ utxo: createBtcCentsSatsUsdPattern(client, _m(acc, 'utxo_amount')),
4158
+ };
4159
+ }
4160
+
3944
4161
  /**
3945
4162
  * @typedef {Object} AllSthPattern2
3946
4163
  * @property {BtcCentsDeltaSatsUsdPattern} all
3947
- * @property {BtcCentsSatsUsdPattern3} sth
4164
+ * @property {BtcCentsSatsUsdPattern} sth
3948
4165
  */
3949
4166
 
3950
4167
  /**
@@ -3956,7 +4173,7 @@ function createAbsoluteRatePattern2(client, acc) {
3956
4173
  function createAllSthPattern2(client, acc) {
3957
4174
  return {
3958
4175
  all: createBtcCentsDeltaSatsUsdPattern(client, _m(acc, 'supply')),
3959
- sth: createBtcCentsSatsUsdPattern3(client, _m(acc, 'sth_supply')),
4176
+ sth: createBtcCentsSatsUsdPattern(client, _m(acc, 'sth_supply')),
3960
4177
  };
3961
4178
  }
3962
4179
 
@@ -4020,8 +4237,8 @@ function createBaseDeltaPattern(client, acc) {
4020
4237
 
4021
4238
  /**
4022
4239
  * @typedef {Object} BlockCumulativePattern
4023
- * @property {BtcCentsSatsUsdPattern2} block
4024
- * @property {BtcCentsSatsUsdPattern3} cumulative
4240
+ * @property {BtcCentsSatsUsdPattern3} block
4241
+ * @property {BtcCentsSatsUsdPattern} cumulative
4025
4242
  */
4026
4243
 
4027
4244
  /**
@@ -4032,15 +4249,15 @@ function createBaseDeltaPattern(client, acc) {
4032
4249
  */
4033
4250
  function createBlockCumulativePattern(client, acc) {
4034
4251
  return {
4035
- block: createBtcCentsSatsUsdPattern2(client, acc),
4036
- cumulative: createBtcCentsSatsUsdPattern3(client, _m(acc, 'cumulative')),
4252
+ block: createBtcCentsSatsUsdPattern3(client, acc),
4253
+ cumulative: createBtcCentsSatsUsdPattern(client, _m(acc, 'cumulative')),
4037
4254
  };
4038
4255
  }
4039
4256
 
4040
4257
  /**
4041
4258
  * @typedef {Object} BlocksDominancePattern
4042
4259
  * @property {AverageBlockCumulativeSumPattern2} blocksMined
4043
- * @property {BpsPercentRatioPattern3} dominance
4260
+ * @property {BpsPercentRatioPattern2} dominance
4044
4261
  */
4045
4262
 
4046
4263
  /**
@@ -4052,7 +4269,7 @@ function createBlockCumulativePattern(client, acc) {
4052
4269
  function createBlocksDominancePattern(client, acc) {
4053
4270
  return {
4054
4271
  blocksMined: createAverageBlockCumulativeSumPattern2(client, _m(acc, 'blocks_mined')),
4055
- dominance: createBpsPercentRatioPattern3(client, _m(acc, 'dominance')),
4272
+ dominance: createBpsPercentRatioPattern2(client, _m(acc, 'dominance')),
4056
4273
  };
4057
4274
  }
4058
4275
 
@@ -4177,41 +4394,60 @@ function createCentsUsdPattern4(client, acc) {
4177
4394
  */
4178
4395
 
4179
4396
  /**
4180
- * Create a CoindaysTransferPattern pattern node
4397
+ * Create a CoindaysTransferPattern pattern node
4398
+ * @param {BrkClientBase} client
4399
+ * @param {string} acc - Accumulated series name
4400
+ * @returns {CoindaysTransferPattern}
4401
+ */
4402
+ function createCoindaysTransferPattern(client, acc) {
4403
+ return {
4404
+ coindaysDestroyed: createAverageBlockCumulativeSumPattern(client, _m(acc, 'coindays_destroyed')),
4405
+ transferVolume: createAverageBlockCumulativeInSumPattern(client, _m(acc, 'transfer_volume')),
4406
+ };
4407
+ }
4408
+
4409
+ /**
4410
+ * @typedef {Object} FundedTotalPattern
4411
+ * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4} funded
4412
+ * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4} total
4413
+ */
4414
+
4415
+ /**
4416
+ * Create a FundedTotalPattern pattern node
4181
4417
  * @param {BrkClientBase} client
4182
4418
  * @param {string} acc - Accumulated series name
4183
- * @returns {CoindaysTransferPattern}
4419
+ * @returns {FundedTotalPattern}
4184
4420
  */
4185
- function createCoindaysTransferPattern(client, acc) {
4421
+ function createFundedTotalPattern(client, acc) {
4186
4422
  return {
4187
- coindaysDestroyed: createAverageBlockCumulativeSumPattern(client, _m(acc, 'coindays_destroyed')),
4188
- transferVolume: createAverageBlockCumulativeInSumPattern(client, _m(acc, 'transfer_volume')),
4423
+ funded: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4(client, acc),
4424
+ total: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4(client, _p('total', acc)),
4189
4425
  };
4190
4426
  }
4191
4427
 
4192
4428
  /**
4193
- * @typedef {Object} DeltaTotalPattern
4194
- * @property {AbsoluteRatePattern} delta
4195
- * @property {BtcCentsSatsUsdPattern3} total
4429
+ * @typedef {Object} InPattern2
4430
+ * @property {CentsUsdPattern3} inLoss
4431
+ * @property {CentsUsdPattern3} inProfit
4196
4432
  */
4197
4433
 
4198
4434
  /**
4199
- * Create a DeltaTotalPattern pattern node
4435
+ * Create a InPattern2 pattern node
4200
4436
  * @param {BrkClientBase} client
4201
4437
  * @param {string} acc - Accumulated series name
4202
- * @returns {DeltaTotalPattern}
4438
+ * @returns {InPattern2}
4203
4439
  */
4204
- function createDeltaTotalPattern(client, acc) {
4440
+ function createInPattern2(client, acc) {
4205
4441
  return {
4206
- delta: createAbsoluteRatePattern(client, _m(acc, 'delta')),
4207
- total: createBtcCentsSatsUsdPattern3(client, acc),
4442
+ inLoss: createCentsUsdPattern3(client, _m(acc, 'loss')),
4443
+ inProfit: createCentsUsdPattern3(client, _m(acc, 'profit')),
4208
4444
  };
4209
4445
  }
4210
4446
 
4211
4447
  /**
4212
4448
  * @typedef {Object} InPattern
4213
- * @property {CentsUsdPattern3} inLoss
4214
- * @property {CentsUsdPattern3} inProfit
4449
+ * @property {SharePattern} inLoss
4450
+ * @property {SharePattern} inProfit
4215
4451
  */
4216
4452
 
4217
4453
  /**
@@ -4222,8 +4458,8 @@ function createDeltaTotalPattern(client, acc) {
4222
4458
  */
4223
4459
  function createInPattern(client, acc) {
4224
4460
  return {
4225
- inLoss: createCentsUsdPattern3(client, _m(acc, 'loss')),
4226
- inProfit: createCentsUsdPattern3(client, _m(acc, 'profit')),
4461
+ inLoss: createSharePattern(client, _m(acc, 'loss_share')),
4462
+ inProfit: createSharePattern(client, _m(acc, 'profit_share')),
4227
4463
  };
4228
4464
  }
4229
4465
 
@@ -4361,6 +4597,23 @@ function createPricePattern(client, acc) {
4361
4597
  };
4362
4598
  }
4363
4599
 
4600
+ /**
4601
+ * @typedef {Object} SharePattern
4602
+ * @property {BpsPercentRatioPattern2} share
4603
+ */
4604
+
4605
+ /**
4606
+ * Create a SharePattern pattern node
4607
+ * @param {BrkClientBase} client
4608
+ * @param {string} acc - Accumulated series name
4609
+ * @returns {SharePattern}
4610
+ */
4611
+ function createSharePattern(client, acc) {
4612
+ return {
4613
+ share: createBpsPercentRatioPattern2(client, acc),
4614
+ };
4615
+ }
4616
+
4364
4617
  /**
4365
4618
  * @typedef {Object} TransferPattern
4366
4619
  * @property {AverageBlockCumulativeSumPattern3} transferVolume
@@ -4539,7 +4792,6 @@ function createTransferPattern(client, acc) {
4539
4792
  /**
4540
4793
  * @typedef {Object} SeriesTree_Transactions_Raw
4541
4794
  * @property {SeriesPattern18<TxIndex>} firstTxIndex
4542
- * @property {SeriesPattern19<Height>} height
4543
4795
  * @property {SeriesPattern19<Txid>} txid
4544
4796
  * @property {SeriesPattern19<TxVersion>} txVersion
4545
4797
  * @property {SeriesPattern19<RawLockTime>} rawLocktime
@@ -4553,7 +4805,6 @@ function createTransferPattern(client, acc) {
4553
4805
  /**
4554
4806
  * @typedef {Object} SeriesTree_Transactions_Count
4555
4807
  * @property {AverageBlockCumulativeMaxMedianMinPct10Pct25Pct75Pct90SumPattern} total
4556
- * @property {SeriesPattern19<StoredBool>} isCoinbase
4557
4808
  */
4558
4809
 
4559
4810
  /**
@@ -4574,7 +4825,7 @@ function createTransferPattern(client, acc) {
4574
4825
  * @property {SeriesPattern19<Sats>} inputValue
4575
4826
  * @property {SeriesPattern19<Sats>} outputValue
4576
4827
  * @property {_6bBlockTxPattern<Sats>} fee
4577
- * @property {_6bBlockTxPattern<FeeRate>} feeRate
4828
+ * @property {SeriesPattern19<FeeRate>} feeRate
4578
4829
  * @property {_6bBlockTxPattern<FeeRate>} effectiveFeeRate
4579
4830
  */
4580
4831
 
@@ -4589,8 +4840,6 @@ function createTransferPattern(client, acc) {
4589
4840
  * @typedef {Object} SeriesTree_Transactions_Volume
4590
4841
  * @property {AverageBlockCumulativeSumPattern3} transferVolume
4591
4842
  * @property {_1m1w1y24hPattern<StoredF32>} txPerSec
4592
- * @property {_1m1w1y24hPattern<StoredF32>} outputsPerSec
4593
- * @property {_1m1w1y24hPattern<StoredF32>} inputsPerSec
4594
4843
  */
4595
4844
 
4596
4845
  /**
@@ -4598,6 +4847,8 @@ function createTransferPattern(client, acc) {
4598
4847
  * @property {SeriesTree_Inputs_Raw} raw
4599
4848
  * @property {SeriesTree_Inputs_Spent} spent
4600
4849
  * @property {CumulativeRollingSumPattern} count
4850
+ * @property {_1m1w1y24hPattern<StoredF32>} perSec
4851
+ * @property {SeriesTree_Inputs_ByType} byType
4601
4852
  */
4602
4853
 
4603
4854
  /**
@@ -4615,11 +4866,70 @@ function createTransferPattern(client, acc) {
4615
4866
  * @property {SeriesPattern20<Sats>} value
4616
4867
  */
4617
4868
 
4869
+ /**
4870
+ * @typedef {Object} SeriesTree_Inputs_ByType
4871
+ * @property {SeriesTree_Inputs_ByType_InputCount} inputCount
4872
+ * @property {SeriesTree_Inputs_ByType_InputShare} inputShare
4873
+ * @property {SeriesTree_Inputs_ByType_TxCount} txCount
4874
+ * @property {EmptyP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2} txShare
4875
+ */
4876
+
4877
+ /**
4878
+ * @typedef {Object} SeriesTree_Inputs_ByType_InputCount
4879
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} all
4880
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk65
4881
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk33
4882
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pkh
4883
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2ms
4884
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2sh
4885
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wpkh
4886
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wsh
4887
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2tr
4888
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2a
4889
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} unknown
4890
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} empty
4891
+ */
4892
+
4893
+ /**
4894
+ * @typedef {Object} SeriesTree_Inputs_ByType_InputShare
4895
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pk65
4896
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pk33
4897
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pkh
4898
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2ms
4899
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2sh
4900
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2wpkh
4901
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2wsh
4902
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2tr
4903
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2a
4904
+ * @property {_1m1w1y24hBpsPercentRatioPattern} unknown
4905
+ * @property {_1m1w1y24hBpsPercentRatioPattern} empty
4906
+ */
4907
+
4908
+ /**
4909
+ * @typedef {Object} SeriesTree_Inputs_ByType_TxCount
4910
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} all
4911
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk65
4912
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk33
4913
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pkh
4914
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2ms
4915
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2sh
4916
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wpkh
4917
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wsh
4918
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2tr
4919
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2a
4920
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} unknown
4921
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} empty
4922
+ */
4923
+
4618
4924
  /**
4619
4925
  * @typedef {Object} SeriesTree_Outputs
4620
4926
  * @property {SeriesTree_Outputs_Raw} raw
4621
4927
  * @property {SeriesTree_Outputs_Spent} spent
4622
4928
  * @property {SeriesTree_Outputs_Count} count
4929
+ * @property {_1m1w1y24hPattern<StoredF32>} perSec
4930
+ * @property {SeriesTree_Outputs_Unspent} unspent
4931
+ * @property {SeriesTree_Outputs_ByType} byType
4932
+ * @property {SeriesTree_Outputs_Value} value
4623
4933
  */
4624
4934
 
4625
4935
  /**
@@ -4639,7 +4949,58 @@ function createTransferPattern(client, acc) {
4639
4949
  /**
4640
4950
  * @typedef {Object} SeriesTree_Outputs_Count
4641
4951
  * @property {CumulativeRollingSumPattern} total
4642
- * @property {SeriesPattern1<StoredU64>} unspent
4952
+ */
4953
+
4954
+ /**
4955
+ * @typedef {Object} SeriesTree_Outputs_Unspent
4956
+ * @property {SeriesPattern1<StoredU64>} count
4957
+ */
4958
+
4959
+ /**
4960
+ * @typedef {Object} SeriesTree_Outputs_ByType
4961
+ * @property {SeriesTree_Outputs_ByType_OutputCount} outputCount
4962
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} spendableOutputCount
4963
+ * @property {SeriesTree_Outputs_ByType_OutputShare} outputShare
4964
+ * @property {AllEmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern} txCount
4965
+ * @property {EmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2} txShare
4966
+ */
4967
+
4968
+ /**
4969
+ * @typedef {Object} SeriesTree_Outputs_ByType_OutputCount
4970
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} all
4971
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk65
4972
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk33
4973
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pkh
4974
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2ms
4975
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2sh
4976
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wpkh
4977
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wsh
4978
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2tr
4979
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2a
4980
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} unknown
4981
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} empty
4982
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} opReturn
4983
+ */
4984
+
4985
+ /**
4986
+ * @typedef {Object} SeriesTree_Outputs_ByType_OutputShare
4987
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pk65
4988
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pk33
4989
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pkh
4990
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2ms
4991
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2sh
4992
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2wpkh
4993
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2wsh
4994
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2tr
4995
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2a
4996
+ * @property {_1m1w1y24hBpsPercentRatioPattern} unknown
4997
+ * @property {_1m1w1y24hBpsPercentRatioPattern} empty
4998
+ * @property {_1m1w1y24hBpsPercentRatioPattern} opReturn
4999
+ */
5000
+
5001
+ /**
5002
+ * @typedef {Object} SeriesTree_Outputs_Value
5003
+ * @property {BlockCumulativePattern} opReturn
4643
5004
  */
4644
5005
 
4645
5006
  /**
@@ -4647,12 +5008,15 @@ function createTransferPattern(client, acc) {
4647
5008
  * @property {SeriesTree_Addrs_Raw} raw
4648
5009
  * @property {SeriesTree_Addrs_Indexes} indexes
4649
5010
  * @property {SeriesTree_Addrs_Data} data
4650
- * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3} funded
4651
- * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3} empty
5011
+ * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4} funded
5012
+ * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4} empty
4652
5013
  * @property {SeriesTree_Addrs_Activity} activity
4653
- * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3} total
4654
- * @property {SeriesTree_Addrs_New} new
5014
+ * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4} total
5015
+ * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6} new
5016
+ * @property {SeriesTree_Addrs_Reused} reused
5017
+ * @property {SeriesTree_Addrs_Exposed} exposed
4655
5018
  * @property {SeriesTree_Addrs_Delta} delta
5019
+ * @property {SeriesTree_Addrs_AvgAmount} avgAmount
4656
5020
  */
4657
5021
 
4658
5022
  /**
@@ -4737,28 +5101,83 @@ function createTransferPattern(client, acc) {
4737
5101
 
4738
5102
  /**
4739
5103
  * @typedef {Object} SeriesTree_Addrs_Activity
4740
- * @property {BothReactivatedReceivingSendingPattern} all
4741
- * @property {BothReactivatedReceivingSendingPattern} p2pk65
4742
- * @property {BothReactivatedReceivingSendingPattern} p2pk33
4743
- * @property {BothReactivatedReceivingSendingPattern} p2pkh
4744
- * @property {BothReactivatedReceivingSendingPattern} p2sh
4745
- * @property {BothReactivatedReceivingSendingPattern} p2wpkh
4746
- * @property {BothReactivatedReceivingSendingPattern} p2wsh
4747
- * @property {BothReactivatedReceivingSendingPattern} p2tr
4748
- * @property {BothReactivatedReceivingSendingPattern} p2a
5104
+ * @property {SeriesTree_Addrs_Activity_All} all
5105
+ * @property {ActiveBidirectionalReactivatedReceivingSendingPattern} p2pk65
5106
+ * @property {ActiveBidirectionalReactivatedReceivingSendingPattern} p2pk33
5107
+ * @property {ActiveBidirectionalReactivatedReceivingSendingPattern} p2pkh
5108
+ * @property {ActiveBidirectionalReactivatedReceivingSendingPattern} p2sh
5109
+ * @property {ActiveBidirectionalReactivatedReceivingSendingPattern} p2wpkh
5110
+ * @property {ActiveBidirectionalReactivatedReceivingSendingPattern} p2wsh
5111
+ * @property {ActiveBidirectionalReactivatedReceivingSendingPattern} p2tr
5112
+ * @property {ActiveBidirectionalReactivatedReceivingSendingPattern} p2a
4749
5113
  */
4750
5114
 
4751
5115
  /**
4752
- * @typedef {Object} SeriesTree_Addrs_New
4753
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} all
4754
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk65
4755
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk33
4756
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pkh
4757
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2sh
4758
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wpkh
4759
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wsh
4760
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2tr
4761
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2a
5116
+ * @typedef {Object} SeriesTree_Addrs_Activity_All
5117
+ * @property {_1m1w1y24hBlockPattern} reactivated
5118
+ * @property {_1m1w1y24hBlockPattern} sending
5119
+ * @property {_1m1w1y24hBlockPattern} receiving
5120
+ * @property {_1m1w1y24hBlockPattern} bidirectional
5121
+ * @property {_1m1w1y24hBlockPattern} active
5122
+ */
5123
+
5124
+ /**
5125
+ * @typedef {Object} SeriesTree_Addrs_Reused
5126
+ * @property {FundedTotalPattern} count
5127
+ * @property {SeriesTree_Addrs_Reused_Events} events
5128
+ */
5129
+
5130
+ /**
5131
+ * @typedef {Object} SeriesTree_Addrs_Reused_Events
5132
+ * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6} outputToReusedAddrCount
5133
+ * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7} outputToReusedAddrShare
5134
+ * @property {_1m1w1y24hBpsPercentRatioPattern} spendableOutputToReusedAddrShare
5135
+ * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6} inputFromReusedAddrCount
5136
+ * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7} inputFromReusedAddrShare
5137
+ * @property {_1m1w1y24hBlockPattern} activeReusedAddrCount
5138
+ * @property {SeriesTree_Addrs_Reused_Events_ActiveReusedAddrShare} activeReusedAddrShare
5139
+ */
5140
+
5141
+ /**
5142
+ * @typedef {Object} SeriesTree_Addrs_Reused_Events_ActiveReusedAddrShare
5143
+ * @property {SeriesPattern18<StoredF32>} block
5144
+ * @property {SeriesPattern1<StoredF32>} _24h
5145
+ * @property {SeriesPattern1<StoredF32>} _1w
5146
+ * @property {SeriesPattern1<StoredF32>} _1m
5147
+ * @property {SeriesPattern1<StoredF32>} _1y
5148
+ */
5149
+
5150
+ /**
5151
+ * @typedef {Object} SeriesTree_Addrs_Exposed
5152
+ * @property {FundedTotalPattern} count
5153
+ * @property {SeriesTree_Addrs_Exposed_Supply} supply
5154
+ */
5155
+
5156
+ /**
5157
+ * @typedef {Object} SeriesTree_Addrs_Exposed_Supply
5158
+ * @property {BtcCentsSatsUsdPattern} all
5159
+ * @property {BtcCentsSatsUsdPattern} p2pk65
5160
+ * @property {BtcCentsSatsUsdPattern} p2pk33
5161
+ * @property {BtcCentsSatsUsdPattern} p2pkh
5162
+ * @property {BtcCentsSatsUsdPattern} p2sh
5163
+ * @property {BtcCentsSatsUsdPattern} p2wpkh
5164
+ * @property {BtcCentsSatsUsdPattern} p2wsh
5165
+ * @property {BtcCentsSatsUsdPattern} p2tr
5166
+ * @property {BtcCentsSatsUsdPattern} p2a
5167
+ * @property {SeriesTree_Addrs_Exposed_Supply_Share} share
5168
+ */
5169
+
5170
+ /**
5171
+ * @typedef {Object} SeriesTree_Addrs_Exposed_Supply_Share
5172
+ * @property {BpsPercentRatioPattern2} all
5173
+ * @property {BpsPercentRatioPattern2} p2pk65
5174
+ * @property {BpsPercentRatioPattern2} p2pk33
5175
+ * @property {BpsPercentRatioPattern2} p2pkh
5176
+ * @property {BpsPercentRatioPattern2} p2sh
5177
+ * @property {BpsPercentRatioPattern2} p2wpkh
5178
+ * @property {BpsPercentRatioPattern2} p2wsh
5179
+ * @property {BpsPercentRatioPattern2} p2tr
5180
+ * @property {BpsPercentRatioPattern2} p2a
4762
5181
  */
4763
5182
 
4764
5183
  /**
@@ -4774,11 +5193,22 @@ function createTransferPattern(client, acc) {
4774
5193
  * @property {AbsoluteRatePattern} p2a
4775
5194
  */
4776
5195
 
5196
+ /**
5197
+ * @typedef {Object} SeriesTree_Addrs_AvgAmount
5198
+ * @property {AddrUtxoPattern} all
5199
+ * @property {AddrUtxoPattern} p2pk65
5200
+ * @property {AddrUtxoPattern} p2pk33
5201
+ * @property {AddrUtxoPattern} p2pkh
5202
+ * @property {AddrUtxoPattern} p2sh
5203
+ * @property {AddrUtxoPattern} p2wpkh
5204
+ * @property {AddrUtxoPattern} p2wsh
5205
+ * @property {AddrUtxoPattern} p2tr
5206
+ * @property {AddrUtxoPattern} p2a
5207
+ */
5208
+
4777
5209
  /**
4778
5210
  * @typedef {Object} SeriesTree_Scripts
4779
5211
  * @property {SeriesTree_Scripts_Raw} raw
4780
- * @property {SeriesTree_Scripts_Count} count
4781
- * @property {SeriesTree_Scripts_Value} value
4782
5212
  */
4783
5213
 
4784
5214
  /**
@@ -4813,27 +5243,6 @@ function createTransferPattern(client, acc) {
4813
5243
  * @property {SeriesPattern33<TxIndex>} toTxIndex
4814
5244
  */
4815
5245
 
4816
- /**
4817
- * @typedef {Object} SeriesTree_Scripts_Count
4818
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2a
4819
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2ms
4820
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk33
4821
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk65
4822
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pkh
4823
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2sh
4824
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2tr
4825
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wpkh
4826
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wsh
4827
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} opReturn
4828
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} emptyOutput
4829
- * @property {AverageBlockCumulativeSumPattern<StoredU64>} unknownOutput
4830
- */
4831
-
4832
- /**
4833
- * @typedef {Object} SeriesTree_Scripts_Value
4834
- * @property {BlockCumulativePattern} opReturn
4835
- */
4836
-
4837
5246
  /**
4838
5247
  * @typedef {Object} SeriesTree_Mining
4839
5248
  * @property {SeriesTree_Mining_Rewards} rewards
@@ -4851,8 +5260,8 @@ function createTransferPattern(client, acc) {
4851
5260
 
4852
5261
  /**
4853
5262
  * @typedef {Object} SeriesTree_Mining_Rewards_Subsidy
4854
- * @property {BtcCentsSatsUsdPattern2} block
4855
- * @property {BtcCentsSatsUsdPattern3} cumulative
5263
+ * @property {BtcCentsSatsUsdPattern3} block
5264
+ * @property {BtcCentsSatsUsdPattern} cumulative
4856
5265
  * @property {_1m1w1y24hPattern4} sum
4857
5266
  * @property {_1m1w1y24hPattern3} average
4858
5267
  * @property {_1m1w1y24hBpsPercentRatioPattern} dominance
@@ -4860,8 +5269,8 @@ function createTransferPattern(client, acc) {
4860
5269
 
4861
5270
  /**
4862
5271
  * @typedef {Object} SeriesTree_Mining_Rewards_Fees
4863
- * @property {BtcCentsSatsUsdPattern2} block
4864
- * @property {BtcCentsSatsUsdPattern3} cumulative
5272
+ * @property {BtcCentsSatsUsdPattern3} block
5273
+ * @property {BtcCentsSatsUsdPattern} cumulative
4865
5274
  * @property {_1m1w1y24hPattern4} sum
4866
5275
  * @property {_1m1w1y24hPattern3} average
4867
5276
  * @property {_1m1w1y24hPattern4} min
@@ -4929,8 +5338,8 @@ function createTransferPattern(client, acc) {
4929
5338
 
4930
5339
  /**
4931
5340
  * @typedef {Object} SeriesTree_Cointime_Supply
4932
- * @property {BtcCentsSatsUsdPattern3} vaulted
4933
- * @property {BtcCentsSatsUsdPattern3} active
5341
+ * @property {BtcCentsSatsUsdPattern} vaulted
5342
+ * @property {BtcCentsSatsUsdPattern} active
4934
5343
  */
4935
5344
 
4936
5345
  /**
@@ -5106,7 +5515,6 @@ function createTransferPattern(client, acc) {
5106
5515
 
5107
5516
  /**
5108
5517
  * @typedef {Object} SeriesTree_Indexes_Height
5109
- * @property {SeriesPattern18<Height>} identity
5110
5518
  * @property {SeriesPattern18<Minute10>} minute10
5111
5519
  * @property {SeriesPattern18<Minute30>} minute30
5112
5520
  * @property {SeriesPattern18<Hour1>} hour1
@@ -5127,99 +5535,83 @@ function createTransferPattern(client, acc) {
5127
5535
 
5128
5536
  /**
5129
5537
  * @typedef {Object} SeriesTree_Indexes_Epoch
5130
- * @property {SeriesPattern17<Epoch>} identity
5131
5538
  * @property {SeriesPattern17<Height>} firstHeight
5132
- * @property {SeriesPattern17<StoredU64>} heightCount
5133
5539
  */
5134
5540
 
5135
5541
  /**
5136
5542
  * @typedef {Object} SeriesTree_Indexes_Halving
5137
- * @property {SeriesPattern16<Halving>} identity
5138
5543
  * @property {SeriesPattern16<Height>} firstHeight
5139
5544
  */
5140
5545
 
5141
5546
  /**
5142
5547
  * @typedef {Object} SeriesTree_Indexes_Minute10
5143
- * @property {SeriesPattern3<Minute10>} identity
5144
5548
  * @property {SeriesPattern3<Height>} firstHeight
5145
5549
  */
5146
5550
 
5147
5551
  /**
5148
5552
  * @typedef {Object} SeriesTree_Indexes_Minute30
5149
- * @property {SeriesPattern4<Minute30>} identity
5150
5553
  * @property {SeriesPattern4<Height>} firstHeight
5151
5554
  */
5152
5555
 
5153
5556
  /**
5154
5557
  * @typedef {Object} SeriesTree_Indexes_Hour1
5155
- * @property {SeriesPattern5<Hour1>} identity
5156
5558
  * @property {SeriesPattern5<Height>} firstHeight
5157
5559
  */
5158
5560
 
5159
5561
  /**
5160
5562
  * @typedef {Object} SeriesTree_Indexes_Hour4
5161
- * @property {SeriesPattern6<Hour4>} identity
5162
5563
  * @property {SeriesPattern6<Height>} firstHeight
5163
5564
  */
5164
5565
 
5165
5566
  /**
5166
5567
  * @typedef {Object} SeriesTree_Indexes_Hour12
5167
- * @property {SeriesPattern7<Hour12>} identity
5168
5568
  * @property {SeriesPattern7<Height>} firstHeight
5169
5569
  */
5170
5570
 
5171
5571
  /**
5172
5572
  * @typedef {Object} SeriesTree_Indexes_Day1
5173
- * @property {SeriesPattern8<Day1>} identity
5174
5573
  * @property {SeriesPattern8<Date>} date
5175
5574
  * @property {SeriesPattern8<Height>} firstHeight
5176
- * @property {SeriesPattern8<StoredU64>} heightCount
5177
5575
  */
5178
5576
 
5179
5577
  /**
5180
5578
  * @typedef {Object} SeriesTree_Indexes_Day3
5181
- * @property {SeriesPattern9<Day3>} identity
5579
+ * @property {SeriesPattern9<Date>} date
5182
5580
  * @property {SeriesPattern9<Height>} firstHeight
5183
5581
  */
5184
5582
 
5185
5583
  /**
5186
5584
  * @typedef {Object} SeriesTree_Indexes_Week1
5187
- * @property {SeriesPattern10<Week1>} identity
5188
5585
  * @property {SeriesPattern10<Date>} date
5189
5586
  * @property {SeriesPattern10<Height>} firstHeight
5190
5587
  */
5191
5588
 
5192
5589
  /**
5193
5590
  * @typedef {Object} SeriesTree_Indexes_Month1
5194
- * @property {SeriesPattern11<Month1>} identity
5195
5591
  * @property {SeriesPattern11<Date>} date
5196
5592
  * @property {SeriesPattern11<Height>} firstHeight
5197
5593
  */
5198
5594
 
5199
5595
  /**
5200
5596
  * @typedef {Object} SeriesTree_Indexes_Month3
5201
- * @property {SeriesPattern12<Month3>} identity
5202
5597
  * @property {SeriesPattern12<Date>} date
5203
5598
  * @property {SeriesPattern12<Height>} firstHeight
5204
5599
  */
5205
5600
 
5206
5601
  /**
5207
5602
  * @typedef {Object} SeriesTree_Indexes_Month6
5208
- * @property {SeriesPattern13<Month6>} identity
5209
5603
  * @property {SeriesPattern13<Date>} date
5210
5604
  * @property {SeriesPattern13<Height>} firstHeight
5211
5605
  */
5212
5606
 
5213
5607
  /**
5214
5608
  * @typedef {Object} SeriesTree_Indexes_Year1
5215
- * @property {SeriesPattern14<Year1>} identity
5216
5609
  * @property {SeriesPattern14<Date>} date
5217
5610
  * @property {SeriesPattern14<Height>} firstHeight
5218
5611
  */
5219
5612
 
5220
5613
  /**
5221
5614
  * @typedef {Object} SeriesTree_Indexes_Year10
5222
- * @property {SeriesPattern15<Year10>} identity
5223
5615
  * @property {SeriesPattern15<Date>} date
5224
5616
  * @property {SeriesPattern15<Height>} firstHeight
5225
5617
  */
@@ -5251,35 +5643,28 @@ function createTransferPattern(client, acc) {
5251
5643
  * @typedef {Object} SeriesTree_Indicators
5252
5644
  * @property {BpsRatioPattern2} puellMultiple
5253
5645
  * @property {BpsRatioPattern2} nvt
5254
- * @property {BpsPercentRatioPattern3} gini
5646
+ * @property {BpsPercentRatioPattern2} gini
5255
5647
  * @property {BpsRatioPattern2} rhodlRatio
5256
5648
  * @property {BpsRatioPattern2} thermoCapMultiple
5257
- * @property {SeriesPattern1<StoredF32>} coindaysDestroyedSupplyAdjusted
5258
- * @property {SeriesPattern1<StoredF32>} coinyearsDestroyedSupplyAdjusted
5649
+ * @property {SeriesPattern1<StoredF32>} coindaysDestroyedSupplyAdj
5650
+ * @property {SeriesPattern1<StoredF32>} coinyearsDestroyedSupplyAdj
5259
5651
  * @property {SeriesTree_Indicators_Dormancy} dormancy
5260
5652
  * @property {SeriesPattern1<StoredF32>} stockToFlow
5261
5653
  * @property {SeriesPattern1<StoredF32>} sellerExhaustion
5262
- * @property {SeriesTree_Indicators_RealizedEnvelope} realizedEnvelope
5654
+ * @property {SeriesTree_Indicators_RarityMeter} rarityMeter
5263
5655
  */
5264
5656
 
5265
5657
  /**
5266
5658
  * @typedef {Object} SeriesTree_Indicators_Dormancy
5267
- * @property {SeriesPattern1<StoredF32>} supplyAdjusted
5659
+ * @property {SeriesPattern1<StoredF32>} supplyAdj
5268
5660
  * @property {SeriesPattern1<StoredF32>} flow
5269
5661
  */
5270
5662
 
5271
5663
  /**
5272
- * @typedef {Object} SeriesTree_Indicators_RealizedEnvelope
5273
- * @property {CentsSatsUsdPattern} pct05
5274
- * @property {CentsSatsUsdPattern} pct1
5275
- * @property {CentsSatsUsdPattern} pct2
5276
- * @property {CentsSatsUsdPattern} pct5
5277
- * @property {CentsSatsUsdPattern} pct95
5278
- * @property {CentsSatsUsdPattern} pct98
5279
- * @property {CentsSatsUsdPattern} pct99
5280
- * @property {CentsSatsUsdPattern} pct995
5281
- * @property {SeriesPattern1<StoredI8>} index
5282
- * @property {SeriesPattern1<StoredI8>} score
5664
+ * @typedef {Object} SeriesTree_Indicators_RarityMeter
5665
+ * @property {IndexPct0Pct1Pct2Pct5Pct95Pct98Pct99ScorePattern} full
5666
+ * @property {IndexPct0Pct1Pct2Pct5Pct95Pct98Pct99ScorePattern} local
5667
+ * @property {IndexPct0Pct1Pct2Pct5Pct95Pct98Pct99ScorePattern} cycle
5283
5668
  */
5284
5669
 
5285
5670
  /**
@@ -5324,18 +5709,18 @@ function createTransferPattern(client, acc) {
5324
5709
 
5325
5710
  /**
5326
5711
  * @typedef {Object} SeriesTree_Investing_Class_DcaStack
5327
- * @property {BtcCentsSatsUsdPattern3} from2015
5328
- * @property {BtcCentsSatsUsdPattern3} from2016
5329
- * @property {BtcCentsSatsUsdPattern3} from2017
5330
- * @property {BtcCentsSatsUsdPattern3} from2018
5331
- * @property {BtcCentsSatsUsdPattern3} from2019
5332
- * @property {BtcCentsSatsUsdPattern3} from2020
5333
- * @property {BtcCentsSatsUsdPattern3} from2021
5334
- * @property {BtcCentsSatsUsdPattern3} from2022
5335
- * @property {BtcCentsSatsUsdPattern3} from2023
5336
- * @property {BtcCentsSatsUsdPattern3} from2024
5337
- * @property {BtcCentsSatsUsdPattern3} from2025
5338
- * @property {BtcCentsSatsUsdPattern3} from2026
5712
+ * @property {BtcCentsSatsUsdPattern} from2015
5713
+ * @property {BtcCentsSatsUsdPattern} from2016
5714
+ * @property {BtcCentsSatsUsdPattern} from2017
5715
+ * @property {BtcCentsSatsUsdPattern} from2018
5716
+ * @property {BtcCentsSatsUsdPattern} from2019
5717
+ * @property {BtcCentsSatsUsdPattern} from2020
5718
+ * @property {BtcCentsSatsUsdPattern} from2021
5719
+ * @property {BtcCentsSatsUsdPattern} from2022
5720
+ * @property {BtcCentsSatsUsdPattern} from2023
5721
+ * @property {BtcCentsSatsUsdPattern} from2024
5722
+ * @property {BtcCentsSatsUsdPattern} from2025
5723
+ * @property {BtcCentsSatsUsdPattern} from2026
5339
5724
  */
5340
5725
 
5341
5726
  /**
@@ -5470,7 +5855,7 @@ function createTransferPattern(client, acc) {
5470
5855
  * @property {_1m1w1y2wPattern} max
5471
5856
  * @property {SeriesPattern1<StoredF32>} trueRange
5472
5857
  * @property {SeriesPattern1<StoredF32>} trueRangeSum2w
5473
- * @property {BpsPercentRatioPattern3} choppinessIndex2w
5858
+ * @property {BpsPercentRatioPattern2} choppinessIndex2w
5474
5859
  */
5475
5860
 
5476
5861
  /**
@@ -5799,13 +6184,13 @@ function createTransferPattern(client, acc) {
5799
6184
  /**
5800
6185
  * @typedef {Object} SeriesTree_Supply
5801
6186
  * @property {SeriesPattern18<SupplyState>} state
5802
- * @property {BtcCentsSatsUsdPattern3} circulating
6187
+ * @property {BtcCentsSatsUsdPattern} circulating
5803
6188
  * @property {BlockCumulativePattern} burned
5804
6189
  * @property {BpsPercentRatioPattern} inflationRate
5805
6190
  * @property {SeriesTree_Supply_Velocity} velocity
5806
6191
  * @property {CentsDeltaUsdPattern} marketCap
5807
6192
  * @property {_1m1w1y24hPattern<BasisPointsSigned32>} marketMinusRealizedCapGrowthRate
5808
- * @property {BtcCentsSatsUsdPattern3} hodledOrLost
6193
+ * @property {BtcCentsSatsUsdPattern} hodledOrLost
5809
6194
  */
5810
6195
 
5811
6196
  /**
@@ -5840,21 +6225,13 @@ function createTransferPattern(client, acc) {
5840
6225
 
5841
6226
  /**
5842
6227
  * @typedef {Object} SeriesTree_Cohorts_Utxo_All
5843
- * @property {SeriesTree_Cohorts_Utxo_All_Supply} supply
6228
+ * @property {DeltaDominanceHalfInTotalPattern2} supply
5844
6229
  * @property {SeriesTree_Cohorts_Utxo_All_Outputs} outputs
5845
6230
  * @property {SeriesTree_Cohorts_Utxo_All_Activity} activity
5846
6231
  * @property {SeriesTree_Cohorts_Utxo_All_Realized} realized
5847
6232
  * @property {SeriesTree_Cohorts_Utxo_All_CostBasis} costBasis
5848
6233
  * @property {SeriesTree_Cohorts_Utxo_All_Unrealized} unrealized
5849
- */
5850
-
5851
- /**
5852
- * @typedef {Object} SeriesTree_Cohorts_Utxo_All_Supply
5853
- * @property {BtcCentsSatsUsdPattern3} total
5854
- * @property {AbsoluteRatePattern} delta
5855
- * @property {BtcCentsSatsUsdPattern3} half
5856
- * @property {BtcCentsSatsToUsdPattern2} inProfit
5857
- * @property {BtcCentsSatsToUsdPattern2} inLoss
6234
+ * @property {InPattern} investedCapital
5858
6235
  */
5859
6236
 
5860
6237
  /**
@@ -5884,7 +6261,7 @@ function createTransferPattern(client, acc) {
5884
6261
  * @property {BlockCumulativeSumPattern} grossPnl
5885
6262
  * @property {_1m1w1y24hPattern7} sellSideRiskRatio
5886
6263
  * @property {BlockCumulativeSumPattern} peakRegret
5887
- * @property {PricePattern} investor
6264
+ * @property {PricePattern} capitalized
5888
6265
  * @property {_1m1w1y24hPattern<StoredF64>} profitToLossRatio
5889
6266
  */
5890
6267
 
@@ -6006,7 +6383,7 @@ function createTransferPattern(client, acc) {
6006
6383
  * @property {CentsSatsUsdPattern} max
6007
6384
  * @property {Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern} perCoin
6008
6385
  * @property {Pct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern} perDollar
6009
- * @property {BpsPercentRatioPattern3} supplyDensity
6386
+ * @property {BpsPercentRatioPattern2} supplyDensity
6010
6387
  */
6011
6388
 
6012
6389
  /**
@@ -6016,9 +6393,9 @@ function createTransferPattern(client, acc) {
6016
6393
  * @property {SeriesTree_Cohorts_Utxo_All_Unrealized_Loss} loss
6017
6394
  * @property {SeriesTree_Cohorts_Utxo_All_Unrealized_NetPnl} netPnl
6018
6395
  * @property {CentsUsdPattern3} grossPnl
6019
- * @property {InPattern} investedCapital
6020
- * @property {SeriesPattern18<CentsSquaredSats>} investorCapInProfitRaw
6021
- * @property {SeriesPattern18<CentsSquaredSats>} investorCapInLossRaw
6396
+ * @property {InPattern2} investedCapital
6397
+ * @property {SeriesPattern18<CentsSquaredSats>} capitalizedCapInProfitRaw
6398
+ * @property {SeriesPattern18<CentsSquaredSats>} capitalizedCapInLossRaw
6022
6399
  * @property {SeriesTree_Cohorts_Utxo_All_Unrealized_Sentiment} sentiment
6023
6400
  */
6024
6401
 
@@ -6026,8 +6403,8 @@ function createTransferPattern(client, acc) {
6026
6403
  * @typedef {Object} SeriesTree_Cohorts_Utxo_All_Unrealized_Profit
6027
6404
  * @property {SeriesPattern1<Dollars>} usd
6028
6405
  * @property {SeriesPattern1<Cents>} cents
6029
- * @property {BpsPercentRatioPattern3} toMcap
6030
- * @property {BpsPercentRatioPattern3} toOwnGrossPnl
6406
+ * @property {BpsPercentRatioPattern2} toMcap
6407
+ * @property {BpsPercentRatioPattern2} toOwnGrossPnl
6031
6408
  */
6032
6409
 
6033
6410
  /**
@@ -6035,8 +6412,8 @@ function createTransferPattern(client, acc) {
6035
6412
  * @property {SeriesPattern1<Dollars>} usd
6036
6413
  * @property {SeriesPattern1<Cents>} cents
6037
6414
  * @property {SeriesPattern1<Dollars>} negative
6038
- * @property {BpsPercentRatioPattern3} toMcap
6039
- * @property {BpsPercentRatioPattern3} toOwnGrossPnl
6415
+ * @property {BpsPercentRatioPattern2} toMcap
6416
+ * @property {BpsPercentRatioPattern2} toOwnGrossPnl
6040
6417
  */
6041
6418
 
6042
6419
  /**
@@ -6055,12 +6432,13 @@ function createTransferPattern(client, acc) {
6055
6432
 
6056
6433
  /**
6057
6434
  * @typedef {Object} SeriesTree_Cohorts_Utxo_Sth
6058
- * @property {DeltaHalfInToTotalPattern2} supply
6435
+ * @property {DeltaDominanceHalfInTotalPattern2} supply
6059
6436
  * @property {SpendingSpentUnspentPattern} outputs
6060
6437
  * @property {CoindaysCoinyearsDormancyTransferPattern} activity
6061
6438
  * @property {SeriesTree_Cohorts_Utxo_Sth_Realized} realized
6062
6439
  * @property {InMaxMinPerSupplyPattern} costBasis
6063
- * @property {GrossInvestedInvestorLossNetNuplProfitSentimentPattern2} unrealized
6440
+ * @property {CapitalizedGrossInvestedLossNetNuplProfitSentimentPattern2} unrealized
6441
+ * @property {InPattern} investedCapital
6064
6442
  */
6065
6443
 
6066
6444
  /**
@@ -6075,7 +6453,7 @@ function createTransferPattern(client, acc) {
6075
6453
  * @property {BlockCumulativeSumPattern} grossPnl
6076
6454
  * @property {_1m1w1y24hPattern7} sellSideRiskRatio
6077
6455
  * @property {BlockCumulativeSumPattern} peakRegret
6078
- * @property {PricePattern} investor
6456
+ * @property {PricePattern} capitalized
6079
6457
  * @property {_1m1w1y24hPattern<StoredF64>} profitToLossRatio
6080
6458
  */
6081
6459
 
@@ -6177,12 +6555,13 @@ function createTransferPattern(client, acc) {
6177
6555
 
6178
6556
  /**
6179
6557
  * @typedef {Object} SeriesTree_Cohorts_Utxo_Lth
6180
- * @property {DeltaHalfInToTotalPattern2} supply
6558
+ * @property {DeltaDominanceHalfInTotalPattern2} supply
6181
6559
  * @property {SpendingSpentUnspentPattern} outputs
6182
6560
  * @property {CoindaysCoinyearsDormancyTransferPattern} activity
6183
6561
  * @property {SeriesTree_Cohorts_Utxo_Lth_Realized} realized
6184
6562
  * @property {InMaxMinPerSupplyPattern} costBasis
6185
- * @property {GrossInvestedInvestorLossNetNuplProfitSentimentPattern2} unrealized
6563
+ * @property {CapitalizedGrossInvestedLossNetNuplProfitSentimentPattern2} unrealized
6564
+ * @property {InPattern} investedCapital
6186
6565
  */
6187
6566
 
6188
6567
  /**
@@ -6197,7 +6576,7 @@ function createTransferPattern(client, acc) {
6197
6576
  * @property {BlockCumulativeSumPattern} grossPnl
6198
6577
  * @property {_1m1w1y24hPattern7} sellSideRiskRatio
6199
6578
  * @property {BlockCumulativeSumPattern} peakRegret
6200
- * @property {PricePattern} investor
6579
+ * @property {PricePattern} capitalized
6201
6580
  * @property {_1m1w1y24hPattern<StoredF64>} profitToLossRatio
6202
6581
  */
6203
6582
 
@@ -6628,7 +7007,7 @@ function createTransferPattern(client, acc) {
6628
7007
  * @extends BrkClientBase
6629
7008
  */
6630
7009
  class BrkClient extends BrkClientBase {
6631
- VERSION = "v0.3.0-beta.1";
7010
+ VERSION = "v0.3.0-beta.3";
6632
7011
 
6633
7012
  INDEXES = /** @type {const} */ ([
6634
7013
  "minute10",
@@ -7809,15 +8188,14 @@ class BrkClient extends BrkClientBase {
7809
8188
  constructor(options) {
7810
8189
  super(options);
7811
8190
  /** @type {SeriesTree} */
7812
- this.series = this._buildTree('');
8191
+ this.series = this._buildTree();
7813
8192
  }
7814
8193
 
7815
8194
  /**
7816
8195
  * @private
7817
- * @param {string} basePath
7818
8196
  * @returns {SeriesTree}
7819
8197
  */
7820
- _buildTree(basePath) {
8198
+ _buildTree() {
7821
8199
  return {
7822
8200
  blocks: {
7823
8201
  blockhash: createSeriesPattern18(this, 'blockhash'),
@@ -7921,7 +8299,6 @@ class BrkClient extends BrkClientBase {
7921
8299
  transactions: {
7922
8300
  raw: {
7923
8301
  firstTxIndex: createSeriesPattern18(this, 'first_tx_index'),
7924
- height: createSeriesPattern19(this, 'height'),
7925
8302
  txid: createSeriesPattern19(this, 'txid'),
7926
8303
  txVersion: createSeriesPattern19(this, 'tx_version'),
7927
8304
  rawLocktime: createSeriesPattern19(this, 'raw_locktime'),
@@ -7933,7 +8310,6 @@ class BrkClient extends BrkClientBase {
7933
8310
  },
7934
8311
  count: {
7935
8312
  total: createAverageBlockCumulativeMaxMedianMinPct10Pct25Pct75Pct90SumPattern(this, 'tx_count'),
7936
- isCoinbase: createSeriesPattern19(this, 'is_coinbase'),
7937
8313
  },
7938
8314
  size: {
7939
8315
  vsize: create_6bBlockTxPattern(this, 'tx_vsize'),
@@ -7947,7 +8323,7 @@ class BrkClient extends BrkClientBase {
7947
8323
  inputValue: createSeriesPattern19(this, 'input_value'),
7948
8324
  outputValue: createSeriesPattern19(this, 'output_value'),
7949
8325
  fee: create_6bBlockTxPattern(this, 'fee'),
7950
- feeRate: create_6bBlockTxPattern(this, 'fee_rate'),
8326
+ feeRate: createSeriesPattern19(this, 'fee_rate'),
7951
8327
  effectiveFeeRate: create_6bBlockTxPattern(this, 'effective_fee_rate'),
7952
8328
  },
7953
8329
  versions: {
@@ -7958,8 +8334,6 @@ class BrkClient extends BrkClientBase {
7958
8334
  volume: {
7959
8335
  transferVolume: createAverageBlockCumulativeSumPattern3(this, 'transfer_volume_bis'),
7960
8336
  txPerSec: create_1m1w1y24hPattern(this, 'tx_per_sec'),
7961
- outputsPerSec: create_1m1w1y24hPattern(this, 'outputs_per_sec'),
7962
- inputsPerSec: create_1m1w1y24hPattern(this, 'inputs_per_sec'),
7963
8337
  },
7964
8338
  },
7965
8339
  inputs: {
@@ -7975,6 +8349,51 @@ class BrkClient extends BrkClientBase {
7975
8349
  value: createSeriesPattern20(this, 'value'),
7976
8350
  },
7977
8351
  count: createCumulativeRollingSumPattern(this, 'input_count'),
8352
+ perSec: create_1m1w1y24hPattern(this, 'inputs_per_sec'),
8353
+ byType: {
8354
+ inputCount: {
8355
+ all: createAverageBlockCumulativeSumPattern(this, 'input_count_bis'),
8356
+ p2pk65: createAverageBlockCumulativeSumPattern(this, 'p2pk65_prevout_count'),
8357
+ p2pk33: createAverageBlockCumulativeSumPattern(this, 'p2pk33_prevout_count'),
8358
+ p2pkh: createAverageBlockCumulativeSumPattern(this, 'p2pkh_prevout_count'),
8359
+ p2ms: createAverageBlockCumulativeSumPattern(this, 'p2ms_prevout_count'),
8360
+ p2sh: createAverageBlockCumulativeSumPattern(this, 'p2sh_prevout_count'),
8361
+ p2wpkh: createAverageBlockCumulativeSumPattern(this, 'p2wpkh_prevout_count'),
8362
+ p2wsh: createAverageBlockCumulativeSumPattern(this, 'p2wsh_prevout_count'),
8363
+ p2tr: createAverageBlockCumulativeSumPattern(this, 'p2tr_prevout_count'),
8364
+ p2a: createAverageBlockCumulativeSumPattern(this, 'p2a_prevout_count'),
8365
+ unknown: createAverageBlockCumulativeSumPattern(this, 'unknown_outputs_prevout_count'),
8366
+ empty: createAverageBlockCumulativeSumPattern(this, 'empty_outputs_prevout_count'),
8367
+ },
8368
+ inputShare: {
8369
+ p2pk65: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2pk65_prevout_share'),
8370
+ p2pk33: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2pk33_prevout_share'),
8371
+ p2pkh: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2pkh_prevout_share'),
8372
+ p2ms: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2ms_prevout_share'),
8373
+ p2sh: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2sh_prevout_share'),
8374
+ p2wpkh: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2wpkh_prevout_share'),
8375
+ p2wsh: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2wsh_prevout_share'),
8376
+ p2tr: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2tr_prevout_share'),
8377
+ p2a: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2a_prevout_share'),
8378
+ unknown: create_1m1w1y24hBpsPercentRatioPattern(this, 'unknown_outputs_prevout_share'),
8379
+ empty: create_1m1w1y24hBpsPercentRatioPattern(this, 'empty_outputs_prevout_share'),
8380
+ },
8381
+ txCount: {
8382
+ all: createAverageBlockCumulativeSumPattern(this, 'non_coinbase_tx_count'),
8383
+ p2pk65: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2pk65_prevout'),
8384
+ p2pk33: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2pk33_prevout'),
8385
+ p2pkh: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2pkh_prevout'),
8386
+ p2ms: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2ms_prevout'),
8387
+ p2sh: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2sh_prevout'),
8388
+ p2wpkh: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2wpkh_prevout'),
8389
+ p2wsh: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2wsh_prevout'),
8390
+ p2tr: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2tr_prevout'),
8391
+ p2a: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2a_prevout'),
8392
+ unknown: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_unknown_outputs_prevout'),
8393
+ empty: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_empty_outputs_prevout'),
8394
+ },
8395
+ txShare: createEmptyP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2(this, 'tx_share_with'),
8396
+ },
7978
8397
  },
7979
8398
  outputs: {
7980
8399
  raw: {
@@ -7989,7 +8408,47 @@ class BrkClient extends BrkClientBase {
7989
8408
  },
7990
8409
  count: {
7991
8410
  total: createCumulativeRollingSumPattern(this, 'output_count'),
7992
- unspent: createSeriesPattern1(this, 'utxo_count_bis'),
8411
+ },
8412
+ perSec: create_1m1w1y24hPattern(this, 'outputs_per_sec'),
8413
+ unspent: {
8414
+ count: createSeriesPattern1(this, 'utxo_count_bis'),
8415
+ },
8416
+ byType: {
8417
+ outputCount: {
8418
+ all: createAverageBlockCumulativeSumPattern(this, 'output_count_bis'),
8419
+ p2pk65: createAverageBlockCumulativeSumPattern(this, 'p2pk65_output_count'),
8420
+ p2pk33: createAverageBlockCumulativeSumPattern(this, 'p2pk33_output_count'),
8421
+ p2pkh: createAverageBlockCumulativeSumPattern(this, 'p2pkh_output_count'),
8422
+ p2ms: createAverageBlockCumulativeSumPattern(this, 'p2ms_output_count'),
8423
+ p2sh: createAverageBlockCumulativeSumPattern(this, 'p2sh_output_count'),
8424
+ p2wpkh: createAverageBlockCumulativeSumPattern(this, 'p2wpkh_output_count'),
8425
+ p2wsh: createAverageBlockCumulativeSumPattern(this, 'p2wsh_output_count'),
8426
+ p2tr: createAverageBlockCumulativeSumPattern(this, 'p2tr_output_count'),
8427
+ p2a: createAverageBlockCumulativeSumPattern(this, 'p2a_output_count'),
8428
+ unknown: createAverageBlockCumulativeSumPattern(this, 'unknown_outputs_output_count'),
8429
+ empty: createAverageBlockCumulativeSumPattern(this, 'empty_outputs_output_count'),
8430
+ opReturn: createAverageBlockCumulativeSumPattern(this, 'op_return_output_count'),
8431
+ },
8432
+ spendableOutputCount: createAverageBlockCumulativeSumPattern(this, 'spendable_output_count'),
8433
+ outputShare: {
8434
+ p2pk65: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2pk65_output_share'),
8435
+ p2pk33: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2pk33_output_share'),
8436
+ p2pkh: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2pkh_output_share'),
8437
+ p2ms: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2ms_output_share'),
8438
+ p2sh: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2sh_output_share'),
8439
+ p2wpkh: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2wpkh_output_share'),
8440
+ p2wsh: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2wsh_output_share'),
8441
+ p2tr: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2tr_output_share'),
8442
+ p2a: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2a_output_share'),
8443
+ unknown: create_1m1w1y24hBpsPercentRatioPattern(this, 'unknown_outputs_output_share'),
8444
+ empty: create_1m1w1y24hBpsPercentRatioPattern(this, 'empty_outputs_output_share'),
8445
+ opReturn: create_1m1w1y24hBpsPercentRatioPattern(this, 'op_return_output_share'),
8446
+ },
8447
+ txCount: createAllEmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern(this, 'tx_count'),
8448
+ txShare: createEmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2(this, 'tx_share_with'),
8449
+ },
8450
+ value: {
8451
+ opReturn: createBlockCumulativePattern(this, 'op_return_value'),
7993
8452
  },
7994
8453
  },
7995
8454
  addrs: {
@@ -8043,30 +8502,69 @@ class BrkClient extends BrkClientBase {
8043
8502
  funded: createSeriesPattern34(this, 'funded_addr_data'),
8044
8503
  empty: createSeriesPattern35(this, 'empty_addr_data'),
8045
8504
  },
8046
- funded: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3(this, 'addr_count'),
8047
- empty: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3(this, 'empty_addr_count'),
8505
+ funded: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4(this, 'addr_count'),
8506
+ empty: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4(this, 'empty_addr_count'),
8048
8507
  activity: {
8049
- all: createBothReactivatedReceivingSendingPattern(this, 'addr_activity'),
8050
- p2pk65: createBothReactivatedReceivingSendingPattern(this, 'p2pk65_addr_activity'),
8051
- p2pk33: createBothReactivatedReceivingSendingPattern(this, 'p2pk33_addr_activity'),
8052
- p2pkh: createBothReactivatedReceivingSendingPattern(this, 'p2pkh_addr_activity'),
8053
- p2sh: createBothReactivatedReceivingSendingPattern(this, 'p2sh_addr_activity'),
8054
- p2wpkh: createBothReactivatedReceivingSendingPattern(this, 'p2wpkh_addr_activity'),
8055
- p2wsh: createBothReactivatedReceivingSendingPattern(this, 'p2wsh_addr_activity'),
8056
- p2tr: createBothReactivatedReceivingSendingPattern(this, 'p2tr_addr_activity'),
8057
- p2a: createBothReactivatedReceivingSendingPattern(this, 'p2a_addr_activity'),
8508
+ all: {
8509
+ reactivated: create_1m1w1y24hBlockPattern(this, 'reactivated_addrs'),
8510
+ sending: create_1m1w1y24hBlockPattern(this, 'sending_addrs'),
8511
+ receiving: create_1m1w1y24hBlockPattern(this, 'receiving_addrs'),
8512
+ bidirectional: create_1m1w1y24hBlockPattern(this, 'bidirectional_addrs'),
8513
+ active: create_1m1w1y24hBlockPattern(this, 'active_addrs'),
8514
+ },
8515
+ p2pk65: createActiveBidirectionalReactivatedReceivingSendingPattern(this, 'p2pk65'),
8516
+ p2pk33: createActiveBidirectionalReactivatedReceivingSendingPattern(this, 'p2pk33'),
8517
+ p2pkh: createActiveBidirectionalReactivatedReceivingSendingPattern(this, 'p2pkh'),
8518
+ p2sh: createActiveBidirectionalReactivatedReceivingSendingPattern(this, 'p2sh'),
8519
+ p2wpkh: createActiveBidirectionalReactivatedReceivingSendingPattern(this, 'p2wpkh'),
8520
+ p2wsh: createActiveBidirectionalReactivatedReceivingSendingPattern(this, 'p2wsh'),
8521
+ p2tr: createActiveBidirectionalReactivatedReceivingSendingPattern(this, 'p2tr'),
8522
+ p2a: createActiveBidirectionalReactivatedReceivingSendingPattern(this, 'p2a'),
8058
8523
  },
8059
- total: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3(this, 'total_addr_count'),
8060
- new: {
8061
- all: createAverageBlockCumulativeSumPattern(this, 'new_addr_count'),
8062
- p2pk65: createAverageBlockCumulativeSumPattern(this, 'p2pk65_new_addr_count'),
8063
- p2pk33: createAverageBlockCumulativeSumPattern(this, 'p2pk33_new_addr_count'),
8064
- p2pkh: createAverageBlockCumulativeSumPattern(this, 'p2pkh_new_addr_count'),
8065
- p2sh: createAverageBlockCumulativeSumPattern(this, 'p2sh_new_addr_count'),
8066
- p2wpkh: createAverageBlockCumulativeSumPattern(this, 'p2wpkh_new_addr_count'),
8067
- p2wsh: createAverageBlockCumulativeSumPattern(this, 'p2wsh_new_addr_count'),
8068
- p2tr: createAverageBlockCumulativeSumPattern(this, 'p2tr_new_addr_count'),
8069
- p2a: createAverageBlockCumulativeSumPattern(this, 'p2a_new_addr_count'),
8524
+ total: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern4(this, 'total_addr_count'),
8525
+ new: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6(this, 'new_addr_count'),
8526
+ reused: {
8527
+ count: createFundedTotalPattern(this, 'reused_addr_count'),
8528
+ events: {
8529
+ outputToReusedAddrCount: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6(this, 'output_to_reused_addr_count'),
8530
+ outputToReusedAddrShare: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7(this, 'output_to_reused_addr_share'),
8531
+ spendableOutputToReusedAddrShare: create_1m1w1y24hBpsPercentRatioPattern(this, 'spendable_output_to_reused_addr_share'),
8532
+ inputFromReusedAddrCount: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6(this, 'input_from_reused_addr_count'),
8533
+ inputFromReusedAddrShare: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern7(this, 'input_from_reused_addr_share'),
8534
+ activeReusedAddrCount: create_1m1w1y24hBlockPattern(this, 'active_reused_addr_count'),
8535
+ activeReusedAddrShare: {
8536
+ block: createSeriesPattern18(this, 'active_reused_addr_share'),
8537
+ _24h: createSeriesPattern1(this, 'active_reused_addr_share_average_24h'),
8538
+ _1w: createSeriesPattern1(this, 'active_reused_addr_share_average_1w'),
8539
+ _1m: createSeriesPattern1(this, 'active_reused_addr_share_average_1m'),
8540
+ _1y: createSeriesPattern1(this, 'active_reused_addr_share_average_1y'),
8541
+ },
8542
+ },
8543
+ },
8544
+ exposed: {
8545
+ count: createFundedTotalPattern(this, 'exposed_addr_count'),
8546
+ supply: {
8547
+ all: createBtcCentsSatsUsdPattern(this, 'exposed_supply'),
8548
+ p2pk65: createBtcCentsSatsUsdPattern(this, 'p2pk65_exposed_supply'),
8549
+ p2pk33: createBtcCentsSatsUsdPattern(this, 'p2pk33_exposed_supply'),
8550
+ p2pkh: createBtcCentsSatsUsdPattern(this, 'p2pkh_exposed_supply'),
8551
+ p2sh: createBtcCentsSatsUsdPattern(this, 'p2sh_exposed_supply'),
8552
+ p2wpkh: createBtcCentsSatsUsdPattern(this, 'p2wpkh_exposed_supply'),
8553
+ p2wsh: createBtcCentsSatsUsdPattern(this, 'p2wsh_exposed_supply'),
8554
+ p2tr: createBtcCentsSatsUsdPattern(this, 'p2tr_exposed_supply'),
8555
+ p2a: createBtcCentsSatsUsdPattern(this, 'p2a_exposed_supply'),
8556
+ share: {
8557
+ all: createBpsPercentRatioPattern2(this, 'exposed_supply_share'),
8558
+ p2pk65: createBpsPercentRatioPattern2(this, 'p2pk65_exposed_supply_share'),
8559
+ p2pk33: createBpsPercentRatioPattern2(this, 'p2pk33_exposed_supply_share'),
8560
+ p2pkh: createBpsPercentRatioPattern2(this, 'p2pkh_exposed_supply_share'),
8561
+ p2sh: createBpsPercentRatioPattern2(this, 'p2sh_exposed_supply_share'),
8562
+ p2wpkh: createBpsPercentRatioPattern2(this, 'p2wpkh_exposed_supply_share'),
8563
+ p2wsh: createBpsPercentRatioPattern2(this, 'p2wsh_exposed_supply_share'),
8564
+ p2tr: createBpsPercentRatioPattern2(this, 'p2tr_exposed_supply_share'),
8565
+ p2a: createBpsPercentRatioPattern2(this, 'p2a_exposed_supply_share'),
8566
+ },
8567
+ },
8070
8568
  },
8071
8569
  delta: {
8072
8570
  all: createAbsoluteRatePattern(this, 'addr_count'),
@@ -8079,6 +8577,17 @@ class BrkClient extends BrkClientBase {
8079
8577
  p2tr: createAbsoluteRatePattern(this, 'p2tr_addr_count'),
8080
8578
  p2a: createAbsoluteRatePattern(this, 'p2a_addr_count'),
8081
8579
  },
8580
+ avgAmount: {
8581
+ all: createAddrUtxoPattern(this, 'avg'),
8582
+ p2pk65: createAddrUtxoPattern(this, 'p2pk65_avg'),
8583
+ p2pk33: createAddrUtxoPattern(this, 'p2pk33_avg'),
8584
+ p2pkh: createAddrUtxoPattern(this, 'p2pkh_avg'),
8585
+ p2sh: createAddrUtxoPattern(this, 'p2sh_avg'),
8586
+ p2wpkh: createAddrUtxoPattern(this, 'p2wpkh_avg'),
8587
+ p2wsh: createAddrUtxoPattern(this, 'p2wsh_avg'),
8588
+ p2tr: createAddrUtxoPattern(this, 'p2tr_avg'),
8589
+ p2a: createAddrUtxoPattern(this, 'p2a_avg'),
8590
+ },
8082
8591
  },
8083
8592
  scripts: {
8084
8593
  raw: {
@@ -8099,37 +8608,20 @@ class BrkClient extends BrkClientBase {
8099
8608
  toTxIndex: createSeriesPattern33(this, 'tx_index'),
8100
8609
  },
8101
8610
  },
8102
- count: {
8103
- p2a: createAverageBlockCumulativeSumPattern(this, 'p2a_count'),
8104
- p2ms: createAverageBlockCumulativeSumPattern(this, 'p2ms_count'),
8105
- p2pk33: createAverageBlockCumulativeSumPattern(this, 'p2pk33_count'),
8106
- p2pk65: createAverageBlockCumulativeSumPattern(this, 'p2pk65_count'),
8107
- p2pkh: createAverageBlockCumulativeSumPattern(this, 'p2pkh_count'),
8108
- p2sh: createAverageBlockCumulativeSumPattern(this, 'p2sh_count'),
8109
- p2tr: createAverageBlockCumulativeSumPattern(this, 'p2tr_count'),
8110
- p2wpkh: createAverageBlockCumulativeSumPattern(this, 'p2wpkh_count'),
8111
- p2wsh: createAverageBlockCumulativeSumPattern(this, 'p2wsh_count'),
8112
- opReturn: createAverageBlockCumulativeSumPattern(this, 'op_return_count'),
8113
- emptyOutput: createAverageBlockCumulativeSumPattern(this, 'empty_output_count'),
8114
- unknownOutput: createAverageBlockCumulativeSumPattern(this, 'unknown_output_count'),
8115
- },
8116
- value: {
8117
- opReturn: createBlockCumulativePattern(this, 'op_return_value'),
8118
- },
8119
8611
  },
8120
8612
  mining: {
8121
8613
  rewards: {
8122
8614
  coinbase: createAverageBlockCumulativeSumPattern3(this, 'coinbase'),
8123
8615
  subsidy: {
8124
- block: createBtcCentsSatsUsdPattern2(this, 'subsidy'),
8125
- cumulative: createBtcCentsSatsUsdPattern3(this, 'subsidy_cumulative'),
8616
+ block: createBtcCentsSatsUsdPattern3(this, 'subsidy'),
8617
+ cumulative: createBtcCentsSatsUsdPattern(this, 'subsidy_cumulative'),
8126
8618
  sum: create_1m1w1y24hPattern4(this, 'subsidy_sum'),
8127
8619
  average: create_1m1w1y24hPattern3(this, 'subsidy_average'),
8128
8620
  dominance: create_1m1w1y24hBpsPercentRatioPattern(this, 'subsidy_dominance'),
8129
8621
  },
8130
8622
  fees: {
8131
- block: createBtcCentsSatsUsdPattern2(this, 'fees'),
8132
- cumulative: createBtcCentsSatsUsdPattern3(this, 'fees_cumulative'),
8623
+ block: createBtcCentsSatsUsdPattern3(this, 'fees'),
8624
+ cumulative: createBtcCentsSatsUsdPattern(this, 'fees_cumulative'),
8133
8625
  sum: create_1m1w1y24hPattern4(this, 'fees_sum'),
8134
8626
  average: create_1m1w1y24hPattern3(this, 'fees_average'),
8135
8627
  min: create_1m1w1y24hPattern4(this, 'fees_min'),
@@ -8176,8 +8668,8 @@ class BrkClient extends BrkClientBase {
8176
8668
  coinblocksDestroyed: createAverageBlockCumulativeSumPattern(this, 'coinblocks_destroyed'),
8177
8669
  },
8178
8670
  supply: {
8179
- vaulted: createBtcCentsSatsUsdPattern3(this, 'vaulted_supply'),
8180
- active: createBtcCentsSatsUsdPattern3(this, 'active_supply'),
8671
+ vaulted: createBtcCentsSatsUsdPattern(this, 'vaulted_supply'),
8672
+ active: createBtcCentsSatsUsdPattern(this, 'active_supply'),
8181
8673
  },
8182
8674
  value: {
8183
8675
  destroyed: createAverageBlockCumulativeSumPattern(this, 'cointime_value_destroyed'),
@@ -8278,7 +8770,6 @@ class BrkClient extends BrkClientBase {
8278
8770
  },
8279
8771
  },
8280
8772
  height: {
8281
- identity: createSeriesPattern18(this, 'height'),
8282
8773
  minute10: createSeriesPattern18(this, 'minute10'),
8283
8774
  minute30: createSeriesPattern18(this, 'minute30'),
8284
8775
  hour1: createSeriesPattern18(this, 'hour1'),
@@ -8297,71 +8788,55 @@ class BrkClient extends BrkClientBase {
8297
8788
  txIndexCount: createSeriesPattern18(this, 'tx_index_count'),
8298
8789
  },
8299
8790
  epoch: {
8300
- identity: createSeriesPattern17(this, 'epoch'),
8301
8791
  firstHeight: createSeriesPattern17(this, 'first_height'),
8302
- heightCount: createSeriesPattern17(this, 'height_count'),
8303
8792
  },
8304
8793
  halving: {
8305
- identity: createSeriesPattern16(this, 'halving'),
8306
8794
  firstHeight: createSeriesPattern16(this, 'first_height'),
8307
8795
  },
8308
8796
  minute10: {
8309
- identity: createSeriesPattern3(this, 'minute10_index'),
8310
8797
  firstHeight: createSeriesPattern3(this, 'first_height'),
8311
8798
  },
8312
8799
  minute30: {
8313
- identity: createSeriesPattern4(this, 'minute30_index'),
8314
8800
  firstHeight: createSeriesPattern4(this, 'first_height'),
8315
8801
  },
8316
8802
  hour1: {
8317
- identity: createSeriesPattern5(this, 'hour1_index'),
8318
8803
  firstHeight: createSeriesPattern5(this, 'first_height'),
8319
8804
  },
8320
8805
  hour4: {
8321
- identity: createSeriesPattern6(this, 'hour4_index'),
8322
8806
  firstHeight: createSeriesPattern6(this, 'first_height'),
8323
8807
  },
8324
8808
  hour12: {
8325
- identity: createSeriesPattern7(this, 'hour12_index'),
8326
8809
  firstHeight: createSeriesPattern7(this, 'first_height'),
8327
8810
  },
8328
8811
  day1: {
8329
- identity: createSeriesPattern8(this, 'day1_index'),
8330
8812
  date: createSeriesPattern8(this, 'date'),
8331
8813
  firstHeight: createSeriesPattern8(this, 'first_height'),
8332
- heightCount: createSeriesPattern8(this, 'height_count'),
8333
8814
  },
8334
8815
  day3: {
8335
- identity: createSeriesPattern9(this, 'day3_index'),
8816
+ date: createSeriesPattern9(this, 'date'),
8336
8817
  firstHeight: createSeriesPattern9(this, 'first_height'),
8337
8818
  },
8338
8819
  week1: {
8339
- identity: createSeriesPattern10(this, 'week1_index'),
8340
8820
  date: createSeriesPattern10(this, 'date'),
8341
8821
  firstHeight: createSeriesPattern10(this, 'first_height'),
8342
8822
  },
8343
8823
  month1: {
8344
- identity: createSeriesPattern11(this, 'month1_index'),
8345
8824
  date: createSeriesPattern11(this, 'date'),
8346
8825
  firstHeight: createSeriesPattern11(this, 'first_height'),
8347
8826
  },
8348
8827
  month3: {
8349
- identity: createSeriesPattern12(this, 'month3_index'),
8350
8828
  date: createSeriesPattern12(this, 'date'),
8351
8829
  firstHeight: createSeriesPattern12(this, 'first_height'),
8352
8830
  },
8353
8831
  month6: {
8354
- identity: createSeriesPattern13(this, 'month6_index'),
8355
8832
  date: createSeriesPattern13(this, 'date'),
8356
8833
  firstHeight: createSeriesPattern13(this, 'first_height'),
8357
8834
  },
8358
8835
  year1: {
8359
- identity: createSeriesPattern14(this, 'year1_index'),
8360
8836
  date: createSeriesPattern14(this, 'date'),
8361
8837
  firstHeight: createSeriesPattern14(this, 'first_height'),
8362
8838
  },
8363
8839
  year10: {
8364
- identity: createSeriesPattern15(this, 'year10_index'),
8365
8840
  date: createSeriesPattern15(this, 'date'),
8366
8841
  firstHeight: createSeriesPattern15(this, 'first_height'),
8367
8842
  },
@@ -8384,28 +8859,21 @@ class BrkClient extends BrkClientBase {
8384
8859
  indicators: {
8385
8860
  puellMultiple: createBpsRatioPattern2(this, 'puell_multiple'),
8386
8861
  nvt: createBpsRatioPattern2(this, 'nvt'),
8387
- gini: createBpsPercentRatioPattern3(this, 'gini'),
8862
+ gini: createBpsPercentRatioPattern2(this, 'gini'),
8388
8863
  rhodlRatio: createBpsRatioPattern2(this, 'rhodl_ratio'),
8389
8864
  thermoCapMultiple: createBpsRatioPattern2(this, 'thermo_cap_multiple'),
8390
- coindaysDestroyedSupplyAdjusted: createSeriesPattern1(this, 'coindays_destroyed_supply_adjusted'),
8391
- coinyearsDestroyedSupplyAdjusted: createSeriesPattern1(this, 'coinyears_destroyed_supply_adjusted'),
8865
+ coindaysDestroyedSupplyAdj: createSeriesPattern1(this, 'coindays_destroyed_supply_adj'),
8866
+ coinyearsDestroyedSupplyAdj: createSeriesPattern1(this, 'coinyears_destroyed_supply_adj'),
8392
8867
  dormancy: {
8393
- supplyAdjusted: createSeriesPattern1(this, 'dormancy_supply_adjusted'),
8868
+ supplyAdj: createSeriesPattern1(this, 'dormancy_supply_adj'),
8394
8869
  flow: createSeriesPattern1(this, 'dormancy_flow'),
8395
8870
  },
8396
8871
  stockToFlow: createSeriesPattern1(this, 'stock_to_flow'),
8397
8872
  sellerExhaustion: createSeriesPattern1(this, 'seller_exhaustion'),
8398
- realizedEnvelope: {
8399
- pct05: createCentsSatsUsdPattern(this, 'realized_envelope_pct0_5'),
8400
- pct1: createCentsSatsUsdPattern(this, 'realized_envelope_pct01'),
8401
- pct2: createCentsSatsUsdPattern(this, 'realized_envelope_pct02'),
8402
- pct5: createCentsSatsUsdPattern(this, 'realized_envelope_pct05'),
8403
- pct95: createCentsSatsUsdPattern(this, 'realized_envelope_pct95'),
8404
- pct98: createCentsSatsUsdPattern(this, 'realized_envelope_pct98'),
8405
- pct99: createCentsSatsUsdPattern(this, 'realized_envelope_pct99'),
8406
- pct995: createCentsSatsUsdPattern(this, 'realized_envelope_pct99_5'),
8407
- index: createSeriesPattern1(this, 'realized_envelope_index'),
8408
- score: createSeriesPattern1(this, 'realized_envelope_score'),
8873
+ rarityMeter: {
8874
+ full: createIndexPct0Pct1Pct2Pct5Pct95Pct98Pct99ScorePattern(this, 'rarity_meter'),
8875
+ local: createIndexPct0Pct1Pct2Pct5Pct95Pct98Pct99ScorePattern(this, 'local_rarity_meter'),
8876
+ cycle: createIndexPct0Pct1Pct2Pct5Pct95Pct98Pct99ScorePattern(this, 'cycle_rarity_meter'),
8409
8877
  },
8410
8878
  },
8411
8879
  investing: {
@@ -8433,18 +8901,18 @@ class BrkClient extends BrkClientBase {
8433
8901
  },
8434
8902
  class: {
8435
8903
  dcaStack: {
8436
- from2015: createBtcCentsSatsUsdPattern3(this, 'dca_stack_from_2015'),
8437
- from2016: createBtcCentsSatsUsdPattern3(this, 'dca_stack_from_2016'),
8438
- from2017: createBtcCentsSatsUsdPattern3(this, 'dca_stack_from_2017'),
8439
- from2018: createBtcCentsSatsUsdPattern3(this, 'dca_stack_from_2018'),
8440
- from2019: createBtcCentsSatsUsdPattern3(this, 'dca_stack_from_2019'),
8441
- from2020: createBtcCentsSatsUsdPattern3(this, 'dca_stack_from_2020'),
8442
- from2021: createBtcCentsSatsUsdPattern3(this, 'dca_stack_from_2021'),
8443
- from2022: createBtcCentsSatsUsdPattern3(this, 'dca_stack_from_2022'),
8444
- from2023: createBtcCentsSatsUsdPattern3(this, 'dca_stack_from_2023'),
8445
- from2024: createBtcCentsSatsUsdPattern3(this, 'dca_stack_from_2024'),
8446
- from2025: createBtcCentsSatsUsdPattern3(this, 'dca_stack_from_2025'),
8447
- from2026: createBtcCentsSatsUsdPattern3(this, 'dca_stack_from_2026'),
8904
+ from2015: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2015'),
8905
+ from2016: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2016'),
8906
+ from2017: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2017'),
8907
+ from2018: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2018'),
8908
+ from2019: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2019'),
8909
+ from2020: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2020'),
8910
+ from2021: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2021'),
8911
+ from2022: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2022'),
8912
+ from2023: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2023'),
8913
+ from2024: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2024'),
8914
+ from2025: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2025'),
8915
+ from2026: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2026'),
8448
8916
  },
8449
8917
  dcaCostBasis: {
8450
8918
  from2015: createCentsSatsUsdPattern(this, 'dca_cost_basis_from_2015'),
@@ -8542,7 +9010,7 @@ class BrkClient extends BrkClientBase {
8542
9010
  max: create_1m1w1y2wPattern(this, 'price_max'),
8543
9011
  trueRange: createSeriesPattern1(this, 'price_true_range'),
8544
9012
  trueRangeSum2w: createSeriesPattern1(this, 'price_true_range_sum_2w'),
8545
- choppinessIndex2w: createBpsPercentRatioPattern3(this, 'price_choppiness_index_2w'),
9013
+ choppinessIndex2w: createBpsPercentRatioPattern2(this, 'price_choppiness_index_2w'),
8546
9014
  },
8547
9015
  movingAverage: {
8548
9016
  sma: {
@@ -8820,7 +9288,7 @@ class BrkClient extends BrkClientBase {
8820
9288
  },
8821
9289
  supply: {
8822
9290
  state: createSeriesPattern18(this, 'supply_state'),
8823
- circulating: createBtcCentsSatsUsdPattern3(this, 'circulating_supply'),
9291
+ circulating: createBtcCentsSatsUsdPattern(this, 'circulating_supply'),
8824
9292
  burned: createBlockCumulativePattern(this, 'unspendable_supply'),
8825
9293
  inflationRate: createBpsPercentRatioPattern(this, 'inflation_rate'),
8826
9294
  velocity: {
@@ -8829,18 +9297,12 @@ class BrkClient extends BrkClientBase {
8829
9297
  },
8830
9298
  marketCap: createCentsDeltaUsdPattern(this, 'market_cap'),
8831
9299
  marketMinusRealizedCapGrowthRate: create_1m1w1y24hPattern(this, 'market_minus_realized_cap_growth_rate'),
8832
- hodledOrLost: createBtcCentsSatsUsdPattern3(this, 'hodled_or_lost_supply'),
9300
+ hodledOrLost: createBtcCentsSatsUsdPattern(this, 'hodled_or_lost_supply'),
8833
9301
  },
8834
9302
  cohorts: {
8835
9303
  utxo: {
8836
9304
  all: {
8837
- supply: {
8838
- total: createBtcCentsSatsUsdPattern3(this, 'supply'),
8839
- delta: createAbsoluteRatePattern(this, 'supply_delta'),
8840
- half: createBtcCentsSatsUsdPattern3(this, 'supply_half'),
8841
- inProfit: createBtcCentsSatsToUsdPattern2(this, 'supply_in_profit'),
8842
- inLoss: createBtcCentsSatsToUsdPattern2(this, 'supply_in_loss'),
8843
- },
9305
+ supply: createDeltaDominanceHalfInTotalPattern2(this, 'supply'),
8844
9306
  outputs: {
8845
9307
  unspentCount: createBaseDeltaPattern(this, 'utxo_count'),
8846
9308
  spentCount: createAverageBlockCumulativeSumPattern2(this, 'spent_utxo_count'),
@@ -8949,7 +9411,7 @@ class BrkClient extends BrkClientBase {
8949
9411
  grossPnl: createBlockCumulativeSumPattern(this, 'realized_gross_pnl'),
8950
9412
  sellSideRiskRatio: create_1m1w1y24hPattern7(this, 'sell_side_risk_ratio'),
8951
9413
  peakRegret: createBlockCumulativeSumPattern(this, 'realized_peak_regret'),
8952
- investor: createPricePattern(this, 'investor_price'),
9414
+ capitalized: createPricePattern(this, 'capitalized_price'),
8953
9415
  profitToLossRatio: create_1m1w1y24hPattern(this, 'realized_profit_to_loss_ratio'),
8954
9416
  },
8955
9417
  costBasis: {
@@ -8959,22 +9421,22 @@ class BrkClient extends BrkClientBase {
8959
9421
  max: createCentsSatsUsdPattern(this, 'cost_basis_max'),
8960
9422
  perCoin: createPct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern(this, 'cost_basis_per_coin'),
8961
9423
  perDollar: createPct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern(this, 'cost_basis_per_dollar'),
8962
- supplyDensity: createBpsPercentRatioPattern3(this, 'supply_density'),
9424
+ supplyDensity: createBpsPercentRatioPattern2(this, 'supply_density'),
8963
9425
  },
8964
9426
  unrealized: {
8965
9427
  nupl: createBpsRatioPattern(this, 'nupl'),
8966
9428
  profit: {
8967
9429
  usd: createSeriesPattern1(this, 'unrealized_profit'),
8968
9430
  cents: createSeriesPattern1(this, 'unrealized_profit_cents'),
8969
- toMcap: createBpsPercentRatioPattern3(this, 'unrealized_profit_to_mcap'),
8970
- toOwnGrossPnl: createBpsPercentRatioPattern3(this, 'unrealized_profit_to_own_gross_pnl'),
9431
+ toMcap: createBpsPercentRatioPattern2(this, 'unrealized_profit_to_mcap'),
9432
+ toOwnGrossPnl: createBpsPercentRatioPattern2(this, 'unrealized_profit_to_own_gross_pnl'),
8971
9433
  },
8972
9434
  loss: {
8973
9435
  usd: createSeriesPattern1(this, 'unrealized_loss'),
8974
9436
  cents: createSeriesPattern1(this, 'unrealized_loss_cents'),
8975
9437
  negative: createSeriesPattern1(this, 'unrealized_loss_neg'),
8976
- toMcap: createBpsPercentRatioPattern3(this, 'unrealized_loss_to_mcap'),
8977
- toOwnGrossPnl: createBpsPercentRatioPattern3(this, 'unrealized_loss_to_own_gross_pnl'),
9438
+ toMcap: createBpsPercentRatioPattern2(this, 'unrealized_loss_to_mcap'),
9439
+ toOwnGrossPnl: createBpsPercentRatioPattern2(this, 'unrealized_loss_to_own_gross_pnl'),
8978
9440
  },
8979
9441
  netPnl: {
8980
9442
  usd: createSeriesPattern1(this, 'net_unrealized_pnl'),
@@ -8982,18 +9444,19 @@ class BrkClient extends BrkClientBase {
8982
9444
  toOwnGrossPnl: createBpsPercentRatioPattern(this, 'net_unrealized_pnl_to_own_gross_pnl'),
8983
9445
  },
8984
9446
  grossPnl: createCentsUsdPattern3(this, 'unrealized_gross_pnl'),
8985
- investedCapital: createInPattern(this, 'invested_capital_in'),
8986
- investorCapInProfitRaw: createSeriesPattern18(this, 'investor_cap_in_profit_raw'),
8987
- investorCapInLossRaw: createSeriesPattern18(this, 'investor_cap_in_loss_raw'),
9447
+ investedCapital: createInPattern2(this, 'invested_capital_in'),
9448
+ capitalizedCapInProfitRaw: createSeriesPattern18(this, 'capitalized_cap_in_profit_raw'),
9449
+ capitalizedCapInLossRaw: createSeriesPattern18(this, 'capitalized_cap_in_loss_raw'),
8988
9450
  sentiment: {
8989
9451
  painIndex: createCentsUsdPattern3(this, 'pain_index'),
8990
9452
  greedIndex: createCentsUsdPattern3(this, 'greed_index'),
8991
9453
  net: createCentsUsdPattern(this, 'net_sentiment'),
8992
9454
  },
8993
9455
  },
9456
+ investedCapital: createInPattern(this, 'invested_capital_in'),
8994
9457
  },
8995
9458
  sth: {
8996
- supply: createDeltaHalfInToTotalPattern2(this, 'sth_supply'),
9459
+ supply: createDeltaDominanceHalfInTotalPattern2(this, 'sth_supply'),
8997
9460
  outputs: createSpendingSpentUnspentPattern(this, 'sth'),
8998
9461
  activity: createCoindaysCoinyearsDormancyTransferPattern(this, 'sth'),
8999
9462
  realized: {
@@ -9085,14 +9548,15 @@ class BrkClient extends BrkClientBase {
9085
9548
  grossPnl: createBlockCumulativeSumPattern(this, 'sth_realized_gross_pnl'),
9086
9549
  sellSideRiskRatio: create_1m1w1y24hPattern7(this, 'sth_sell_side_risk_ratio'),
9087
9550
  peakRegret: createBlockCumulativeSumPattern(this, 'sth_realized_peak_regret'),
9088
- investor: createPricePattern(this, 'sth_investor_price'),
9551
+ capitalized: createPricePattern(this, 'sth_capitalized_price'),
9089
9552
  profitToLossRatio: create_1m1w1y24hPattern(this, 'sth_realized_profit_to_loss_ratio'),
9090
9553
  },
9091
9554
  costBasis: createInMaxMinPerSupplyPattern(this, 'sth'),
9092
- unrealized: createGrossInvestedInvestorLossNetNuplProfitSentimentPattern2(this, 'sth'),
9555
+ unrealized: createCapitalizedGrossInvestedLossNetNuplProfitSentimentPattern2(this, 'sth'),
9556
+ investedCapital: createInPattern(this, 'sth_invested_capital_in'),
9093
9557
  },
9094
9558
  lth: {
9095
- supply: createDeltaHalfInToTotalPattern2(this, 'lth_supply'),
9559
+ supply: createDeltaDominanceHalfInTotalPattern2(this, 'lth_supply'),
9096
9560
  outputs: createSpendingSpentUnspentPattern(this, 'lth'),
9097
9561
  activity: createCoindaysCoinyearsDormancyTransferPattern(this, 'lth'),
9098
9562
  realized: {
@@ -9187,11 +9651,12 @@ class BrkClient extends BrkClientBase {
9187
9651
  grossPnl: createBlockCumulativeSumPattern(this, 'lth_realized_gross_pnl'),
9188
9652
  sellSideRiskRatio: create_1m1w1y24hPattern7(this, 'lth_sell_side_risk_ratio'),
9189
9653
  peakRegret: createBlockCumulativeSumPattern(this, 'lth_realized_peak_regret'),
9190
- investor: createPricePattern(this, 'lth_investor_price'),
9654
+ capitalized: createPricePattern(this, 'lth_capitalized_price'),
9191
9655
  profitToLossRatio: create_1m1w1y24hPattern(this, 'lth_realized_profit_to_loss_ratio'),
9192
9656
  },
9193
9657
  costBasis: createInMaxMinPerSupplyPattern(this, 'lth'),
9194
- unrealized: createGrossInvestedInvestorLossNetNuplProfitSentimentPattern2(this, 'lth'),
9658
+ unrealized: createCapitalizedGrossInvestedLossNetNuplProfitSentimentPattern2(this, 'lth'),
9659
+ investedCapital: createInPattern(this, 'lth_invested_capital_in'),
9195
9660
  },
9196
9661
  ageRange: {
9197
9662
  under1h: createActivityOutputsRealizedSupplyUnrealizedPattern(this, 'utxos_under_1h_old'),
@@ -9500,7 +9965,8 @@ class BrkClient extends BrkClientBase {
9500
9965
  * @returns {Promise<*>}
9501
9966
  */
9502
9967
  async getApi({ signal, onUpdate } = {}) {
9503
- return this.getJson(`/api.json`, { signal, onUpdate });
9968
+ const path = `/api.json`;
9969
+ return this.getText(path, { signal, onUpdate });
9504
9970
  }
9505
9971
 
9506
9972
  /**
@@ -9517,7 +9983,8 @@ class BrkClient extends BrkClientBase {
9517
9983
  * @returns {Promise<AddrStats>}
9518
9984
  */
9519
9985
  async getAddress(address, { signal, onUpdate } = {}) {
9520
- return this.getJson(`/api/address/${address}`, { signal, onUpdate });
9986
+ const path = `/api/address/${address}`;
9987
+ return this.getJson(path, { signal, onUpdate });
9521
9988
  }
9522
9989
 
9523
9990
  /**
@@ -9578,7 +10045,8 @@ class BrkClient extends BrkClientBase {
9578
10045
  * @returns {Promise<Txid[]>}
9579
10046
  */
9580
10047
  async getAddressMempoolTxs(address, { signal, onUpdate } = {}) {
9581
- return this.getJson(`/api/address/${address}/txs/mempool`, { signal, onUpdate });
10048
+ const path = `/api/address/${address}/txs/mempool`;
10049
+ return this.getJson(path, { signal, onUpdate });
9582
10050
  }
9583
10051
 
9584
10052
  /**
@@ -9595,7 +10063,8 @@ class BrkClient extends BrkClientBase {
9595
10063
  * @returns {Promise<Utxo[]>}
9596
10064
  */
9597
10065
  async getAddressUtxos(address, { signal, onUpdate } = {}) {
9598
- return this.getJson(`/api/address/${address}/utxo`, { signal, onUpdate });
10066
+ const path = `/api/address/${address}/utxo`;
10067
+ return this.getJson(path, { signal, onUpdate });
9599
10068
  }
9600
10069
 
9601
10070
  /**
@@ -9612,7 +10081,8 @@ class BrkClient extends BrkClientBase {
9612
10081
  * @returns {Promise<*>}
9613
10082
  */
9614
10083
  async getBlockByHeight(height, { signal, onUpdate } = {}) {
9615
- return this.getJson(`/api/block-height/${height}`, { signal, onUpdate });
10084
+ const path = `/api/block-height/${height}`;
10085
+ return this.getText(path, { signal, onUpdate });
9616
10086
  }
9617
10087
 
9618
10088
  /**
@@ -9629,7 +10099,8 @@ class BrkClient extends BrkClientBase {
9629
10099
  * @returns {Promise<BlockInfo>}
9630
10100
  */
9631
10101
  async getBlock(hash, { signal, onUpdate } = {}) {
9632
- return this.getJson(`/api/block/${hash}`, { signal, onUpdate });
10102
+ const path = `/api/block/${hash}`;
10103
+ return this.getJson(path, { signal, onUpdate });
9633
10104
  }
9634
10105
 
9635
10106
  /**
@@ -9646,7 +10117,8 @@ class BrkClient extends BrkClientBase {
9646
10117
  * @returns {Promise<*>}
9647
10118
  */
9648
10119
  async getBlockHeader(hash, { signal, onUpdate } = {}) {
9649
- return this.getJson(`/api/block/${hash}/header`, { signal, onUpdate });
10120
+ const path = `/api/block/${hash}/header`;
10121
+ return this.getText(path, { signal, onUpdate });
9650
10122
  }
9651
10123
 
9652
10124
  /**
@@ -9663,7 +10135,8 @@ class BrkClient extends BrkClientBase {
9663
10135
  * @returns {Promise<*>}
9664
10136
  */
9665
10137
  async getBlockRaw(hash, { signal, onUpdate } = {}) {
9666
- return this.getJson(`/api/block/${hash}/raw`, { signal, onUpdate });
10138
+ const path = `/api/block/${hash}/raw`;
10139
+ return this.getText(path, { signal, onUpdate });
9667
10140
  }
9668
10141
 
9669
10142
  /**
@@ -9680,7 +10153,8 @@ class BrkClient extends BrkClientBase {
9680
10153
  * @returns {Promise<BlockStatus>}
9681
10154
  */
9682
10155
  async getBlockStatus(hash, { signal, onUpdate } = {}) {
9683
- return this.getJson(`/api/block/${hash}/status`, { signal, onUpdate });
10156
+ const path = `/api/block/${hash}/status`;
10157
+ return this.getJson(path, { signal, onUpdate });
9684
10158
  }
9685
10159
 
9686
10160
  /**
@@ -9698,7 +10172,8 @@ class BrkClient extends BrkClientBase {
9698
10172
  * @returns {Promise<*>}
9699
10173
  */
9700
10174
  async getBlockTxid(hash, index, { signal, onUpdate } = {}) {
9701
- return this.getJson(`/api/block/${hash}/txid/${index}`, { signal, onUpdate });
10175
+ const path = `/api/block/${hash}/txid/${index}`;
10176
+ return this.getText(path, { signal, onUpdate });
9702
10177
  }
9703
10178
 
9704
10179
  /**
@@ -9715,7 +10190,8 @@ class BrkClient extends BrkClientBase {
9715
10190
  * @returns {Promise<Txid[]>}
9716
10191
  */
9717
10192
  async getBlockTxids(hash, { signal, onUpdate } = {}) {
9718
- return this.getJson(`/api/block/${hash}/txids`, { signal, onUpdate });
10193
+ const path = `/api/block/${hash}/txids`;
10194
+ return this.getJson(path, { signal, onUpdate });
9719
10195
  }
9720
10196
 
9721
10197
  /**
@@ -9732,7 +10208,8 @@ class BrkClient extends BrkClientBase {
9732
10208
  * @returns {Promise<Transaction[]>}
9733
10209
  */
9734
10210
  async getBlockTxs(hash, { signal, onUpdate } = {}) {
9735
- return this.getJson(`/api/block/${hash}/txs`, { signal, onUpdate });
10211
+ const path = `/api/block/${hash}/txs`;
10212
+ return this.getJson(path, { signal, onUpdate });
9736
10213
  }
9737
10214
 
9738
10215
  /**
@@ -9750,7 +10227,8 @@ class BrkClient extends BrkClientBase {
9750
10227
  * @returns {Promise<Transaction[]>}
9751
10228
  */
9752
10229
  async getBlockTxsFromIndex(hash, start_index, { signal, onUpdate } = {}) {
9753
- return this.getJson(`/api/block/${hash}/txs/${start_index}`, { signal, onUpdate });
10230
+ const path = `/api/block/${hash}/txs/${start_index}`;
10231
+ return this.getJson(path, { signal, onUpdate });
9754
10232
  }
9755
10233
 
9756
10234
  /**
@@ -9765,7 +10243,8 @@ class BrkClient extends BrkClientBase {
9765
10243
  * @returns {Promise<BlockInfo[]>}
9766
10244
  */
9767
10245
  async getBlocks({ signal, onUpdate } = {}) {
9768
- return this.getJson(`/api/blocks`, { signal, onUpdate });
10246
+ const path = `/api/blocks`;
10247
+ return this.getJson(path, { signal, onUpdate });
9769
10248
  }
9770
10249
 
9771
10250
  /**
@@ -9780,7 +10259,8 @@ class BrkClient extends BrkClientBase {
9780
10259
  * @returns {Promise<*>}
9781
10260
  */
9782
10261
  async getBlockTipHash({ signal, onUpdate } = {}) {
9783
- return this.getJson(`/api/blocks/tip/hash`, { signal, onUpdate });
10262
+ const path = `/api/blocks/tip/hash`;
10263
+ return this.getText(path, { signal, onUpdate });
9784
10264
  }
9785
10265
 
9786
10266
  /**
@@ -9795,7 +10275,8 @@ class BrkClient extends BrkClientBase {
9795
10275
  * @returns {Promise<*>}
9796
10276
  */
9797
10277
  async getBlockTipHeight({ signal, onUpdate } = {}) {
9798
- return this.getJson(`/api/blocks/tip/height`, { signal, onUpdate });
10278
+ const path = `/api/blocks/tip/height`;
10279
+ return this.getText(path, { signal, onUpdate });
9799
10280
  }
9800
10281
 
9801
10282
  /**
@@ -9812,7 +10293,8 @@ class BrkClient extends BrkClientBase {
9812
10293
  * @returns {Promise<BlockInfo[]>}
9813
10294
  */
9814
10295
  async getBlocksFromHeight(height, { signal, onUpdate } = {}) {
9815
- return this.getJson(`/api/blocks/${height}`, { signal, onUpdate });
10296
+ const path = `/api/blocks/${height}`;
10297
+ return this.getJson(path, { signal, onUpdate });
9816
10298
  }
9817
10299
 
9818
10300
  /**
@@ -9827,7 +10309,8 @@ class BrkClient extends BrkClientBase {
9827
10309
  * @returns {Promise<MempoolInfo>}
9828
10310
  */
9829
10311
  async getMempool({ signal, onUpdate } = {}) {
9830
- return this.getJson(`/api/mempool`, { signal, onUpdate });
10312
+ const path = `/api/mempool`;
10313
+ return this.getJson(path, { signal, onUpdate });
9831
10314
  }
9832
10315
 
9833
10316
  /**
@@ -9840,7 +10323,8 @@ class BrkClient extends BrkClientBase {
9840
10323
  * @returns {Promise<Dollars>}
9841
10324
  */
9842
10325
  async getLivePrice({ signal, onUpdate } = {}) {
9843
- return this.getJson(`/api/mempool/price`, { signal, onUpdate });
10326
+ const path = `/api/mempool/price`;
10327
+ return this.getJson(path, { signal, onUpdate });
9844
10328
  }
9845
10329
 
9846
10330
  /**
@@ -9855,7 +10339,8 @@ class BrkClient extends BrkClientBase {
9855
10339
  * @returns {Promise<MempoolRecentTx[]>}
9856
10340
  */
9857
10341
  async getMempoolRecent({ signal, onUpdate } = {}) {
9858
- return this.getJson(`/api/mempool/recent`, { signal, onUpdate });
10342
+ const path = `/api/mempool/recent`;
10343
+ return this.getJson(path, { signal, onUpdate });
9859
10344
  }
9860
10345
 
9861
10346
  /**
@@ -9870,7 +10355,8 @@ class BrkClient extends BrkClientBase {
9870
10355
  * @returns {Promise<Txid[]>}
9871
10356
  */
9872
10357
  async getMempoolTxids({ signal, onUpdate } = {}) {
9873
- return this.getJson(`/api/mempool/txids`, { signal, onUpdate });
10358
+ const path = `/api/mempool/txids`;
10359
+ return this.getJson(path, { signal, onUpdate });
9874
10360
  }
9875
10361
 
9876
10362
  /**
@@ -9883,7 +10369,8 @@ class BrkClient extends BrkClientBase {
9883
10369
  * @returns {Promise<TreeNode>}
9884
10370
  */
9885
10371
  async getSeriesTree({ signal, onUpdate } = {}) {
9886
- return this.getJson(`/api/series`, { signal, onUpdate });
10372
+ const path = `/api/series`;
10373
+ return this.getJson(path, { signal, onUpdate });
9887
10374
  }
9888
10375
 
9889
10376
  /**
@@ -9912,9 +10399,7 @@ class BrkClient extends BrkClientBase {
9912
10399
  if (format !== undefined) params.set('format', String(format));
9913
10400
  const query = params.toString();
9914
10401
  const path = `/api/series/bulk${query ? '?' + query : ''}`;
9915
- if (format === 'csv') {
9916
- return this.getText(path, { signal });
9917
- }
10402
+ if (format === 'csv') return this.getText(path, { signal, onUpdate });
9918
10403
  return this.getJson(path, { signal, onUpdate });
9919
10404
  }
9920
10405
 
@@ -9928,7 +10413,8 @@ class BrkClient extends BrkClientBase {
9928
10413
  * @returns {Promise<string[]>}
9929
10414
  */
9930
10415
  async getCostBasisCohorts({ signal, onUpdate } = {}) {
9931
- return this.getJson(`/api/series/cost-basis`, { signal, onUpdate });
10416
+ const path = `/api/series/cost-basis`;
10417
+ return this.getJson(path, { signal, onUpdate });
9932
10418
  }
9933
10419
 
9934
10420
  /**
@@ -9943,7 +10429,8 @@ class BrkClient extends BrkClientBase {
9943
10429
  * @returns {Promise<Date[]>}
9944
10430
  */
9945
10431
  async getCostBasisDates(cohort, { signal, onUpdate } = {}) {
9946
- return this.getJson(`/api/series/cost-basis/${cohort}/dates`, { signal, onUpdate });
10432
+ const path = `/api/series/cost-basis/${cohort}/dates`;
10433
+ return this.getJson(path, { signal, onUpdate });
9947
10434
  }
9948
10435
 
9949
10436
  /**
@@ -9983,7 +10470,8 @@ class BrkClient extends BrkClientBase {
9983
10470
  * @returns {Promise<SeriesCount[]>}
9984
10471
  */
9985
10472
  async getSeriesCount({ signal, onUpdate } = {}) {
9986
- return this.getJson(`/api/series/count`, { signal, onUpdate });
10473
+ const path = `/api/series/count`;
10474
+ return this.getJson(path, { signal, onUpdate });
9987
10475
  }
9988
10476
 
9989
10477
  /**
@@ -9996,7 +10484,8 @@ class BrkClient extends BrkClientBase {
9996
10484
  * @returns {Promise<IndexInfo[]>}
9997
10485
  */
9998
10486
  async getIndexes({ signal, onUpdate } = {}) {
9999
- return this.getJson(`/api/series/indexes`, { signal, onUpdate });
10487
+ const path = `/api/series/indexes`;
10488
+ return this.getJson(path, { signal, onUpdate });
10000
10489
  }
10001
10490
 
10002
10491
  /**
@@ -10053,7 +10542,8 @@ class BrkClient extends BrkClientBase {
10053
10542
  * @returns {Promise<SeriesInfo>}
10054
10543
  */
10055
10544
  async getSeriesInfo(series, { signal, onUpdate } = {}) {
10056
- return this.getJson(`/api/series/${series}`, { signal, onUpdate });
10545
+ const path = `/api/series/${series}`;
10546
+ return this.getJson(path, { signal, onUpdate });
10057
10547
  }
10058
10548
 
10059
10549
  /**
@@ -10080,9 +10570,7 @@ class BrkClient extends BrkClientBase {
10080
10570
  if (format !== undefined) params.set('format', String(format));
10081
10571
  const query = params.toString();
10082
10572
  const path = `/api/series/${series}/${index}${query ? '?' + query : ''}`;
10083
- if (format === 'csv') {
10084
- return this.getText(path, { signal });
10085
- }
10573
+ if (format === 'csv') return this.getText(path, { signal, onUpdate });
10086
10574
  return this.getJson(path, { signal, onUpdate });
10087
10575
  }
10088
10576
 
@@ -10110,9 +10598,7 @@ class BrkClient extends BrkClientBase {
10110
10598
  if (format !== undefined) params.set('format', String(format));
10111
10599
  const query = params.toString();
10112
10600
  const path = `/api/series/${series}/${index}/data${query ? '?' + query : ''}`;
10113
- if (format === 'csv') {
10114
- return this.getText(path, { signal });
10115
- }
10601
+ if (format === 'csv') return this.getText(path, { signal, onUpdate });
10116
10602
  return this.getJson(path, { signal, onUpdate });
10117
10603
  }
10118
10604
 
@@ -10129,7 +10615,8 @@ class BrkClient extends BrkClientBase {
10129
10615
  * @returns {Promise<*>}
10130
10616
  */
10131
10617
  async getSeriesLatest(series, index, { signal, onUpdate } = {}) {
10132
- return this.getJson(`/api/series/${series}/${index}/latest`, { signal, onUpdate });
10618
+ const path = `/api/series/${series}/${index}/latest`;
10619
+ return this.getText(path, { signal, onUpdate });
10133
10620
  }
10134
10621
 
10135
10622
  /**
@@ -10145,7 +10632,8 @@ class BrkClient extends BrkClientBase {
10145
10632
  * @returns {Promise<number>}
10146
10633
  */
10147
10634
  async getSeriesLen(series, index, { signal, onUpdate } = {}) {
10148
- return this.getJson(`/api/series/${series}/${index}/len`, { signal, onUpdate });
10635
+ const path = `/api/series/${series}/${index}/len`;
10636
+ return this.getJson(path, { signal, onUpdate });
10149
10637
  }
10150
10638
 
10151
10639
  /**
@@ -10161,7 +10649,8 @@ class BrkClient extends BrkClientBase {
10161
10649
  * @returns {Promise<Version>}
10162
10650
  */
10163
10651
  async getSeriesVersion(series, index, { signal, onUpdate } = {}) {
10164
- return this.getJson(`/api/series/${series}/${index}/version`, { signal, onUpdate });
10652
+ const path = `/api/series/${series}/${index}/version`;
10653
+ return this.getJson(path, { signal, onUpdate });
10165
10654
  }
10166
10655
 
10167
10656
  /**
@@ -10174,7 +10663,8 @@ class BrkClient extends BrkClientBase {
10174
10663
  * @returns {Promise<DiskUsage>}
10175
10664
  */
10176
10665
  async getDiskUsage({ signal, onUpdate } = {}) {
10177
- return this.getJson(`/api/server/disk`, { signal, onUpdate });
10666
+ const path = `/api/server/disk`;
10667
+ return this.getJson(path, { signal, onUpdate });
10178
10668
  }
10179
10669
 
10180
10670
  /**
@@ -10187,7 +10677,24 @@ class BrkClient extends BrkClientBase {
10187
10677
  * @returns {Promise<SyncStatus>}
10188
10678
  */
10189
10679
  async getSyncStatus({ signal, onUpdate } = {}) {
10190
- return this.getJson(`/api/server/sync`, { signal, onUpdate });
10680
+ const path = `/api/server/sync`;
10681
+ return this.getJson(path, { signal, onUpdate });
10682
+ }
10683
+
10684
+ /**
10685
+ * Txid by index
10686
+ *
10687
+ * Retrieve the transaction ID (txid) at a given global transaction index. Returns the txid as plain text.
10688
+ *
10689
+ * Endpoint: `GET /api/tx-index/{index}`
10690
+ *
10691
+ * @param {TxIndex} index
10692
+ * @param {{ signal?: AbortSignal, onUpdate?: (value: *) => void }} [options]
10693
+ * @returns {Promise<*>}
10694
+ */
10695
+ async getTxByIndex(index, { signal, onUpdate } = {}) {
10696
+ const path = `/api/tx-index/${index}`;
10697
+ return this.getText(path, { signal, onUpdate });
10191
10698
  }
10192
10699
 
10193
10700
  /**
@@ -10204,7 +10711,8 @@ class BrkClient extends BrkClientBase {
10204
10711
  * @returns {Promise<Transaction>}
10205
10712
  */
10206
10713
  async getTx(txid, { signal, onUpdate } = {}) {
10207
- return this.getJson(`/api/tx/${txid}`, { signal, onUpdate });
10714
+ const path = `/api/tx/${txid}`;
10715
+ return this.getJson(path, { signal, onUpdate });
10208
10716
  }
10209
10717
 
10210
10718
  /**
@@ -10221,7 +10729,8 @@ class BrkClient extends BrkClientBase {
10221
10729
  * @returns {Promise<*>}
10222
10730
  */
10223
10731
  async getTxHex(txid, { signal, onUpdate } = {}) {
10224
- return this.getJson(`/api/tx/${txid}/hex`, { signal, onUpdate });
10732
+ const path = `/api/tx/${txid}/hex`;
10733
+ return this.getText(path, { signal, onUpdate });
10225
10734
  }
10226
10735
 
10227
10736
  /**
@@ -10238,7 +10747,8 @@ class BrkClient extends BrkClientBase {
10238
10747
  * @returns {Promise<MerkleProof>}
10239
10748
  */
10240
10749
  async getTxMerkleProof(txid, { signal, onUpdate } = {}) {
10241
- return this.getJson(`/api/tx/${txid}/merkle-proof`, { signal, onUpdate });
10750
+ const path = `/api/tx/${txid}/merkle-proof`;
10751
+ return this.getJson(path, { signal, onUpdate });
10242
10752
  }
10243
10753
 
10244
10754
  /**
@@ -10255,7 +10765,8 @@ class BrkClient extends BrkClientBase {
10255
10765
  * @returns {Promise<*>}
10256
10766
  */
10257
10767
  async getTxMerkleblockProof(txid, { signal, onUpdate } = {}) {
10258
- return this.getJson(`/api/tx/${txid}/merkleblock-proof`, { signal, onUpdate });
10768
+ const path = `/api/tx/${txid}/merkleblock-proof`;
10769
+ return this.getText(path, { signal, onUpdate });
10259
10770
  }
10260
10771
 
10261
10772
  /**
@@ -10273,7 +10784,8 @@ class BrkClient extends BrkClientBase {
10273
10784
  * @returns {Promise<TxOutspend>}
10274
10785
  */
10275
10786
  async getTxOutspend(txid, vout, { signal, onUpdate } = {}) {
10276
- return this.getJson(`/api/tx/${txid}/outspend/${vout}`, { signal, onUpdate });
10787
+ const path = `/api/tx/${txid}/outspend/${vout}`;
10788
+ return this.getJson(path, { signal, onUpdate });
10277
10789
  }
10278
10790
 
10279
10791
  /**
@@ -10290,7 +10802,8 @@ class BrkClient extends BrkClientBase {
10290
10802
  * @returns {Promise<TxOutspend[]>}
10291
10803
  */
10292
10804
  async getTxOutspends(txid, { signal, onUpdate } = {}) {
10293
- return this.getJson(`/api/tx/${txid}/outspends`, { signal, onUpdate });
10805
+ const path = `/api/tx/${txid}/outspends`;
10806
+ return this.getJson(path, { signal, onUpdate });
10294
10807
  }
10295
10808
 
10296
10809
  /**
@@ -10307,7 +10820,8 @@ class BrkClient extends BrkClientBase {
10307
10820
  * @returns {Promise<*>}
10308
10821
  */
10309
10822
  async getTxRaw(txid, { signal, onUpdate } = {}) {
10310
- return this.getJson(`/api/tx/${txid}/raw`, { signal, onUpdate });
10823
+ const path = `/api/tx/${txid}/raw`;
10824
+ return this.getText(path, { signal, onUpdate });
10311
10825
  }
10312
10826
 
10313
10827
  /**
@@ -10324,7 +10838,8 @@ class BrkClient extends BrkClientBase {
10324
10838
  * @returns {Promise<TxStatus>}
10325
10839
  */
10326
10840
  async getTxStatus(txid, { signal, onUpdate } = {}) {
10327
- return this.getJson(`/api/tx/${txid}/status`, { signal, onUpdate });
10841
+ const path = `/api/tx/${txid}/status`;
10842
+ return this.getJson(path, { signal, onUpdate });
10328
10843
  }
10329
10844
 
10330
10845
  /**
@@ -10341,7 +10856,8 @@ class BrkClient extends BrkClientBase {
10341
10856
  * @returns {Promise<BlockInfoV1>}
10342
10857
  */
10343
10858
  async getBlockV1(hash, { signal, onUpdate } = {}) {
10344
- return this.getJson(`/api/v1/block/${hash}`, { signal, onUpdate });
10859
+ const path = `/api/v1/block/${hash}`;
10860
+ return this.getJson(path, { signal, onUpdate });
10345
10861
  }
10346
10862
 
10347
10863
  /**
@@ -10356,7 +10872,8 @@ class BrkClient extends BrkClientBase {
10356
10872
  * @returns {Promise<BlockInfoV1[]>}
10357
10873
  */
10358
10874
  async getBlocksV1({ signal, onUpdate } = {}) {
10359
- return this.getJson(`/api/v1/blocks`, { signal, onUpdate });
10875
+ const path = `/api/v1/blocks`;
10876
+ return this.getJson(path, { signal, onUpdate });
10360
10877
  }
10361
10878
 
10362
10879
  /**
@@ -10373,7 +10890,8 @@ class BrkClient extends BrkClientBase {
10373
10890
  * @returns {Promise<BlockInfoV1[]>}
10374
10891
  */
10375
10892
  async getBlocksV1FromHeight(height, { signal, onUpdate } = {}) {
10376
- return this.getJson(`/api/v1/blocks/${height}`, { signal, onUpdate });
10893
+ const path = `/api/v1/blocks/${height}`;
10894
+ return this.getJson(path, { signal, onUpdate });
10377
10895
  }
10378
10896
 
10379
10897
  /**
@@ -10390,7 +10908,8 @@ class BrkClient extends BrkClientBase {
10390
10908
  * @returns {Promise<CpfpInfo>}
10391
10909
  */
10392
10910
  async getCpfp(txid, { signal, onUpdate } = {}) {
10393
- return this.getJson(`/api/v1/cpfp/${txid}`, { signal, onUpdate });
10911
+ const path = `/api/v1/cpfp/${txid}`;
10912
+ return this.getJson(path, { signal, onUpdate });
10394
10913
  }
10395
10914
 
10396
10915
  /**
@@ -10405,7 +10924,8 @@ class BrkClient extends BrkClientBase {
10405
10924
  * @returns {Promise<DifficultyAdjustment>}
10406
10925
  */
10407
10926
  async getDifficultyAdjustment({ signal, onUpdate } = {}) {
10408
- return this.getJson(`/api/v1/difficulty-adjustment`, { signal, onUpdate });
10927
+ const path = `/api/v1/difficulty-adjustment`;
10928
+ return this.getJson(path, { signal, onUpdate });
10409
10929
  }
10410
10930
 
10411
10931
  /**
@@ -10420,7 +10940,8 @@ class BrkClient extends BrkClientBase {
10420
10940
  * @returns {Promise<MempoolBlock[]>}
10421
10941
  */
10422
10942
  async getMempoolBlocks({ signal, onUpdate } = {}) {
10423
- return this.getJson(`/api/v1/fees/mempool-blocks`, { signal, onUpdate });
10943
+ const path = `/api/v1/fees/mempool-blocks`;
10944
+ return this.getJson(path, { signal, onUpdate });
10424
10945
  }
10425
10946
 
10426
10947
  /**
@@ -10435,7 +10956,8 @@ class BrkClient extends BrkClientBase {
10435
10956
  * @returns {Promise<RecommendedFees>}
10436
10957
  */
10437
10958
  async getPreciseFees({ signal, onUpdate } = {}) {
10438
- return this.getJson(`/api/v1/fees/precise`, { signal, onUpdate });
10959
+ const path = `/api/v1/fees/precise`;
10960
+ return this.getJson(path, { signal, onUpdate });
10439
10961
  }
10440
10962
 
10441
10963
  /**
@@ -10450,7 +10972,8 @@ class BrkClient extends BrkClientBase {
10450
10972
  * @returns {Promise<RecommendedFees>}
10451
10973
  */
10452
10974
  async getRecommendedFees({ signal, onUpdate } = {}) {
10453
- return this.getJson(`/api/v1/fees/recommended`, { signal, onUpdate });
10975
+ const path = `/api/v1/fees/recommended`;
10976
+ return this.getJson(path, { signal, onUpdate });
10454
10977
  }
10455
10978
 
10456
10979
  /**
@@ -10488,7 +11011,8 @@ class BrkClient extends BrkClientBase {
10488
11011
  * @returns {Promise<BlockFeeRatesEntry[]>}
10489
11012
  */
10490
11013
  async getBlockFeeRates(time_period, { signal, onUpdate } = {}) {
10491
- return this.getJson(`/api/v1/mining/blocks/fee-rates/${time_period}`, { signal, onUpdate });
11014
+ const path = `/api/v1/mining/blocks/fee-rates/${time_period}`;
11015
+ return this.getJson(path, { signal, onUpdate });
10492
11016
  }
10493
11017
 
10494
11018
  /**
@@ -10505,7 +11029,8 @@ class BrkClient extends BrkClientBase {
10505
11029
  * @returns {Promise<BlockFeesEntry[]>}
10506
11030
  */
10507
11031
  async getBlockFees(time_period, { signal, onUpdate } = {}) {
10508
- return this.getJson(`/api/v1/mining/blocks/fees/${time_period}`, { signal, onUpdate });
11032
+ const path = `/api/v1/mining/blocks/fees/${time_period}`;
11033
+ return this.getJson(path, { signal, onUpdate });
10509
11034
  }
10510
11035
 
10511
11036
  /**
@@ -10522,7 +11047,8 @@ class BrkClient extends BrkClientBase {
10522
11047
  * @returns {Promise<BlockRewardsEntry[]>}
10523
11048
  */
10524
11049
  async getBlockRewards(time_period, { signal, onUpdate } = {}) {
10525
- return this.getJson(`/api/v1/mining/blocks/rewards/${time_period}`, { signal, onUpdate });
11050
+ const path = `/api/v1/mining/blocks/rewards/${time_period}`;
11051
+ return this.getJson(path, { signal, onUpdate });
10526
11052
  }
10527
11053
 
10528
11054
  /**
@@ -10539,7 +11065,8 @@ class BrkClient extends BrkClientBase {
10539
11065
  * @returns {Promise<BlockSizesWeights>}
10540
11066
  */
10541
11067
  async getBlockSizesWeights(time_period, { signal, onUpdate } = {}) {
10542
- return this.getJson(`/api/v1/mining/blocks/sizes-weights/${time_period}`, { signal, onUpdate });
11068
+ const path = `/api/v1/mining/blocks/sizes-weights/${time_period}`;
11069
+ return this.getJson(path, { signal, onUpdate });
10543
11070
  }
10544
11071
 
10545
11072
  /**
@@ -10556,7 +11083,8 @@ class BrkClient extends BrkClientBase {
10556
11083
  * @returns {Promise<BlockTimestamp>}
10557
11084
  */
10558
11085
  async getBlockByTimestamp(timestamp, { signal, onUpdate } = {}) {
10559
- return this.getJson(`/api/v1/mining/blocks/timestamp/${timestamp}`, { signal, onUpdate });
11086
+ const path = `/api/v1/mining/blocks/timestamp/${timestamp}`;
11087
+ return this.getJson(path, { signal, onUpdate });
10560
11088
  }
10561
11089
 
10562
11090
  /**
@@ -10571,7 +11099,8 @@ class BrkClient extends BrkClientBase {
10571
11099
  * @returns {Promise<DifficultyAdjustmentEntry[]>}
10572
11100
  */
10573
11101
  async getDifficultyAdjustments({ signal, onUpdate } = {}) {
10574
- return this.getJson(`/api/v1/mining/difficulty-adjustments`, { signal, onUpdate });
11102
+ const path = `/api/v1/mining/difficulty-adjustments`;
11103
+ return this.getJson(path, { signal, onUpdate });
10575
11104
  }
10576
11105
 
10577
11106
  /**
@@ -10588,7 +11117,8 @@ class BrkClient extends BrkClientBase {
10588
11117
  * @returns {Promise<DifficultyAdjustmentEntry[]>}
10589
11118
  */
10590
11119
  async getDifficultyAdjustmentsByPeriod(time_period, { signal, onUpdate } = {}) {
10591
- return this.getJson(`/api/v1/mining/difficulty-adjustments/${time_period}`, { signal, onUpdate });
11120
+ const path = `/api/v1/mining/difficulty-adjustments/${time_period}`;
11121
+ return this.getJson(path, { signal, onUpdate });
10592
11122
  }
10593
11123
 
10594
11124
  /**
@@ -10603,7 +11133,8 @@ class BrkClient extends BrkClientBase {
10603
11133
  * @returns {Promise<HashrateSummary>}
10604
11134
  */
10605
11135
  async getHashrate({ signal, onUpdate } = {}) {
10606
- return this.getJson(`/api/v1/mining/hashrate`, { signal, onUpdate });
11136
+ const path = `/api/v1/mining/hashrate`;
11137
+ return this.getJson(path, { signal, onUpdate });
10607
11138
  }
10608
11139
 
10609
11140
  /**
@@ -10618,7 +11149,8 @@ class BrkClient extends BrkClientBase {
10618
11149
  * @returns {Promise<PoolHashrateEntry[]>}
10619
11150
  */
10620
11151
  async getPoolsHashrate({ signal, onUpdate } = {}) {
10621
- return this.getJson(`/api/v1/mining/hashrate/pools`, { signal, onUpdate });
11152
+ const path = `/api/v1/mining/hashrate/pools`;
11153
+ return this.getJson(path, { signal, onUpdate });
10622
11154
  }
10623
11155
 
10624
11156
  /**
@@ -10635,7 +11167,8 @@ class BrkClient extends BrkClientBase {
10635
11167
  * @returns {Promise<PoolHashrateEntry[]>}
10636
11168
  */
10637
11169
  async getPoolsHashrateByPeriod(time_period, { signal, onUpdate } = {}) {
10638
- return this.getJson(`/api/v1/mining/hashrate/pools/${time_period}`, { signal, onUpdate });
11170
+ const path = `/api/v1/mining/hashrate/pools/${time_period}`;
11171
+ return this.getJson(path, { signal, onUpdate });
10639
11172
  }
10640
11173
 
10641
11174
  /**
@@ -10652,7 +11185,8 @@ class BrkClient extends BrkClientBase {
10652
11185
  * @returns {Promise<HashrateSummary>}
10653
11186
  */
10654
11187
  async getHashrateByPeriod(time_period, { signal, onUpdate } = {}) {
10655
- return this.getJson(`/api/v1/mining/hashrate/${time_period}`, { signal, onUpdate });
11188
+ const path = `/api/v1/mining/hashrate/${time_period}`;
11189
+ return this.getJson(path, { signal, onUpdate });
10656
11190
  }
10657
11191
 
10658
11192
  /**
@@ -10669,7 +11203,8 @@ class BrkClient extends BrkClientBase {
10669
11203
  * @returns {Promise<PoolDetail>}
10670
11204
  */
10671
11205
  async getPool(slug, { signal, onUpdate } = {}) {
10672
- return this.getJson(`/api/v1/mining/pool/${slug}`, { signal, onUpdate });
11206
+ const path = `/api/v1/mining/pool/${slug}`;
11207
+ return this.getJson(path, { signal, onUpdate });
10673
11208
  }
10674
11209
 
10675
11210
  /**
@@ -10686,7 +11221,8 @@ class BrkClient extends BrkClientBase {
10686
11221
  * @returns {Promise<BlockInfoV1[]>}
10687
11222
  */
10688
11223
  async getPoolBlocks(slug, { signal, onUpdate } = {}) {
10689
- return this.getJson(`/api/v1/mining/pool/${slug}/blocks`, { signal, onUpdate });
11224
+ const path = `/api/v1/mining/pool/${slug}/blocks`;
11225
+ return this.getJson(path, { signal, onUpdate });
10690
11226
  }
10691
11227
 
10692
11228
  /**
@@ -10704,7 +11240,8 @@ class BrkClient extends BrkClientBase {
10704
11240
  * @returns {Promise<BlockInfoV1[]>}
10705
11241
  */
10706
11242
  async getPoolBlocksFrom(slug, height, { signal, onUpdate } = {}) {
10707
- return this.getJson(`/api/v1/mining/pool/${slug}/blocks/${height}`, { signal, onUpdate });
11243
+ const path = `/api/v1/mining/pool/${slug}/blocks/${height}`;
11244
+ return this.getJson(path, { signal, onUpdate });
10708
11245
  }
10709
11246
 
10710
11247
  /**
@@ -10721,7 +11258,8 @@ class BrkClient extends BrkClientBase {
10721
11258
  * @returns {Promise<PoolHashrateEntry[]>}
10722
11259
  */
10723
11260
  async getPoolHashrate(slug, { signal, onUpdate } = {}) {
10724
- return this.getJson(`/api/v1/mining/pool/${slug}/hashrate`, { signal, onUpdate });
11261
+ const path = `/api/v1/mining/pool/${slug}/hashrate`;
11262
+ return this.getJson(path, { signal, onUpdate });
10725
11263
  }
10726
11264
 
10727
11265
  /**
@@ -10736,7 +11274,8 @@ class BrkClient extends BrkClientBase {
10736
11274
  * @returns {Promise<PoolInfo[]>}
10737
11275
  */
10738
11276
  async getPools({ signal, onUpdate } = {}) {
10739
- return this.getJson(`/api/v1/mining/pools`, { signal, onUpdate });
11277
+ const path = `/api/v1/mining/pools`;
11278
+ return this.getJson(path, { signal, onUpdate });
10740
11279
  }
10741
11280
 
10742
11281
  /**
@@ -10753,7 +11292,8 @@ class BrkClient extends BrkClientBase {
10753
11292
  * @returns {Promise<PoolsSummary>}
10754
11293
  */
10755
11294
  async getPoolStats(time_period, { signal, onUpdate } = {}) {
10756
- return this.getJson(`/api/v1/mining/pools/${time_period}`, { signal, onUpdate });
11295
+ const path = `/api/v1/mining/pools/${time_period}`;
11296
+ return this.getJson(path, { signal, onUpdate });
10757
11297
  }
10758
11298
 
10759
11299
  /**
@@ -10770,7 +11310,8 @@ class BrkClient extends BrkClientBase {
10770
11310
  * @returns {Promise<RewardStats>}
10771
11311
  */
10772
11312
  async getRewardStats(block_count, { signal, onUpdate } = {}) {
10773
- return this.getJson(`/api/v1/mining/reward-stats/${block_count}`, { signal, onUpdate });
11313
+ const path = `/api/v1/mining/reward-stats/${block_count}`;
11314
+ return this.getJson(path, { signal, onUpdate });
10774
11315
  }
10775
11316
 
10776
11317
  /**
@@ -10785,7 +11326,8 @@ class BrkClient extends BrkClientBase {
10785
11326
  * @returns {Promise<Prices>}
10786
11327
  */
10787
11328
  async getPrices({ signal, onUpdate } = {}) {
10788
- return this.getJson(`/api/v1/prices`, { signal, onUpdate });
11329
+ const path = `/api/v1/prices`;
11330
+ return this.getJson(path, { signal, onUpdate });
10789
11331
  }
10790
11332
 
10791
11333
  /**
@@ -10800,7 +11342,8 @@ class BrkClient extends BrkClientBase {
10800
11342
  * @returns {Promise<number[]>}
10801
11343
  */
10802
11344
  async getTransactionTimes({ signal, onUpdate } = {}) {
10803
- return this.getJson(`/api/v1/transaction-times`, { signal, onUpdate });
11345
+ const path = `/api/v1/transaction-times`;
11346
+ return this.getJson(path, { signal, onUpdate });
10804
11347
  }
10805
11348
 
10806
11349
  /**
@@ -10817,7 +11360,8 @@ class BrkClient extends BrkClientBase {
10817
11360
  * @returns {Promise<AddrValidation>}
10818
11361
  */
10819
11362
  async validateAddress(address, { signal, onUpdate } = {}) {
10820
- return this.getJson(`/api/v1/validate-address/${address}`, { signal, onUpdate });
11363
+ const path = `/api/v1/validate-address/${address}`;
11364
+ return this.getJson(path, { signal, onUpdate });
10821
11365
  }
10822
11366
 
10823
11367
  /**
@@ -10830,7 +11374,8 @@ class BrkClient extends BrkClientBase {
10830
11374
  * @returns {Promise<Health>}
10831
11375
  */
10832
11376
  async getHealth({ signal, onUpdate } = {}) {
10833
- return this.getJson(`/health`, { signal, onUpdate });
11377
+ const path = `/health`;
11378
+ return this.getJson(path, { signal, onUpdate });
10834
11379
  }
10835
11380
 
10836
11381
  /**
@@ -10843,7 +11388,8 @@ class BrkClient extends BrkClientBase {
10843
11388
  * @returns {Promise<*>}
10844
11389
  */
10845
11390
  async getOpenapi({ signal, onUpdate } = {}) {
10846
- return this.getJson(`/openapi.json`, { signal, onUpdate });
11391
+ const path = `/openapi.json`;
11392
+ return this.getText(path, { signal, onUpdate });
10847
11393
  }
10848
11394
 
10849
11395
  /**
@@ -10856,7 +11402,8 @@ class BrkClient extends BrkClientBase {
10856
11402
  * @returns {Promise<string>}
10857
11403
  */
10858
11404
  async getVersion({ signal, onUpdate } = {}) {
10859
- return this.getJson(`/version`, { signal, onUpdate });
11405
+ const path = `/version`;
11406
+ return this.getJson(path, { signal, onUpdate });
10860
11407
  }
10861
11408
 
10862
11409
  }