brk-client 0.3.0-beta.0 → 0.3.0-beta.2

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 +993 -466
  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
  /**
@@ -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,21 +2066,37 @@ 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
 
2084
+ /**
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
+
2025
2100
  /**
2026
2101
  * @typedef {Object} CapGrossInvestorLossMvrvNetPeakPriceProfitSellSoprPattern
2027
2102
  * @property {CentsDeltaToUsdPattern} cap
@@ -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
@@ -2114,6 +2265,74 @@ function createAverageBaseCumulativeMaxMedianMinPct10Pct25Pct75Pct90SumPattern(c
2114
2265
  };
2115
2266
  }
2116
2267
 
2268
+ /**
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} AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern5
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 AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern5 pattern node
2318
+ * @param {BrkClientBase} client
2319
+ * @param {string} acc - Accumulated series name
2320
+ * @returns {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern5}
2321
+ */
2322
+ function createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern5(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
+
2117
2336
  /**
2118
2337
  * @typedef {Object} AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3
2119
2338
  * @property {SeriesPattern1<StoredU64>} all
@@ -2147,6 +2366,39 @@ function createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3(client, acc) {
2147
2366
  };
2148
2367
  }
2149
2368
 
2369
+ /**
2370
+ * @typedef {Object} AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6
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 AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6 pattern node
2384
+ * @param {BrkClientBase} client
2385
+ * @param {string} acc - Accumulated series name
2386
+ * @returns {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6}
2387
+ */
2388
+ function createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6(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
@@ -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
 
@@ -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')),
@@ -2545,8 +2797,8 @@ function createBpsCentsPercentilesRatioSatsUsdPattern(client, acc) {
2545
2797
  * @property {SeriesPattern1<Bitcoin>} btc
2546
2798
  * @property {SeriesPattern1<Cents>} cents
2547
2799
  * @property {SeriesPattern1<Sats>} sats
2548
- * @property {BpsPercentRatioPattern3} toCirculating
2549
- * @property {BpsPercentRatioPattern3} toOwn
2800
+ * @property {BpsPercentRatioPattern2} toCirculating
2801
+ * @property {BpsPercentRatioPattern2} toOwn
2550
2802
  * @property {SeriesPattern1<Dollars>} usd
2551
2803
  */
2552
2804
 
@@ -2561,8 +2813,8 @@ function createBtcCentsSatsToUsdPattern3(client, acc) {
2561
2813
  btc: createSeriesPattern1(client, acc),
2562
2814
  cents: createSeriesPattern1(client, _m(acc, 'cents')),
2563
2815
  sats: createSeriesPattern1(client, _m(acc, 'sats')),
2564
- toCirculating: createBpsPercentRatioPattern3(client, _m(acc, 'to_circulating')),
2565
- toOwn: createBpsPercentRatioPattern3(client, _m(acc, 'to_own')),
2816
+ toCirculating: createBpsPercentRatioPattern2(client, _m(acc, 'to_circulating')),
2817
+ toOwn: createBpsPercentRatioPattern2(client, _m(acc, 'to_own')),
2566
2818
  usd: createSeriesPattern1(client, _m(acc, 'usd')),
2567
2819
  };
2568
2820
  }
@@ -2571,8 +2823,8 @@ function createBtcCentsSatsToUsdPattern3(client, acc) {
2571
2823
  * @typedef {Object} CentsNegativeToUsdPattern2
2572
2824
  * @property {SeriesPattern1<Cents>} cents
2573
2825
  * @property {SeriesPattern1<Dollars>} negative
2574
- * @property {BpsPercentRatioPattern3} toMcap
2575
- * @property {BpsPercentRatioPattern3} toOwnGrossPnl
2826
+ * @property {BpsPercentRatioPattern2} toMcap
2827
+ * @property {BpsPercentRatioPattern2} toOwnGrossPnl
2576
2828
  * @property {BpsPercentRatioPattern4} toOwnMcap
2577
2829
  * @property {SeriesPattern1<Dollars>} usd
2578
2830
  */
@@ -2587,8 +2839,8 @@ function createCentsNegativeToUsdPattern2(client, acc) {
2587
2839
  return {
2588
2840
  cents: createSeriesPattern1(client, _m(acc, 'cents')),
2589
2841
  negative: createSeriesPattern1(client, _m(acc, 'neg')),
2590
- toMcap: createBpsPercentRatioPattern3(client, _m(acc, 'to_mcap')),
2591
- toOwnGrossPnl: createBpsPercentRatioPattern3(client, _m(acc, 'to_own_gross_pnl')),
2842
+ toMcap: createBpsPercentRatioPattern2(client, _m(acc, 'to_mcap')),
2843
+ toOwnGrossPnl: createBpsPercentRatioPattern2(client, _m(acc, 'to_own_gross_pnl')),
2592
2844
  toOwnMcap: createBpsPercentRatioPattern4(client, _m(acc, 'to_own_mcap')),
2593
2845
  usd: createSeriesPattern1(client, acc),
2594
2846
  };
@@ -2597,11 +2849,11 @@ function createCentsNegativeToUsdPattern2(client, acc) {
2597
2849
  /**
2598
2850
  * @typedef {Object} DeltaHalfInToTotalPattern
2599
2851
  * @property {AbsoluteRatePattern} delta
2600
- * @property {BtcCentsSatsUsdPattern3} half
2852
+ * @property {BtcCentsSatsUsdPattern} half
2601
2853
  * @property {BtcCentsSatsToUsdPattern} inLoss
2602
2854
  * @property {BtcCentsSatsToUsdPattern} inProfit
2603
- * @property {BpsPercentRatioPattern3} toCirculating
2604
- * @property {BtcCentsSatsUsdPattern3} total
2855
+ * @property {BpsPercentRatioPattern2} toCirculating
2856
+ * @property {BtcCentsSatsUsdPattern} total
2605
2857
  */
2606
2858
 
2607
2859
  /**
@@ -2613,22 +2865,22 @@ function createCentsNegativeToUsdPattern2(client, acc) {
2613
2865
  function createDeltaHalfInToTotalPattern(client, acc) {
2614
2866
  return {
2615
2867
  delta: createAbsoluteRatePattern(client, _m(acc, 'delta')),
2616
- half: createBtcCentsSatsUsdPattern3(client, _m(acc, 'half')),
2868
+ half: createBtcCentsSatsUsdPattern(client, _m(acc, 'half')),
2617
2869
  inLoss: createBtcCentsSatsToUsdPattern(client, _m(acc, 'in_loss')),
2618
2870
  inProfit: createBtcCentsSatsToUsdPattern(client, _m(acc, 'in_profit')),
2619
- toCirculating: createBpsPercentRatioPattern3(client, _m(acc, 'to_circulating')),
2620
- total: createBtcCentsSatsUsdPattern3(client, acc),
2871
+ toCirculating: createBpsPercentRatioPattern2(client, _m(acc, 'to_circulating')),
2872
+ total: createBtcCentsSatsUsdPattern(client, acc),
2621
2873
  };
2622
2874
  }
2623
2875
 
2624
2876
  /**
2625
2877
  * @typedef {Object} DeltaHalfInToTotalPattern2
2626
2878
  * @property {AbsoluteRatePattern} delta
2627
- * @property {BtcCentsSatsUsdPattern3} half
2879
+ * @property {BtcCentsSatsUsdPattern} half
2628
2880
  * @property {BtcCentsSatsToUsdPattern3} inLoss
2629
2881
  * @property {BtcCentsSatsToUsdPattern3} inProfit
2630
- * @property {BpsPercentRatioPattern3} toCirculating
2631
- * @property {BtcCentsSatsUsdPattern3} total
2882
+ * @property {BpsPercentRatioPattern2} toCirculating
2883
+ * @property {BtcCentsSatsUsdPattern} total
2632
2884
  */
2633
2885
 
2634
2886
  /**
@@ -2640,11 +2892,11 @@ function createDeltaHalfInToTotalPattern(client, acc) {
2640
2892
  function createDeltaHalfInToTotalPattern2(client, acc) {
2641
2893
  return {
2642
2894
  delta: createAbsoluteRatePattern(client, _m(acc, 'delta')),
2643
- half: createBtcCentsSatsUsdPattern3(client, _m(acc, 'half')),
2895
+ half: createBtcCentsSatsUsdPattern(client, _m(acc, 'half')),
2644
2896
  inLoss: createBtcCentsSatsToUsdPattern3(client, _m(acc, 'in_loss')),
2645
2897
  inProfit: createBtcCentsSatsToUsdPattern3(client, _m(acc, 'in_profit')),
2646
- toCirculating: createBpsPercentRatioPattern3(client, _m(acc, 'to_circulating')),
2647
- total: createBtcCentsSatsUsdPattern3(client, acc),
2898
+ toCirculating: createBpsPercentRatioPattern2(client, _m(acc, 'to_circulating')),
2899
+ total: createBtcCentsSatsUsdPattern(client, acc),
2648
2900
  };
2649
2901
  }
2650
2902
 
@@ -2673,6 +2925,31 @@ function create_1m1w1y24hBlockPattern(client, acc) {
2673
2925
  };
2674
2926
  }
2675
2927
 
2928
+ /**
2929
+ * @typedef {Object} ActiveBidirectionalReactivatedReceivingSendingPattern
2930
+ * @property {_1m1w1y24hBlockPattern} active
2931
+ * @property {_1m1w1y24hBlockPattern} bidirectional
2932
+ * @property {_1m1w1y24hBlockPattern} reactivated
2933
+ * @property {_1m1w1y24hBlockPattern} receiving
2934
+ * @property {_1m1w1y24hBlockPattern} sending
2935
+ */
2936
+
2937
+ /**
2938
+ * Create a ActiveBidirectionalReactivatedReceivingSendingPattern pattern node
2939
+ * @param {BrkClientBase} client
2940
+ * @param {string} acc - Accumulated series name
2941
+ * @returns {ActiveBidirectionalReactivatedReceivingSendingPattern}
2942
+ */
2943
+ function createActiveBidirectionalReactivatedReceivingSendingPattern(client, acc) {
2944
+ return {
2945
+ active: create_1m1w1y24hBlockPattern(client, _m(acc, 'active_addrs')),
2946
+ bidirectional: create_1m1w1y24hBlockPattern(client, _m(acc, 'bidirectional_addrs')),
2947
+ reactivated: create_1m1w1y24hBlockPattern(client, _m(acc, 'reactivated_addrs')),
2948
+ receiving: create_1m1w1y24hBlockPattern(client, _m(acc, 'receiving_addrs')),
2949
+ sending: create_1m1w1y24hBlockPattern(client, _m(acc, 'sending_addrs')),
2950
+ };
2951
+ }
2952
+
2676
2953
  /**
2677
2954
  * @typedef {Object} ActivityOutputsRealizedSupplyUnrealizedPattern
2678
2955
  * @property {CoindaysTransferPattern} activity
@@ -2828,7 +3105,7 @@ function createBtcCentsDeltaSatsUsdPattern(client, acc) {
2828
3105
  * @property {SeriesPattern1<Bitcoin>} btc
2829
3106
  * @property {SeriesPattern1<Cents>} cents
2830
3107
  * @property {SeriesPattern1<Sats>} sats
2831
- * @property {BpsPercentRatioPattern3} toCirculating
3108
+ * @property {BpsPercentRatioPattern2} toCirculating
2832
3109
  * @property {SeriesPattern1<Dollars>} usd
2833
3110
  */
2834
3111
 
@@ -2843,7 +3120,7 @@ function createBtcCentsSatsToUsdPattern(client, acc) {
2843
3120
  btc: createSeriesPattern1(client, acc),
2844
3121
  cents: createSeriesPattern1(client, _m(acc, 'cents')),
2845
3122
  sats: createSeriesPattern1(client, _m(acc, 'sats')),
2846
- toCirculating: createBpsPercentRatioPattern3(client, _m(acc, 'to_circulating')),
3123
+ toCirculating: createBpsPercentRatioPattern2(client, _m(acc, 'to_circulating')),
2847
3124
  usd: createSeriesPattern1(client, _m(acc, 'usd')),
2848
3125
  };
2849
3126
  }
@@ -2853,7 +3130,7 @@ function createBtcCentsSatsToUsdPattern(client, acc) {
2853
3130
  * @property {SeriesPattern1<Bitcoin>} btc
2854
3131
  * @property {SeriesPattern1<Cents>} cents
2855
3132
  * @property {SeriesPattern1<Sats>} sats
2856
- * @property {BpsPercentRatioPattern3} toOwn
3133
+ * @property {BpsPercentRatioPattern2} toOwn
2857
3134
  * @property {SeriesPattern1<Dollars>} usd
2858
3135
  */
2859
3136
 
@@ -2868,7 +3145,7 @@ function createBtcCentsSatsToUsdPattern2(client, acc) {
2868
3145
  btc: createSeriesPattern1(client, acc),
2869
3146
  cents: createSeriesPattern1(client, _m(acc, 'cents')),
2870
3147
  sats: createSeriesPattern1(client, _m(acc, 'sats')),
2871
- toOwn: createBpsPercentRatioPattern3(client, _m(acc, 'to_own')),
3148
+ toOwn: createBpsPercentRatioPattern2(client, _m(acc, 'to_own')),
2872
3149
  usd: createSeriesPattern1(client, _m(acc, 'usd')),
2873
3150
  };
2874
3151
  }
@@ -2901,9 +3178,9 @@ function createCapLossMvrvPriceProfitPattern(client, acc) {
2901
3178
  /**
2902
3179
  * @typedef {Object} CentsToUsdPattern4
2903
3180
  * @property {SeriesPattern1<Cents>} cents
2904
- * @property {BpsPercentRatioPattern3} toMcap
2905
- * @property {BpsPercentRatioPattern3} toOwnGrossPnl
2906
- * @property {BpsPercentRatioPattern3} toOwnMcap
3181
+ * @property {BpsPercentRatioPattern2} toMcap
3182
+ * @property {BpsPercentRatioPattern2} toOwnGrossPnl
3183
+ * @property {BpsPercentRatioPattern2} toOwnMcap
2907
3184
  * @property {SeriesPattern1<Dollars>} usd
2908
3185
  */
2909
3186
 
@@ -2916,9 +3193,9 @@ function createCapLossMvrvPriceProfitPattern(client, acc) {
2916
3193
  function createCentsToUsdPattern4(client, acc) {
2917
3194
  return {
2918
3195
  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')),
3196
+ toMcap: createBpsPercentRatioPattern2(client, _m(acc, 'to_mcap')),
3197
+ toOwnGrossPnl: createBpsPercentRatioPattern2(client, _m(acc, 'to_own_gross_pnl')),
3198
+ toOwnMcap: createBpsPercentRatioPattern2(client, _m(acc, 'to_own_mcap')),
2922
3199
  usd: createSeriesPattern1(client, acc),
2923
3200
  };
2924
3201
  }
@@ -2926,10 +3203,10 @@ function createCentsToUsdPattern4(client, acc) {
2926
3203
  /**
2927
3204
  * @typedef {Object} DeltaHalfInTotalPattern2
2928
3205
  * @property {AbsoluteRatePattern} delta
2929
- * @property {BtcCentsSatsUsdPattern3} half
2930
- * @property {BtcCentsSatsUsdPattern3} inLoss
2931
- * @property {BtcCentsSatsUsdPattern3} inProfit
2932
- * @property {BtcCentsSatsUsdPattern3} total
3206
+ * @property {BtcCentsSatsUsdPattern} half
3207
+ * @property {BtcCentsSatsUsdPattern} inLoss
3208
+ * @property {BtcCentsSatsUsdPattern} inProfit
3209
+ * @property {BtcCentsSatsUsdPattern} total
2933
3210
  */
2934
3211
 
2935
3212
  /**
@@ -2941,10 +3218,10 @@ function createCentsToUsdPattern4(client, acc) {
2941
3218
  function createDeltaHalfInTotalPattern2(client, acc) {
2942
3219
  return {
2943
3220
  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),
3221
+ half: createBtcCentsSatsUsdPattern(client, _m(acc, 'half')),
3222
+ inLoss: createBtcCentsSatsUsdPattern(client, _m(acc, 'in_loss')),
3223
+ inProfit: createBtcCentsSatsUsdPattern(client, _m(acc, 'in_profit')),
3224
+ total: createBtcCentsSatsUsdPattern(client, acc),
2948
3225
  };
2949
3226
  }
2950
3227
 
@@ -3029,7 +3306,7 @@ function create_1m1w1y24hPattern7(client, acc) {
3029
3306
  }
3030
3307
 
3031
3308
  /**
3032
- * @typedef {Object} _1m1w1y24hPattern3
3309
+ * @typedef {Object} _1m1w1y24hPattern4
3033
3310
  * @property {BtcCentsSatsUsdPattern} _1m
3034
3311
  * @property {BtcCentsSatsUsdPattern} _1w
3035
3312
  * @property {BtcCentsSatsUsdPattern} _1y
@@ -3037,12 +3314,12 @@ function create_1m1w1y24hPattern7(client, acc) {
3037
3314
  */
3038
3315
 
3039
3316
  /**
3040
- * Create a _1m1w1y24hPattern3 pattern node
3317
+ * Create a _1m1w1y24hPattern4 pattern node
3041
3318
  * @param {BrkClientBase} client
3042
3319
  * @param {string} acc - Accumulated series name
3043
- * @returns {_1m1w1y24hPattern3}
3320
+ * @returns {_1m1w1y24hPattern4}
3044
3321
  */
3045
- function create_1m1w1y24hPattern3(client, acc) {
3322
+ function create_1m1w1y24hPattern4(client, acc) {
3046
3323
  return {
3047
3324
  _1m: createBtcCentsSatsUsdPattern(client, _m(acc, '1m')),
3048
3325
  _1w: createBtcCentsSatsUsdPattern(client, _m(acc, '1w')),
@@ -3052,25 +3329,25 @@ function create_1m1w1y24hPattern3(client, acc) {
3052
3329
  }
3053
3330
 
3054
3331
  /**
3055
- * @typedef {Object} _1m1w1y24hPattern4
3056
- * @property {BtcCentsSatsUsdPattern3} _1m
3057
- * @property {BtcCentsSatsUsdPattern3} _1w
3058
- * @property {BtcCentsSatsUsdPattern3} _1y
3059
- * @property {BtcCentsSatsUsdPattern3} _24h
3332
+ * @typedef {Object} _1m1w1y24hPattern3
3333
+ * @property {BtcCentsSatsUsdPattern2} _1m
3334
+ * @property {BtcCentsSatsUsdPattern2} _1w
3335
+ * @property {BtcCentsSatsUsdPattern2} _1y
3336
+ * @property {BtcCentsSatsUsdPattern2} _24h
3060
3337
  */
3061
3338
 
3062
3339
  /**
3063
- * Create a _1m1w1y24hPattern4 pattern node
3340
+ * Create a _1m1w1y24hPattern3 pattern node
3064
3341
  * @param {BrkClientBase} client
3065
3342
  * @param {string} acc - Accumulated series name
3066
- * @returns {_1m1w1y24hPattern4}
3343
+ * @returns {_1m1w1y24hPattern3}
3067
3344
  */
3068
- function create_1m1w1y24hPattern4(client, acc) {
3345
+ function create_1m1w1y24hPattern3(client, acc) {
3069
3346
  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')),
3347
+ _1m: createBtcCentsSatsUsdPattern2(client, _m(acc, '1m')),
3348
+ _1w: createBtcCentsSatsUsdPattern2(client, _m(acc, '1w')),
3349
+ _1y: createBtcCentsSatsUsdPattern2(client, _m(acc, '1y')),
3350
+ _24h: createBtcCentsSatsUsdPattern2(client, _m(acc, '24h')),
3074
3351
  };
3075
3352
  }
3076
3353
 
@@ -3177,8 +3454,8 @@ function createAverageBlockCumulativeSumPattern2(client, acc) {
3177
3454
  /**
3178
3455
  * @typedef {Object} AverageBlockCumulativeSumPattern3
3179
3456
  * @property {_1m1w1y24hPattern3} average
3180
- * @property {BtcCentsSatsUsdPattern2} block
3181
- * @property {BtcCentsSatsUsdPattern3} cumulative
3457
+ * @property {BtcCentsSatsUsdPattern3} block
3458
+ * @property {BtcCentsSatsUsdPattern} cumulative
3182
3459
  * @property {_1m1w1y24hPattern4} sum
3183
3460
  */
3184
3461
 
@@ -3191,8 +3468,8 @@ function createAverageBlockCumulativeSumPattern2(client, acc) {
3191
3468
  function createAverageBlockCumulativeSumPattern3(client, acc) {
3192
3469
  return {
3193
3470
  average: create_1m1w1y24hPattern3(client, _m(acc, 'average')),
3194
- block: createBtcCentsSatsUsdPattern2(client, acc),
3195
- cumulative: createBtcCentsSatsUsdPattern3(client, _m(acc, 'cumulative')),
3471
+ block: createBtcCentsSatsUsdPattern3(client, acc),
3472
+ cumulative: createBtcCentsSatsUsdPattern(client, _m(acc, 'cumulative')),
3196
3473
  sum: create_1m1w1y24hPattern4(client, _m(acc, 'sum')),
3197
3474
  };
3198
3475
  }
@@ -3244,30 +3521,7 @@ function createBlockCumulativeDeltaSumPattern(client, acc) {
3244
3521
  }
3245
3522
 
3246
3523
  /**
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
3524
+ * @typedef {Object} BtcCentsSatsUsdPattern
3271
3525
  * @property {SeriesPattern1<Bitcoin>} btc
3272
3526
  * @property {SeriesPattern1<Cents>} cents
3273
3527
  * @property {SeriesPattern1<Sats>} sats
@@ -3275,12 +3529,12 @@ function createBothReactivatedReceivingSendingPattern(client, acc) {
3275
3529
  */
3276
3530
 
3277
3531
  /**
3278
- * Create a BtcCentsSatsUsdPattern3 pattern node
3532
+ * Create a BtcCentsSatsUsdPattern pattern node
3279
3533
  * @param {BrkClientBase} client
3280
3534
  * @param {string} acc - Accumulated series name
3281
- * @returns {BtcCentsSatsUsdPattern3}
3535
+ * @returns {BtcCentsSatsUsdPattern}
3282
3536
  */
3283
- function createBtcCentsSatsUsdPattern3(client, acc) {
3537
+ function createBtcCentsSatsUsdPattern(client, acc) {
3284
3538
  return {
3285
3539
  btc: createSeriesPattern1(client, acc),
3286
3540
  cents: createSeriesPattern1(client, _m(acc, 'cents')),
@@ -3290,7 +3544,7 @@ function createBtcCentsSatsUsdPattern3(client, acc) {
3290
3544
  }
3291
3545
 
3292
3546
  /**
3293
- * @typedef {Object} BtcCentsSatsUsdPattern
3547
+ * @typedef {Object} BtcCentsSatsUsdPattern2
3294
3548
  * @property {SeriesPattern1<Bitcoin>} btc
3295
3549
  * @property {SeriesPattern1<StoredF32>} cents
3296
3550
  * @property {SeriesPattern1<StoredF32>} sats
@@ -3298,12 +3552,12 @@ function createBtcCentsSatsUsdPattern3(client, acc) {
3298
3552
  */
3299
3553
 
3300
3554
  /**
3301
- * Create a BtcCentsSatsUsdPattern pattern node
3555
+ * Create a BtcCentsSatsUsdPattern2 pattern node
3302
3556
  * @param {BrkClientBase} client
3303
3557
  * @param {string} acc - Accumulated series name
3304
- * @returns {BtcCentsSatsUsdPattern}
3558
+ * @returns {BtcCentsSatsUsdPattern2}
3305
3559
  */
3306
- function createBtcCentsSatsUsdPattern(client, acc) {
3560
+ function createBtcCentsSatsUsdPattern2(client, acc) {
3307
3561
  return {
3308
3562
  btc: createSeriesPattern1(client, acc),
3309
3563
  cents: createSeriesPattern1(client, _m(acc, 'cents')),
@@ -3313,7 +3567,7 @@ function createBtcCentsSatsUsdPattern(client, acc) {
3313
3567
  }
3314
3568
 
3315
3569
  /**
3316
- * @typedef {Object} BtcCentsSatsUsdPattern2
3570
+ * @typedef {Object} BtcCentsSatsUsdPattern3
3317
3571
  * @property {SeriesPattern18<Bitcoin>} btc
3318
3572
  * @property {SeriesPattern18<Cents>} cents
3319
3573
  * @property {SeriesPattern18<Sats>} sats
@@ -3321,12 +3575,12 @@ function createBtcCentsSatsUsdPattern(client, acc) {
3321
3575
  */
3322
3576
 
3323
3577
  /**
3324
- * Create a BtcCentsSatsUsdPattern2 pattern node
3578
+ * Create a BtcCentsSatsUsdPattern3 pattern node
3325
3579
  * @param {BrkClientBase} client
3326
3580
  * @param {string} acc - Accumulated series name
3327
- * @returns {BtcCentsSatsUsdPattern2}
3581
+ * @returns {BtcCentsSatsUsdPattern3}
3328
3582
  */
3329
- function createBtcCentsSatsUsdPattern2(client, acc) {
3583
+ function createBtcCentsSatsUsdPattern3(client, acc) {
3330
3584
  return {
3331
3585
  btc: createSeriesPattern18(client, acc),
3332
3586
  cents: createSeriesPattern18(client, _m(acc, 'cents')),
@@ -3564,19 +3818,19 @@ function createBlocksDominanceRewardsPattern(client, acc) {
3564
3818
  }
3565
3819
 
3566
3820
  /**
3567
- * @typedef {Object} BpsPercentRatioPattern3
3821
+ * @typedef {Object} BpsPercentRatioPattern2
3568
3822
  * @property {SeriesPattern1<BasisPoints16>} bps
3569
3823
  * @property {SeriesPattern1<StoredF32>} percent
3570
3824
  * @property {SeriesPattern1<StoredF32>} ratio
3571
3825
  */
3572
3826
 
3573
3827
  /**
3574
- * Create a BpsPercentRatioPattern3 pattern node
3828
+ * Create a BpsPercentRatioPattern2 pattern node
3575
3829
  * @param {BrkClientBase} client
3576
3830
  * @param {string} acc - Accumulated series name
3577
- * @returns {BpsPercentRatioPattern3}
3831
+ * @returns {BpsPercentRatioPattern2}
3578
3832
  */
3579
- function createBpsPercentRatioPattern3(client, acc) {
3833
+ function createBpsPercentRatioPattern2(client, acc) {
3580
3834
  return {
3581
3835
  bps: createSeriesPattern1(client, _m(acc, 'bps')),
3582
3836
  percent: createSeriesPattern1(client, acc),
@@ -3839,9 +4093,9 @@ function createRatioTransferValuePattern(client, acc) {
3839
4093
 
3840
4094
  /**
3841
4095
  * @typedef {Object} RsiStochPattern
3842
- * @property {BpsPercentRatioPattern3} rsi
3843
- * @property {BpsPercentRatioPattern3} stochRsiD
3844
- * @property {BpsPercentRatioPattern3} stochRsiK
4096
+ * @property {BpsPercentRatioPattern2} rsi
4097
+ * @property {BpsPercentRatioPattern2} stochRsiD
4098
+ * @property {BpsPercentRatioPattern2} stochRsiK
3845
4099
  */
3846
4100
 
3847
4101
  /**
@@ -3853,9 +4107,9 @@ function createRatioTransferValuePattern(client, acc) {
3853
4107
  */
3854
4108
  function createRsiStochPattern(client, acc, disc) {
3855
4109
  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)),
4110
+ rsi: createBpsPercentRatioPattern2(client, _m(acc, disc)),
4111
+ stochRsiD: createBpsPercentRatioPattern2(client, _m(_m(acc, 'stoch_d'), disc)),
4112
+ stochRsiK: createBpsPercentRatioPattern2(client, _m(_m(acc, 'stoch_k'), disc)),
3859
4113
  };
3860
4114
  }
3861
4115
 
@@ -3944,7 +4198,7 @@ function createAbsoluteRatePattern2(client, acc) {
3944
4198
  /**
3945
4199
  * @typedef {Object} AllSthPattern2
3946
4200
  * @property {BtcCentsDeltaSatsUsdPattern} all
3947
- * @property {BtcCentsSatsUsdPattern3} sth
4201
+ * @property {BtcCentsSatsUsdPattern} sth
3948
4202
  */
3949
4203
 
3950
4204
  /**
@@ -3956,7 +4210,7 @@ function createAbsoluteRatePattern2(client, acc) {
3956
4210
  function createAllSthPattern2(client, acc) {
3957
4211
  return {
3958
4212
  all: createBtcCentsDeltaSatsUsdPattern(client, _m(acc, 'supply')),
3959
- sth: createBtcCentsSatsUsdPattern3(client, _m(acc, 'sth_supply')),
4213
+ sth: createBtcCentsSatsUsdPattern(client, _m(acc, 'sth_supply')),
3960
4214
  };
3961
4215
  }
3962
4216
 
@@ -4020,8 +4274,8 @@ function createBaseDeltaPattern(client, acc) {
4020
4274
 
4021
4275
  /**
4022
4276
  * @typedef {Object} BlockCumulativePattern
4023
- * @property {BtcCentsSatsUsdPattern2} block
4024
- * @property {BtcCentsSatsUsdPattern3} cumulative
4277
+ * @property {BtcCentsSatsUsdPattern3} block
4278
+ * @property {BtcCentsSatsUsdPattern} cumulative
4025
4279
  */
4026
4280
 
4027
4281
  /**
@@ -4032,15 +4286,15 @@ function createBaseDeltaPattern(client, acc) {
4032
4286
  */
4033
4287
  function createBlockCumulativePattern(client, acc) {
4034
4288
  return {
4035
- block: createBtcCentsSatsUsdPattern2(client, acc),
4036
- cumulative: createBtcCentsSatsUsdPattern3(client, _m(acc, 'cumulative')),
4289
+ block: createBtcCentsSatsUsdPattern3(client, acc),
4290
+ cumulative: createBtcCentsSatsUsdPattern(client, _m(acc, 'cumulative')),
4037
4291
  };
4038
4292
  }
4039
4293
 
4040
4294
  /**
4041
4295
  * @typedef {Object} BlocksDominancePattern
4042
4296
  * @property {AverageBlockCumulativeSumPattern2} blocksMined
4043
- * @property {BpsPercentRatioPattern3} dominance
4297
+ * @property {BpsPercentRatioPattern2} dominance
4044
4298
  */
4045
4299
 
4046
4300
  /**
@@ -4052,7 +4306,7 @@ function createBlockCumulativePattern(client, acc) {
4052
4306
  function createBlocksDominancePattern(client, acc) {
4053
4307
  return {
4054
4308
  blocksMined: createAverageBlockCumulativeSumPattern2(client, _m(acc, 'blocks_mined')),
4055
- dominance: createBpsPercentRatioPattern3(client, _m(acc, 'dominance')),
4309
+ dominance: createBpsPercentRatioPattern2(client, _m(acc, 'dominance')),
4056
4310
  };
4057
4311
  }
4058
4312
 
@@ -4192,7 +4446,7 @@ function createCoindaysTransferPattern(client, acc) {
4192
4446
  /**
4193
4447
  * @typedef {Object} DeltaTotalPattern
4194
4448
  * @property {AbsoluteRatePattern} delta
4195
- * @property {BtcCentsSatsUsdPattern3} total
4449
+ * @property {BtcCentsSatsUsdPattern} total
4196
4450
  */
4197
4451
 
4198
4452
  /**
@@ -4204,7 +4458,26 @@ function createCoindaysTransferPattern(client, acc) {
4204
4458
  function createDeltaTotalPattern(client, acc) {
4205
4459
  return {
4206
4460
  delta: createAbsoluteRatePattern(client, _m(acc, 'delta')),
4207
- total: createBtcCentsSatsUsdPattern3(client, acc),
4461
+ total: createBtcCentsSatsUsdPattern(client, acc),
4462
+ };
4463
+ }
4464
+
4465
+ /**
4466
+ * @typedef {Object} FundedTotalPattern
4467
+ * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3} funded
4468
+ * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3} total
4469
+ */
4470
+
4471
+ /**
4472
+ * Create a FundedTotalPattern pattern node
4473
+ * @param {BrkClientBase} client
4474
+ * @param {string} acc - Accumulated series name
4475
+ * @returns {FundedTotalPattern}
4476
+ */
4477
+ function createFundedTotalPattern(client, acc) {
4478
+ return {
4479
+ funded: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3(client, acc),
4480
+ total: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3(client, _p('total', acc)),
4208
4481
  };
4209
4482
  }
4210
4483
 
@@ -4539,7 +4812,6 @@ function createTransferPattern(client, acc) {
4539
4812
  /**
4540
4813
  * @typedef {Object} SeriesTree_Transactions_Raw
4541
4814
  * @property {SeriesPattern18<TxIndex>} firstTxIndex
4542
- * @property {SeriesPattern19<Height>} height
4543
4815
  * @property {SeriesPattern19<Txid>} txid
4544
4816
  * @property {SeriesPattern19<TxVersion>} txVersion
4545
4817
  * @property {SeriesPattern19<RawLockTime>} rawLocktime
@@ -4553,7 +4825,6 @@ function createTransferPattern(client, acc) {
4553
4825
  /**
4554
4826
  * @typedef {Object} SeriesTree_Transactions_Count
4555
4827
  * @property {AverageBlockCumulativeMaxMedianMinPct10Pct25Pct75Pct90SumPattern} total
4556
- * @property {SeriesPattern19<StoredBool>} isCoinbase
4557
4828
  */
4558
4829
 
4559
4830
  /**
@@ -4574,7 +4845,7 @@ function createTransferPattern(client, acc) {
4574
4845
  * @property {SeriesPattern19<Sats>} inputValue
4575
4846
  * @property {SeriesPattern19<Sats>} outputValue
4576
4847
  * @property {_6bBlockTxPattern<Sats>} fee
4577
- * @property {_6bBlockTxPattern<FeeRate>} feeRate
4848
+ * @property {SeriesPattern19<FeeRate>} feeRate
4578
4849
  * @property {_6bBlockTxPattern<FeeRate>} effectiveFeeRate
4579
4850
  */
4580
4851
 
@@ -4589,8 +4860,6 @@ function createTransferPattern(client, acc) {
4589
4860
  * @typedef {Object} SeriesTree_Transactions_Volume
4590
4861
  * @property {AverageBlockCumulativeSumPattern3} transferVolume
4591
4862
  * @property {_1m1w1y24hPattern<StoredF32>} txPerSec
4592
- * @property {_1m1w1y24hPattern<StoredF32>} outputsPerSec
4593
- * @property {_1m1w1y24hPattern<StoredF32>} inputsPerSec
4594
4863
  */
4595
4864
 
4596
4865
  /**
@@ -4598,6 +4867,8 @@ function createTransferPattern(client, acc) {
4598
4867
  * @property {SeriesTree_Inputs_Raw} raw
4599
4868
  * @property {SeriesTree_Inputs_Spent} spent
4600
4869
  * @property {CumulativeRollingSumPattern} count
4870
+ * @property {_1m1w1y24hPattern<StoredF32>} perSec
4871
+ * @property {SeriesTree_Inputs_ByType} byType
4601
4872
  */
4602
4873
 
4603
4874
  /**
@@ -4615,11 +4886,70 @@ function createTransferPattern(client, acc) {
4615
4886
  * @property {SeriesPattern20<Sats>} value
4616
4887
  */
4617
4888
 
4889
+ /**
4890
+ * @typedef {Object} SeriesTree_Inputs_ByType
4891
+ * @property {SeriesTree_Inputs_ByType_InputCount} inputCount
4892
+ * @property {SeriesTree_Inputs_ByType_InputShare} inputShare
4893
+ * @property {SeriesTree_Inputs_ByType_TxCount} txCount
4894
+ * @property {EmptyP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2} txShare
4895
+ */
4896
+
4897
+ /**
4898
+ * @typedef {Object} SeriesTree_Inputs_ByType_InputCount
4899
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} all
4900
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk65
4901
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk33
4902
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pkh
4903
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2ms
4904
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2sh
4905
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wpkh
4906
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wsh
4907
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2tr
4908
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2a
4909
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} unknown
4910
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} empty
4911
+ */
4912
+
4913
+ /**
4914
+ * @typedef {Object} SeriesTree_Inputs_ByType_InputShare
4915
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pk65
4916
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pk33
4917
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pkh
4918
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2ms
4919
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2sh
4920
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2wpkh
4921
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2wsh
4922
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2tr
4923
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2a
4924
+ * @property {_1m1w1y24hBpsPercentRatioPattern} unknown
4925
+ * @property {_1m1w1y24hBpsPercentRatioPattern} empty
4926
+ */
4927
+
4928
+ /**
4929
+ * @typedef {Object} SeriesTree_Inputs_ByType_TxCount
4930
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} all
4931
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk65
4932
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk33
4933
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pkh
4934
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2ms
4935
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2sh
4936
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wpkh
4937
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wsh
4938
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2tr
4939
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2a
4940
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} unknown
4941
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} empty
4942
+ */
4943
+
4618
4944
  /**
4619
4945
  * @typedef {Object} SeriesTree_Outputs
4620
4946
  * @property {SeriesTree_Outputs_Raw} raw
4621
4947
  * @property {SeriesTree_Outputs_Spent} spent
4622
4948
  * @property {SeriesTree_Outputs_Count} count
4949
+ * @property {_1m1w1y24hPattern<StoredF32>} perSec
4950
+ * @property {SeriesTree_Outputs_Unspent} unspent
4951
+ * @property {SeriesTree_Outputs_ByType} byType
4952
+ * @property {SeriesTree_Outputs_Value} value
4623
4953
  */
4624
4954
 
4625
4955
  /**
@@ -4639,7 +4969,58 @@ function createTransferPattern(client, acc) {
4639
4969
  /**
4640
4970
  * @typedef {Object} SeriesTree_Outputs_Count
4641
4971
  * @property {CumulativeRollingSumPattern} total
4642
- * @property {SeriesPattern1<StoredU64>} unspent
4972
+ */
4973
+
4974
+ /**
4975
+ * @typedef {Object} SeriesTree_Outputs_Unspent
4976
+ * @property {SeriesPattern1<StoredU64>} count
4977
+ */
4978
+
4979
+ /**
4980
+ * @typedef {Object} SeriesTree_Outputs_ByType
4981
+ * @property {SeriesTree_Outputs_ByType_OutputCount} outputCount
4982
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} spendableOutputCount
4983
+ * @property {SeriesTree_Outputs_ByType_OutputShare} outputShare
4984
+ * @property {AllEmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern} txCount
4985
+ * @property {EmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2} txShare
4986
+ */
4987
+
4988
+ /**
4989
+ * @typedef {Object} SeriesTree_Outputs_ByType_OutputCount
4990
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} all
4991
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk65
4992
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pk33
4993
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2pkh
4994
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2ms
4995
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2sh
4996
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wpkh
4997
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2wsh
4998
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2tr
4999
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} p2a
5000
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} unknown
5001
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} empty
5002
+ * @property {AverageBlockCumulativeSumPattern<StoredU64>} opReturn
5003
+ */
5004
+
5005
+ /**
5006
+ * @typedef {Object} SeriesTree_Outputs_ByType_OutputShare
5007
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pk65
5008
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pk33
5009
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2pkh
5010
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2ms
5011
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2sh
5012
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2wpkh
5013
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2wsh
5014
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2tr
5015
+ * @property {_1m1w1y24hBpsPercentRatioPattern} p2a
5016
+ * @property {_1m1w1y24hBpsPercentRatioPattern} unknown
5017
+ * @property {_1m1w1y24hBpsPercentRatioPattern} empty
5018
+ * @property {_1m1w1y24hBpsPercentRatioPattern} opReturn
5019
+ */
5020
+
5021
+ /**
5022
+ * @typedef {Object} SeriesTree_Outputs_Value
5023
+ * @property {BlockCumulativePattern} opReturn
4643
5024
  */
4644
5025
 
4645
5026
  /**
@@ -4651,7 +5032,9 @@ function createTransferPattern(client, acc) {
4651
5032
  * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3} empty
4652
5033
  * @property {SeriesTree_Addrs_Activity} activity
4653
5034
  * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3} total
4654
- * @property {SeriesTree_Addrs_New} new
5035
+ * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern5} new
5036
+ * @property {SeriesTree_Addrs_Reused} reused
5037
+ * @property {SeriesTree_Addrs_Exposed} exposed
4655
5038
  * @property {SeriesTree_Addrs_Delta} delta
4656
5039
  */
4657
5040
 
@@ -4737,28 +5120,69 @@ function createTransferPattern(client, acc) {
4737
5120
 
4738
5121
  /**
4739
5122
  * @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
5123
+ * @property {SeriesTree_Addrs_Activity_All} all
5124
+ * @property {ActiveBidirectionalReactivatedReceivingSendingPattern} p2pk65
5125
+ * @property {ActiveBidirectionalReactivatedReceivingSendingPattern} p2pk33
5126
+ * @property {ActiveBidirectionalReactivatedReceivingSendingPattern} p2pkh
5127
+ * @property {ActiveBidirectionalReactivatedReceivingSendingPattern} p2sh
5128
+ * @property {ActiveBidirectionalReactivatedReceivingSendingPattern} p2wpkh
5129
+ * @property {ActiveBidirectionalReactivatedReceivingSendingPattern} p2wsh
5130
+ * @property {ActiveBidirectionalReactivatedReceivingSendingPattern} p2tr
5131
+ * @property {ActiveBidirectionalReactivatedReceivingSendingPattern} p2a
4749
5132
  */
4750
5133
 
4751
5134
  /**
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
5135
+ * @typedef {Object} SeriesTree_Addrs_Activity_All
5136
+ * @property {_1m1w1y24hBlockPattern} reactivated
5137
+ * @property {_1m1w1y24hBlockPattern} sending
5138
+ * @property {_1m1w1y24hBlockPattern} receiving
5139
+ * @property {_1m1w1y24hBlockPattern} bidirectional
5140
+ * @property {_1m1w1y24hBlockPattern} active
5141
+ */
5142
+
5143
+ /**
5144
+ * @typedef {Object} SeriesTree_Addrs_Reused
5145
+ * @property {FundedTotalPattern} count
5146
+ * @property {SeriesTree_Addrs_Reused_Events} events
5147
+ */
5148
+
5149
+ /**
5150
+ * @typedef {Object} SeriesTree_Addrs_Reused_Events
5151
+ * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern5} outputToReusedAddrCount
5152
+ * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6} outputToReusedAddrShare
5153
+ * @property {_1m1w1y24hBpsPercentRatioPattern} spendableOutputToReusedAddrShare
5154
+ * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern5} inputFromReusedAddrCount
5155
+ * @property {AllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6} inputFromReusedAddrShare
5156
+ * @property {_1m1w1y24hBlockPattern} activeReusedAddrCount
5157
+ * @property {SeriesTree_Addrs_Reused_Events_ActiveReusedAddrShare} activeReusedAddrShare
5158
+ */
5159
+
5160
+ /**
5161
+ * @typedef {Object} SeriesTree_Addrs_Reused_Events_ActiveReusedAddrShare
5162
+ * @property {SeriesPattern18<StoredF32>} block
5163
+ * @property {SeriesPattern1<StoredF32>} _24h
5164
+ * @property {SeriesPattern1<StoredF32>} _1w
5165
+ * @property {SeriesPattern1<StoredF32>} _1m
5166
+ * @property {SeriesPattern1<StoredF32>} _1y
5167
+ */
5168
+
5169
+ /**
5170
+ * @typedef {Object} SeriesTree_Addrs_Exposed
5171
+ * @property {FundedTotalPattern} count
5172
+ * @property {SeriesTree_Addrs_Exposed_Supply} supply
5173
+ */
5174
+
5175
+ /**
5176
+ * @typedef {Object} SeriesTree_Addrs_Exposed_Supply
5177
+ * @property {BtcCentsSatsUsdPattern} all
5178
+ * @property {BtcCentsSatsUsdPattern} p2pk65
5179
+ * @property {BtcCentsSatsUsdPattern} p2pk33
5180
+ * @property {BtcCentsSatsUsdPattern} p2pkh
5181
+ * @property {BtcCentsSatsUsdPattern} p2sh
5182
+ * @property {BtcCentsSatsUsdPattern} p2wpkh
5183
+ * @property {BtcCentsSatsUsdPattern} p2wsh
5184
+ * @property {BtcCentsSatsUsdPattern} p2tr
5185
+ * @property {BtcCentsSatsUsdPattern} p2a
4762
5186
  */
4763
5187
 
4764
5188
  /**
@@ -4777,8 +5201,6 @@ function createTransferPattern(client, acc) {
4777
5201
  /**
4778
5202
  * @typedef {Object} SeriesTree_Scripts
4779
5203
  * @property {SeriesTree_Scripts_Raw} raw
4780
- * @property {SeriesTree_Scripts_Count} count
4781
- * @property {SeriesTree_Scripts_Value} value
4782
5204
  */
4783
5205
 
4784
5206
  /**
@@ -4813,27 +5235,6 @@ function createTransferPattern(client, acc) {
4813
5235
  * @property {SeriesPattern33<TxIndex>} toTxIndex
4814
5236
  */
4815
5237
 
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
5238
  /**
4838
5239
  * @typedef {Object} SeriesTree_Mining
4839
5240
  * @property {SeriesTree_Mining_Rewards} rewards
@@ -4851,8 +5252,8 @@ function createTransferPattern(client, acc) {
4851
5252
 
4852
5253
  /**
4853
5254
  * @typedef {Object} SeriesTree_Mining_Rewards_Subsidy
4854
- * @property {BtcCentsSatsUsdPattern2} block
4855
- * @property {BtcCentsSatsUsdPattern3} cumulative
5255
+ * @property {BtcCentsSatsUsdPattern3} block
5256
+ * @property {BtcCentsSatsUsdPattern} cumulative
4856
5257
  * @property {_1m1w1y24hPattern4} sum
4857
5258
  * @property {_1m1w1y24hPattern3} average
4858
5259
  * @property {_1m1w1y24hBpsPercentRatioPattern} dominance
@@ -4860,8 +5261,8 @@ function createTransferPattern(client, acc) {
4860
5261
 
4861
5262
  /**
4862
5263
  * @typedef {Object} SeriesTree_Mining_Rewards_Fees
4863
- * @property {BtcCentsSatsUsdPattern2} block
4864
- * @property {BtcCentsSatsUsdPattern3} cumulative
5264
+ * @property {BtcCentsSatsUsdPattern3} block
5265
+ * @property {BtcCentsSatsUsdPattern} cumulative
4865
5266
  * @property {_1m1w1y24hPattern4} sum
4866
5267
  * @property {_1m1w1y24hPattern3} average
4867
5268
  * @property {_1m1w1y24hPattern4} min
@@ -4929,8 +5330,8 @@ function createTransferPattern(client, acc) {
4929
5330
 
4930
5331
  /**
4931
5332
  * @typedef {Object} SeriesTree_Cointime_Supply
4932
- * @property {BtcCentsSatsUsdPattern3} vaulted
4933
- * @property {BtcCentsSatsUsdPattern3} active
5333
+ * @property {BtcCentsSatsUsdPattern} vaulted
5334
+ * @property {BtcCentsSatsUsdPattern} active
4934
5335
  */
4935
5336
 
4936
5337
  /**
@@ -5106,7 +5507,6 @@ function createTransferPattern(client, acc) {
5106
5507
 
5107
5508
  /**
5108
5509
  * @typedef {Object} SeriesTree_Indexes_Height
5109
- * @property {SeriesPattern18<Height>} identity
5110
5510
  * @property {SeriesPattern18<Minute10>} minute10
5111
5511
  * @property {SeriesPattern18<Minute30>} minute30
5112
5512
  * @property {SeriesPattern18<Hour1>} hour1
@@ -5127,99 +5527,83 @@ function createTransferPattern(client, acc) {
5127
5527
 
5128
5528
  /**
5129
5529
  * @typedef {Object} SeriesTree_Indexes_Epoch
5130
- * @property {SeriesPattern17<Epoch>} identity
5131
5530
  * @property {SeriesPattern17<Height>} firstHeight
5132
- * @property {SeriesPattern17<StoredU64>} heightCount
5133
5531
  */
5134
5532
 
5135
5533
  /**
5136
5534
  * @typedef {Object} SeriesTree_Indexes_Halving
5137
- * @property {SeriesPattern16<Halving>} identity
5138
5535
  * @property {SeriesPattern16<Height>} firstHeight
5139
5536
  */
5140
5537
 
5141
5538
  /**
5142
5539
  * @typedef {Object} SeriesTree_Indexes_Minute10
5143
- * @property {SeriesPattern3<Minute10>} identity
5144
5540
  * @property {SeriesPattern3<Height>} firstHeight
5145
5541
  */
5146
5542
 
5147
5543
  /**
5148
5544
  * @typedef {Object} SeriesTree_Indexes_Minute30
5149
- * @property {SeriesPattern4<Minute30>} identity
5150
5545
  * @property {SeriesPattern4<Height>} firstHeight
5151
5546
  */
5152
5547
 
5153
5548
  /**
5154
5549
  * @typedef {Object} SeriesTree_Indexes_Hour1
5155
- * @property {SeriesPattern5<Hour1>} identity
5156
5550
  * @property {SeriesPattern5<Height>} firstHeight
5157
5551
  */
5158
5552
 
5159
5553
  /**
5160
5554
  * @typedef {Object} SeriesTree_Indexes_Hour4
5161
- * @property {SeriesPattern6<Hour4>} identity
5162
5555
  * @property {SeriesPattern6<Height>} firstHeight
5163
5556
  */
5164
5557
 
5165
5558
  /**
5166
5559
  * @typedef {Object} SeriesTree_Indexes_Hour12
5167
- * @property {SeriesPattern7<Hour12>} identity
5168
5560
  * @property {SeriesPattern7<Height>} firstHeight
5169
5561
  */
5170
5562
 
5171
5563
  /**
5172
5564
  * @typedef {Object} SeriesTree_Indexes_Day1
5173
- * @property {SeriesPattern8<Day1>} identity
5174
5565
  * @property {SeriesPattern8<Date>} date
5175
5566
  * @property {SeriesPattern8<Height>} firstHeight
5176
- * @property {SeriesPattern8<StoredU64>} heightCount
5177
5567
  */
5178
5568
 
5179
5569
  /**
5180
5570
  * @typedef {Object} SeriesTree_Indexes_Day3
5181
- * @property {SeriesPattern9<Day3>} identity
5571
+ * @property {SeriesPattern9<Date>} date
5182
5572
  * @property {SeriesPattern9<Height>} firstHeight
5183
5573
  */
5184
5574
 
5185
5575
  /**
5186
5576
  * @typedef {Object} SeriesTree_Indexes_Week1
5187
- * @property {SeriesPattern10<Week1>} identity
5188
5577
  * @property {SeriesPattern10<Date>} date
5189
5578
  * @property {SeriesPattern10<Height>} firstHeight
5190
5579
  */
5191
5580
 
5192
5581
  /**
5193
5582
  * @typedef {Object} SeriesTree_Indexes_Month1
5194
- * @property {SeriesPattern11<Month1>} identity
5195
5583
  * @property {SeriesPattern11<Date>} date
5196
5584
  * @property {SeriesPattern11<Height>} firstHeight
5197
5585
  */
5198
5586
 
5199
5587
  /**
5200
5588
  * @typedef {Object} SeriesTree_Indexes_Month3
5201
- * @property {SeriesPattern12<Month3>} identity
5202
5589
  * @property {SeriesPattern12<Date>} date
5203
5590
  * @property {SeriesPattern12<Height>} firstHeight
5204
5591
  */
5205
5592
 
5206
5593
  /**
5207
5594
  * @typedef {Object} SeriesTree_Indexes_Month6
5208
- * @property {SeriesPattern13<Month6>} identity
5209
5595
  * @property {SeriesPattern13<Date>} date
5210
5596
  * @property {SeriesPattern13<Height>} firstHeight
5211
5597
  */
5212
5598
 
5213
5599
  /**
5214
5600
  * @typedef {Object} SeriesTree_Indexes_Year1
5215
- * @property {SeriesPattern14<Year1>} identity
5216
5601
  * @property {SeriesPattern14<Date>} date
5217
5602
  * @property {SeriesPattern14<Height>} firstHeight
5218
5603
  */
5219
5604
 
5220
5605
  /**
5221
5606
  * @typedef {Object} SeriesTree_Indexes_Year10
5222
- * @property {SeriesPattern15<Year10>} identity
5223
5607
  * @property {SeriesPattern15<Date>} date
5224
5608
  * @property {SeriesPattern15<Height>} firstHeight
5225
5609
  */
@@ -5251,35 +5635,28 @@ function createTransferPattern(client, acc) {
5251
5635
  * @typedef {Object} SeriesTree_Indicators
5252
5636
  * @property {BpsRatioPattern2} puellMultiple
5253
5637
  * @property {BpsRatioPattern2} nvt
5254
- * @property {BpsPercentRatioPattern3} gini
5638
+ * @property {BpsPercentRatioPattern2} gini
5255
5639
  * @property {BpsRatioPattern2} rhodlRatio
5256
5640
  * @property {BpsRatioPattern2} thermoCapMultiple
5257
- * @property {SeriesPattern1<StoredF32>} coindaysDestroyedSupplyAdjusted
5258
- * @property {SeriesPattern1<StoredF32>} coinyearsDestroyedSupplyAdjusted
5641
+ * @property {SeriesPattern1<StoredF32>} coindaysDestroyedSupplyAdj
5642
+ * @property {SeriesPattern1<StoredF32>} coinyearsDestroyedSupplyAdj
5259
5643
  * @property {SeriesTree_Indicators_Dormancy} dormancy
5260
5644
  * @property {SeriesPattern1<StoredF32>} stockToFlow
5261
5645
  * @property {SeriesPattern1<StoredF32>} sellerExhaustion
5262
- * @property {SeriesTree_Indicators_RealizedEnvelope} realizedEnvelope
5646
+ * @property {SeriesTree_Indicators_RarityMeter} rarityMeter
5263
5647
  */
5264
5648
 
5265
5649
  /**
5266
5650
  * @typedef {Object} SeriesTree_Indicators_Dormancy
5267
- * @property {SeriesPattern1<StoredF32>} supplyAdjusted
5651
+ * @property {SeriesPattern1<StoredF32>} supplyAdj
5268
5652
  * @property {SeriesPattern1<StoredF32>} flow
5269
5653
  */
5270
5654
 
5271
5655
  /**
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
5656
+ * @typedef {Object} SeriesTree_Indicators_RarityMeter
5657
+ * @property {IndexPct0Pct1Pct2Pct5Pct95Pct98Pct99ScorePattern} full
5658
+ * @property {IndexPct0Pct1Pct2Pct5Pct95Pct98Pct99ScorePattern} local
5659
+ * @property {IndexPct0Pct1Pct2Pct5Pct95Pct98Pct99ScorePattern} cycle
5283
5660
  */
5284
5661
 
5285
5662
  /**
@@ -5324,18 +5701,18 @@ function createTransferPattern(client, acc) {
5324
5701
 
5325
5702
  /**
5326
5703
  * @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
5704
+ * @property {BtcCentsSatsUsdPattern} from2015
5705
+ * @property {BtcCentsSatsUsdPattern} from2016
5706
+ * @property {BtcCentsSatsUsdPattern} from2017
5707
+ * @property {BtcCentsSatsUsdPattern} from2018
5708
+ * @property {BtcCentsSatsUsdPattern} from2019
5709
+ * @property {BtcCentsSatsUsdPattern} from2020
5710
+ * @property {BtcCentsSatsUsdPattern} from2021
5711
+ * @property {BtcCentsSatsUsdPattern} from2022
5712
+ * @property {BtcCentsSatsUsdPattern} from2023
5713
+ * @property {BtcCentsSatsUsdPattern} from2024
5714
+ * @property {BtcCentsSatsUsdPattern} from2025
5715
+ * @property {BtcCentsSatsUsdPattern} from2026
5339
5716
  */
5340
5717
 
5341
5718
  /**
@@ -5470,7 +5847,7 @@ function createTransferPattern(client, acc) {
5470
5847
  * @property {_1m1w1y2wPattern} max
5471
5848
  * @property {SeriesPattern1<StoredF32>} trueRange
5472
5849
  * @property {SeriesPattern1<StoredF32>} trueRangeSum2w
5473
- * @property {BpsPercentRatioPattern3} choppinessIndex2w
5850
+ * @property {BpsPercentRatioPattern2} choppinessIndex2w
5474
5851
  */
5475
5852
 
5476
5853
  /**
@@ -5799,13 +6176,13 @@ function createTransferPattern(client, acc) {
5799
6176
  /**
5800
6177
  * @typedef {Object} SeriesTree_Supply
5801
6178
  * @property {SeriesPattern18<SupplyState>} state
5802
- * @property {BtcCentsSatsUsdPattern3} circulating
6179
+ * @property {BtcCentsSatsUsdPattern} circulating
5803
6180
  * @property {BlockCumulativePattern} burned
5804
6181
  * @property {BpsPercentRatioPattern} inflationRate
5805
6182
  * @property {SeriesTree_Supply_Velocity} velocity
5806
6183
  * @property {CentsDeltaUsdPattern} marketCap
5807
6184
  * @property {_1m1w1y24hPattern<BasisPointsSigned32>} marketMinusRealizedCapGrowthRate
5808
- * @property {BtcCentsSatsUsdPattern3} hodledOrLost
6185
+ * @property {BtcCentsSatsUsdPattern} hodledOrLost
5809
6186
  */
5810
6187
 
5811
6188
  /**
@@ -5850,9 +6227,9 @@ function createTransferPattern(client, acc) {
5850
6227
 
5851
6228
  /**
5852
6229
  * @typedef {Object} SeriesTree_Cohorts_Utxo_All_Supply
5853
- * @property {BtcCentsSatsUsdPattern3} total
6230
+ * @property {BtcCentsSatsUsdPattern} total
5854
6231
  * @property {AbsoluteRatePattern} delta
5855
- * @property {BtcCentsSatsUsdPattern3} half
6232
+ * @property {BtcCentsSatsUsdPattern} half
5856
6233
  * @property {BtcCentsSatsToUsdPattern2} inProfit
5857
6234
  * @property {BtcCentsSatsToUsdPattern2} inLoss
5858
6235
  */
@@ -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
  /**
@@ -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
  /**
@@ -6628,7 +7005,7 @@ function createTransferPattern(client, acc) {
6628
7005
  * @extends BrkClientBase
6629
7006
  */
6630
7007
  class BrkClient extends BrkClientBase {
6631
- VERSION = "v0.3.0-beta.0";
7008
+ VERSION = "v0.3.0-beta.2";
6632
7009
 
6633
7010
  INDEXES = /** @type {const} */ ([
6634
7011
  "minute10",
@@ -7921,7 +8298,6 @@ class BrkClient extends BrkClientBase {
7921
8298
  transactions: {
7922
8299
  raw: {
7923
8300
  firstTxIndex: createSeriesPattern18(this, 'first_tx_index'),
7924
- height: createSeriesPattern19(this, 'height'),
7925
8301
  txid: createSeriesPattern19(this, 'txid'),
7926
8302
  txVersion: createSeriesPattern19(this, 'tx_version'),
7927
8303
  rawLocktime: createSeriesPattern19(this, 'raw_locktime'),
@@ -7933,7 +8309,6 @@ class BrkClient extends BrkClientBase {
7933
8309
  },
7934
8310
  count: {
7935
8311
  total: createAverageBlockCumulativeMaxMedianMinPct10Pct25Pct75Pct90SumPattern(this, 'tx_count'),
7936
- isCoinbase: createSeriesPattern19(this, 'is_coinbase'),
7937
8312
  },
7938
8313
  size: {
7939
8314
  vsize: create_6bBlockTxPattern(this, 'tx_vsize'),
@@ -7947,7 +8322,7 @@ class BrkClient extends BrkClientBase {
7947
8322
  inputValue: createSeriesPattern19(this, 'input_value'),
7948
8323
  outputValue: createSeriesPattern19(this, 'output_value'),
7949
8324
  fee: create_6bBlockTxPattern(this, 'fee'),
7950
- feeRate: create_6bBlockTxPattern(this, 'fee_rate'),
8325
+ feeRate: createSeriesPattern19(this, 'fee_rate'),
7951
8326
  effectiveFeeRate: create_6bBlockTxPattern(this, 'effective_fee_rate'),
7952
8327
  },
7953
8328
  versions: {
@@ -7958,8 +8333,6 @@ class BrkClient extends BrkClientBase {
7958
8333
  volume: {
7959
8334
  transferVolume: createAverageBlockCumulativeSumPattern3(this, 'transfer_volume_bis'),
7960
8335
  txPerSec: create_1m1w1y24hPattern(this, 'tx_per_sec'),
7961
- outputsPerSec: create_1m1w1y24hPattern(this, 'outputs_per_sec'),
7962
- inputsPerSec: create_1m1w1y24hPattern(this, 'inputs_per_sec'),
7963
8336
  },
7964
8337
  },
7965
8338
  inputs: {
@@ -7975,6 +8348,51 @@ class BrkClient extends BrkClientBase {
7975
8348
  value: createSeriesPattern20(this, 'value'),
7976
8349
  },
7977
8350
  count: createCumulativeRollingSumPattern(this, 'input_count'),
8351
+ perSec: create_1m1w1y24hPattern(this, 'inputs_per_sec'),
8352
+ byType: {
8353
+ inputCount: {
8354
+ all: createAverageBlockCumulativeSumPattern(this, 'input_count_bis'),
8355
+ p2pk65: createAverageBlockCumulativeSumPattern(this, 'p2pk65_prevout_count'),
8356
+ p2pk33: createAverageBlockCumulativeSumPattern(this, 'p2pk33_prevout_count'),
8357
+ p2pkh: createAverageBlockCumulativeSumPattern(this, 'p2pkh_prevout_count'),
8358
+ p2ms: createAverageBlockCumulativeSumPattern(this, 'p2ms_prevout_count'),
8359
+ p2sh: createAverageBlockCumulativeSumPattern(this, 'p2sh_prevout_count'),
8360
+ p2wpkh: createAverageBlockCumulativeSumPattern(this, 'p2wpkh_prevout_count'),
8361
+ p2wsh: createAverageBlockCumulativeSumPattern(this, 'p2wsh_prevout_count'),
8362
+ p2tr: createAverageBlockCumulativeSumPattern(this, 'p2tr_prevout_count'),
8363
+ p2a: createAverageBlockCumulativeSumPattern(this, 'p2a_prevout_count'),
8364
+ unknown: createAverageBlockCumulativeSumPattern(this, 'unknown_outputs_prevout_count'),
8365
+ empty: createAverageBlockCumulativeSumPattern(this, 'empty_outputs_prevout_count'),
8366
+ },
8367
+ inputShare: {
8368
+ p2pk65: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2pk65_prevout_share'),
8369
+ p2pk33: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2pk33_prevout_share'),
8370
+ p2pkh: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2pkh_prevout_share'),
8371
+ p2ms: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2ms_prevout_share'),
8372
+ p2sh: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2sh_prevout_share'),
8373
+ p2wpkh: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2wpkh_prevout_share'),
8374
+ p2wsh: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2wsh_prevout_share'),
8375
+ p2tr: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2tr_prevout_share'),
8376
+ p2a: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2a_prevout_share'),
8377
+ unknown: create_1m1w1y24hBpsPercentRatioPattern(this, 'unknown_outputs_prevout_share'),
8378
+ empty: create_1m1w1y24hBpsPercentRatioPattern(this, 'empty_outputs_prevout_share'),
8379
+ },
8380
+ txCount: {
8381
+ all: createAverageBlockCumulativeSumPattern(this, 'non_coinbase_tx_count'),
8382
+ p2pk65: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2pk65_prevout'),
8383
+ p2pk33: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2pk33_prevout'),
8384
+ p2pkh: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2pkh_prevout'),
8385
+ p2ms: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2ms_prevout'),
8386
+ p2sh: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2sh_prevout'),
8387
+ p2wpkh: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2wpkh_prevout'),
8388
+ p2wsh: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2wsh_prevout'),
8389
+ p2tr: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2tr_prevout'),
8390
+ p2a: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_p2a_prevout'),
8391
+ unknown: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_unknown_outputs_prevout'),
8392
+ empty: createAverageBlockCumulativeSumPattern(this, 'tx_count_with_empty_outputs_prevout'),
8393
+ },
8394
+ txShare: createEmptyP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2(this, 'tx_share_with'),
8395
+ },
7978
8396
  },
7979
8397
  outputs: {
7980
8398
  raw: {
@@ -7989,7 +8407,47 @@ class BrkClient extends BrkClientBase {
7989
8407
  },
7990
8408
  count: {
7991
8409
  total: createCumulativeRollingSumPattern(this, 'output_count'),
7992
- unspent: createSeriesPattern1(this, 'utxo_count_bis'),
8410
+ },
8411
+ perSec: create_1m1w1y24hPattern(this, 'outputs_per_sec'),
8412
+ unspent: {
8413
+ count: createSeriesPattern1(this, 'utxo_count_bis'),
8414
+ },
8415
+ byType: {
8416
+ outputCount: {
8417
+ all: createAverageBlockCumulativeSumPattern(this, 'output_count_bis'),
8418
+ p2pk65: createAverageBlockCumulativeSumPattern(this, 'p2pk65_output_count'),
8419
+ p2pk33: createAverageBlockCumulativeSumPattern(this, 'p2pk33_output_count'),
8420
+ p2pkh: createAverageBlockCumulativeSumPattern(this, 'p2pkh_output_count'),
8421
+ p2ms: createAverageBlockCumulativeSumPattern(this, 'p2ms_output_count'),
8422
+ p2sh: createAverageBlockCumulativeSumPattern(this, 'p2sh_output_count'),
8423
+ p2wpkh: createAverageBlockCumulativeSumPattern(this, 'p2wpkh_output_count'),
8424
+ p2wsh: createAverageBlockCumulativeSumPattern(this, 'p2wsh_output_count'),
8425
+ p2tr: createAverageBlockCumulativeSumPattern(this, 'p2tr_output_count'),
8426
+ p2a: createAverageBlockCumulativeSumPattern(this, 'p2a_output_count'),
8427
+ unknown: createAverageBlockCumulativeSumPattern(this, 'unknown_outputs_output_count'),
8428
+ empty: createAverageBlockCumulativeSumPattern(this, 'empty_outputs_output_count'),
8429
+ opReturn: createAverageBlockCumulativeSumPattern(this, 'op_return_output_count'),
8430
+ },
8431
+ spendableOutputCount: createAverageBlockCumulativeSumPattern(this, 'spendable_output_count'),
8432
+ outputShare: {
8433
+ p2pk65: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2pk65_output_share'),
8434
+ p2pk33: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2pk33_output_share'),
8435
+ p2pkh: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2pkh_output_share'),
8436
+ p2ms: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2ms_output_share'),
8437
+ p2sh: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2sh_output_share'),
8438
+ p2wpkh: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2wpkh_output_share'),
8439
+ p2wsh: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2wsh_output_share'),
8440
+ p2tr: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2tr_output_share'),
8441
+ p2a: create_1m1w1y24hBpsPercentRatioPattern(this, 'p2a_output_share'),
8442
+ unknown: create_1m1w1y24hBpsPercentRatioPattern(this, 'unknown_outputs_output_share'),
8443
+ empty: create_1m1w1y24hBpsPercentRatioPattern(this, 'empty_outputs_output_share'),
8444
+ opReturn: create_1m1w1y24hBpsPercentRatioPattern(this, 'op_return_output_share'),
8445
+ },
8446
+ txCount: createAllEmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern(this, 'tx_count'),
8447
+ txShare: createEmptyOpP2aP2msP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshUnknownPattern2(this, 'tx_share_with'),
8448
+ },
8449
+ value: {
8450
+ opReturn: createBlockCumulativePattern(this, 'op_return_value'),
7993
8451
  },
7994
8452
  },
7995
8453
  addrs: {
@@ -8046,27 +8504,55 @@ class BrkClient extends BrkClientBase {
8046
8504
  funded: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3(this, 'addr_count'),
8047
8505
  empty: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern3(this, 'empty_addr_count'),
8048
8506
  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'),
8507
+ all: {
8508
+ reactivated: create_1m1w1y24hBlockPattern(this, 'reactivated_addrs'),
8509
+ sending: create_1m1w1y24hBlockPattern(this, 'sending_addrs'),
8510
+ receiving: create_1m1w1y24hBlockPattern(this, 'receiving_addrs'),
8511
+ bidirectional: create_1m1w1y24hBlockPattern(this, 'bidirectional_addrs'),
8512
+ active: create_1m1w1y24hBlockPattern(this, 'active_addrs'),
8513
+ },
8514
+ p2pk65: createActiveBidirectionalReactivatedReceivingSendingPattern(this, 'p2pk65'),
8515
+ p2pk33: createActiveBidirectionalReactivatedReceivingSendingPattern(this, 'p2pk33'),
8516
+ p2pkh: createActiveBidirectionalReactivatedReceivingSendingPattern(this, 'p2pkh'),
8517
+ p2sh: createActiveBidirectionalReactivatedReceivingSendingPattern(this, 'p2sh'),
8518
+ p2wpkh: createActiveBidirectionalReactivatedReceivingSendingPattern(this, 'p2wpkh'),
8519
+ p2wsh: createActiveBidirectionalReactivatedReceivingSendingPattern(this, 'p2wsh'),
8520
+ p2tr: createActiveBidirectionalReactivatedReceivingSendingPattern(this, 'p2tr'),
8521
+ p2a: createActiveBidirectionalReactivatedReceivingSendingPattern(this, 'p2a'),
8058
8522
  },
8059
8523
  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
+ new: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern5(this, 'new_addr_count'),
8525
+ reused: {
8526
+ count: createFundedTotalPattern(this, 'reused_addr_count'),
8527
+ events: {
8528
+ outputToReusedAddrCount: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern5(this, 'output_to_reused_addr_count'),
8529
+ outputToReusedAddrShare: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6(this, 'output_to_reused_addr_share'),
8530
+ spendableOutputToReusedAddrShare: create_1m1w1y24hBpsPercentRatioPattern(this, 'spendable_output_to_reused_addr_share'),
8531
+ inputFromReusedAddrCount: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern5(this, 'input_from_reused_addr_count'),
8532
+ inputFromReusedAddrShare: createAllP2aP2pk33P2pk65P2pkhP2shP2trP2wpkhP2wshPattern6(this, 'input_from_reused_addr_share'),
8533
+ activeReusedAddrCount: create_1m1w1y24hBlockPattern(this, 'active_reused_addr_count'),
8534
+ activeReusedAddrShare: {
8535
+ block: createSeriesPattern18(this, 'active_reused_addr_share'),
8536
+ _24h: createSeriesPattern1(this, 'active_reused_addr_share_average_24h'),
8537
+ _1w: createSeriesPattern1(this, 'active_reused_addr_share_average_1w'),
8538
+ _1m: createSeriesPattern1(this, 'active_reused_addr_share_average_1m'),
8539
+ _1y: createSeriesPattern1(this, 'active_reused_addr_share_average_1y'),
8540
+ },
8541
+ },
8542
+ },
8543
+ exposed: {
8544
+ count: createFundedTotalPattern(this, 'exposed_addr_count'),
8545
+ supply: {
8546
+ all: createBtcCentsSatsUsdPattern(this, 'exposed_addr_supply'),
8547
+ p2pk65: createBtcCentsSatsUsdPattern(this, 'p2pk65_exposed_addr_supply'),
8548
+ p2pk33: createBtcCentsSatsUsdPattern(this, 'p2pk33_exposed_addr_supply'),
8549
+ p2pkh: createBtcCentsSatsUsdPattern(this, 'p2pkh_exposed_addr_supply'),
8550
+ p2sh: createBtcCentsSatsUsdPattern(this, 'p2sh_exposed_addr_supply'),
8551
+ p2wpkh: createBtcCentsSatsUsdPattern(this, 'p2wpkh_exposed_addr_supply'),
8552
+ p2wsh: createBtcCentsSatsUsdPattern(this, 'p2wsh_exposed_addr_supply'),
8553
+ p2tr: createBtcCentsSatsUsdPattern(this, 'p2tr_exposed_addr_supply'),
8554
+ p2a: createBtcCentsSatsUsdPattern(this, 'p2a_exposed_addr_supply'),
8555
+ },
8070
8556
  },
8071
8557
  delta: {
8072
8558
  all: createAbsoluteRatePattern(this, 'addr_count'),
@@ -8099,37 +8585,20 @@ class BrkClient extends BrkClientBase {
8099
8585
  toTxIndex: createSeriesPattern33(this, 'tx_index'),
8100
8586
  },
8101
8587
  },
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
8588
  },
8120
8589
  mining: {
8121
8590
  rewards: {
8122
8591
  coinbase: createAverageBlockCumulativeSumPattern3(this, 'coinbase'),
8123
8592
  subsidy: {
8124
- block: createBtcCentsSatsUsdPattern2(this, 'subsidy'),
8125
- cumulative: createBtcCentsSatsUsdPattern3(this, 'subsidy_cumulative'),
8593
+ block: createBtcCentsSatsUsdPattern3(this, 'subsidy'),
8594
+ cumulative: createBtcCentsSatsUsdPattern(this, 'subsidy_cumulative'),
8126
8595
  sum: create_1m1w1y24hPattern4(this, 'subsidy_sum'),
8127
8596
  average: create_1m1w1y24hPattern3(this, 'subsidy_average'),
8128
8597
  dominance: create_1m1w1y24hBpsPercentRatioPattern(this, 'subsidy_dominance'),
8129
8598
  },
8130
8599
  fees: {
8131
- block: createBtcCentsSatsUsdPattern2(this, 'fees'),
8132
- cumulative: createBtcCentsSatsUsdPattern3(this, 'fees_cumulative'),
8600
+ block: createBtcCentsSatsUsdPattern3(this, 'fees'),
8601
+ cumulative: createBtcCentsSatsUsdPattern(this, 'fees_cumulative'),
8133
8602
  sum: create_1m1w1y24hPattern4(this, 'fees_sum'),
8134
8603
  average: create_1m1w1y24hPattern3(this, 'fees_average'),
8135
8604
  min: create_1m1w1y24hPattern4(this, 'fees_min'),
@@ -8176,8 +8645,8 @@ class BrkClient extends BrkClientBase {
8176
8645
  coinblocksDestroyed: createAverageBlockCumulativeSumPattern(this, 'coinblocks_destroyed'),
8177
8646
  },
8178
8647
  supply: {
8179
- vaulted: createBtcCentsSatsUsdPattern3(this, 'vaulted_supply'),
8180
- active: createBtcCentsSatsUsdPattern3(this, 'active_supply'),
8648
+ vaulted: createBtcCentsSatsUsdPattern(this, 'vaulted_supply'),
8649
+ active: createBtcCentsSatsUsdPattern(this, 'active_supply'),
8181
8650
  },
8182
8651
  value: {
8183
8652
  destroyed: createAverageBlockCumulativeSumPattern(this, 'cointime_value_destroyed'),
@@ -8278,7 +8747,6 @@ class BrkClient extends BrkClientBase {
8278
8747
  },
8279
8748
  },
8280
8749
  height: {
8281
- identity: createSeriesPattern18(this, 'height'),
8282
8750
  minute10: createSeriesPattern18(this, 'minute10'),
8283
8751
  minute30: createSeriesPattern18(this, 'minute30'),
8284
8752
  hour1: createSeriesPattern18(this, 'hour1'),
@@ -8297,71 +8765,55 @@ class BrkClient extends BrkClientBase {
8297
8765
  txIndexCount: createSeriesPattern18(this, 'tx_index_count'),
8298
8766
  },
8299
8767
  epoch: {
8300
- identity: createSeriesPattern17(this, 'epoch'),
8301
8768
  firstHeight: createSeriesPattern17(this, 'first_height'),
8302
- heightCount: createSeriesPattern17(this, 'height_count'),
8303
8769
  },
8304
8770
  halving: {
8305
- identity: createSeriesPattern16(this, 'halving'),
8306
8771
  firstHeight: createSeriesPattern16(this, 'first_height'),
8307
8772
  },
8308
8773
  minute10: {
8309
- identity: createSeriesPattern3(this, 'minute10_index'),
8310
8774
  firstHeight: createSeriesPattern3(this, 'first_height'),
8311
8775
  },
8312
8776
  minute30: {
8313
- identity: createSeriesPattern4(this, 'minute30_index'),
8314
8777
  firstHeight: createSeriesPattern4(this, 'first_height'),
8315
8778
  },
8316
8779
  hour1: {
8317
- identity: createSeriesPattern5(this, 'hour1_index'),
8318
8780
  firstHeight: createSeriesPattern5(this, 'first_height'),
8319
8781
  },
8320
8782
  hour4: {
8321
- identity: createSeriesPattern6(this, 'hour4_index'),
8322
8783
  firstHeight: createSeriesPattern6(this, 'first_height'),
8323
8784
  },
8324
8785
  hour12: {
8325
- identity: createSeriesPattern7(this, 'hour12_index'),
8326
8786
  firstHeight: createSeriesPattern7(this, 'first_height'),
8327
8787
  },
8328
8788
  day1: {
8329
- identity: createSeriesPattern8(this, 'day1_index'),
8330
8789
  date: createSeriesPattern8(this, 'date'),
8331
8790
  firstHeight: createSeriesPattern8(this, 'first_height'),
8332
- heightCount: createSeriesPattern8(this, 'height_count'),
8333
8791
  },
8334
8792
  day3: {
8335
- identity: createSeriesPattern9(this, 'day3_index'),
8793
+ date: createSeriesPattern9(this, 'date'),
8336
8794
  firstHeight: createSeriesPattern9(this, 'first_height'),
8337
8795
  },
8338
8796
  week1: {
8339
- identity: createSeriesPattern10(this, 'week1_index'),
8340
8797
  date: createSeriesPattern10(this, 'date'),
8341
8798
  firstHeight: createSeriesPattern10(this, 'first_height'),
8342
8799
  },
8343
8800
  month1: {
8344
- identity: createSeriesPattern11(this, 'month1_index'),
8345
8801
  date: createSeriesPattern11(this, 'date'),
8346
8802
  firstHeight: createSeriesPattern11(this, 'first_height'),
8347
8803
  },
8348
8804
  month3: {
8349
- identity: createSeriesPattern12(this, 'month3_index'),
8350
8805
  date: createSeriesPattern12(this, 'date'),
8351
8806
  firstHeight: createSeriesPattern12(this, 'first_height'),
8352
8807
  },
8353
8808
  month6: {
8354
- identity: createSeriesPattern13(this, 'month6_index'),
8355
8809
  date: createSeriesPattern13(this, 'date'),
8356
8810
  firstHeight: createSeriesPattern13(this, 'first_height'),
8357
8811
  },
8358
8812
  year1: {
8359
- identity: createSeriesPattern14(this, 'year1_index'),
8360
8813
  date: createSeriesPattern14(this, 'date'),
8361
8814
  firstHeight: createSeriesPattern14(this, 'first_height'),
8362
8815
  },
8363
8816
  year10: {
8364
- identity: createSeriesPattern15(this, 'year10_index'),
8365
8817
  date: createSeriesPattern15(this, 'date'),
8366
8818
  firstHeight: createSeriesPattern15(this, 'first_height'),
8367
8819
  },
@@ -8384,28 +8836,21 @@ class BrkClient extends BrkClientBase {
8384
8836
  indicators: {
8385
8837
  puellMultiple: createBpsRatioPattern2(this, 'puell_multiple'),
8386
8838
  nvt: createBpsRatioPattern2(this, 'nvt'),
8387
- gini: createBpsPercentRatioPattern3(this, 'gini'),
8839
+ gini: createBpsPercentRatioPattern2(this, 'gini'),
8388
8840
  rhodlRatio: createBpsRatioPattern2(this, 'rhodl_ratio'),
8389
8841
  thermoCapMultiple: createBpsRatioPattern2(this, 'thermo_cap_multiple'),
8390
- coindaysDestroyedSupplyAdjusted: createSeriesPattern1(this, 'coindays_destroyed_supply_adjusted'),
8391
- coinyearsDestroyedSupplyAdjusted: createSeriesPattern1(this, 'coinyears_destroyed_supply_adjusted'),
8842
+ coindaysDestroyedSupplyAdj: createSeriesPattern1(this, 'coindays_destroyed_supply_adj'),
8843
+ coinyearsDestroyedSupplyAdj: createSeriesPattern1(this, 'coinyears_destroyed_supply_adj'),
8392
8844
  dormancy: {
8393
- supplyAdjusted: createSeriesPattern1(this, 'dormancy_supply_adjusted'),
8845
+ supplyAdj: createSeriesPattern1(this, 'dormancy_supply_adj'),
8394
8846
  flow: createSeriesPattern1(this, 'dormancy_flow'),
8395
8847
  },
8396
8848
  stockToFlow: createSeriesPattern1(this, 'stock_to_flow'),
8397
8849
  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'),
8850
+ rarityMeter: {
8851
+ full: createIndexPct0Pct1Pct2Pct5Pct95Pct98Pct99ScorePattern(this, 'rarity_meter'),
8852
+ local: createIndexPct0Pct1Pct2Pct5Pct95Pct98Pct99ScorePattern(this, 'local_rarity_meter'),
8853
+ cycle: createIndexPct0Pct1Pct2Pct5Pct95Pct98Pct99ScorePattern(this, 'cycle_rarity_meter'),
8409
8854
  },
8410
8855
  },
8411
8856
  investing: {
@@ -8433,18 +8878,18 @@ class BrkClient extends BrkClientBase {
8433
8878
  },
8434
8879
  class: {
8435
8880
  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'),
8881
+ from2015: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2015'),
8882
+ from2016: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2016'),
8883
+ from2017: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2017'),
8884
+ from2018: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2018'),
8885
+ from2019: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2019'),
8886
+ from2020: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2020'),
8887
+ from2021: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2021'),
8888
+ from2022: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2022'),
8889
+ from2023: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2023'),
8890
+ from2024: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2024'),
8891
+ from2025: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2025'),
8892
+ from2026: createBtcCentsSatsUsdPattern(this, 'dca_stack_from_2026'),
8448
8893
  },
8449
8894
  dcaCostBasis: {
8450
8895
  from2015: createCentsSatsUsdPattern(this, 'dca_cost_basis_from_2015'),
@@ -8542,7 +8987,7 @@ class BrkClient extends BrkClientBase {
8542
8987
  max: create_1m1w1y2wPattern(this, 'price_max'),
8543
8988
  trueRange: createSeriesPattern1(this, 'price_true_range'),
8544
8989
  trueRangeSum2w: createSeriesPattern1(this, 'price_true_range_sum_2w'),
8545
- choppinessIndex2w: createBpsPercentRatioPattern3(this, 'price_choppiness_index_2w'),
8990
+ choppinessIndex2w: createBpsPercentRatioPattern2(this, 'price_choppiness_index_2w'),
8546
8991
  },
8547
8992
  movingAverage: {
8548
8993
  sma: {
@@ -8820,7 +9265,7 @@ class BrkClient extends BrkClientBase {
8820
9265
  },
8821
9266
  supply: {
8822
9267
  state: createSeriesPattern18(this, 'supply_state'),
8823
- circulating: createBtcCentsSatsUsdPattern3(this, 'circulating_supply'),
9268
+ circulating: createBtcCentsSatsUsdPattern(this, 'circulating_supply'),
8824
9269
  burned: createBlockCumulativePattern(this, 'unspendable_supply'),
8825
9270
  inflationRate: createBpsPercentRatioPattern(this, 'inflation_rate'),
8826
9271
  velocity: {
@@ -8829,15 +9274,15 @@ class BrkClient extends BrkClientBase {
8829
9274
  },
8830
9275
  marketCap: createCentsDeltaUsdPattern(this, 'market_cap'),
8831
9276
  marketMinusRealizedCapGrowthRate: create_1m1w1y24hPattern(this, 'market_minus_realized_cap_growth_rate'),
8832
- hodledOrLost: createBtcCentsSatsUsdPattern3(this, 'hodled_or_lost_supply'),
9277
+ hodledOrLost: createBtcCentsSatsUsdPattern(this, 'hodled_or_lost_supply'),
8833
9278
  },
8834
9279
  cohorts: {
8835
9280
  utxo: {
8836
9281
  all: {
8837
9282
  supply: {
8838
- total: createBtcCentsSatsUsdPattern3(this, 'supply'),
9283
+ total: createBtcCentsSatsUsdPattern(this, 'supply'),
8839
9284
  delta: createAbsoluteRatePattern(this, 'supply_delta'),
8840
- half: createBtcCentsSatsUsdPattern3(this, 'supply_half'),
9285
+ half: createBtcCentsSatsUsdPattern(this, 'supply_half'),
8841
9286
  inProfit: createBtcCentsSatsToUsdPattern2(this, 'supply_in_profit'),
8842
9287
  inLoss: createBtcCentsSatsToUsdPattern2(this, 'supply_in_loss'),
8843
9288
  },
@@ -8959,22 +9404,22 @@ class BrkClient extends BrkClientBase {
8959
9404
  max: createCentsSatsUsdPattern(this, 'cost_basis_max'),
8960
9405
  perCoin: createPct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern(this, 'cost_basis_per_coin'),
8961
9406
  perDollar: createPct05Pct10Pct15Pct20Pct25Pct30Pct35Pct40Pct45Pct50Pct55Pct60Pct65Pct70Pct75Pct80Pct85Pct90Pct95Pattern(this, 'cost_basis_per_dollar'),
8962
- supplyDensity: createBpsPercentRatioPattern3(this, 'supply_density'),
9407
+ supplyDensity: createBpsPercentRatioPattern2(this, 'supply_density'),
8963
9408
  },
8964
9409
  unrealized: {
8965
9410
  nupl: createBpsRatioPattern(this, 'nupl'),
8966
9411
  profit: {
8967
9412
  usd: createSeriesPattern1(this, 'unrealized_profit'),
8968
9413
  cents: createSeriesPattern1(this, 'unrealized_profit_cents'),
8969
- toMcap: createBpsPercentRatioPattern3(this, 'unrealized_profit_to_mcap'),
8970
- toOwnGrossPnl: createBpsPercentRatioPattern3(this, 'unrealized_profit_to_own_gross_pnl'),
9414
+ toMcap: createBpsPercentRatioPattern2(this, 'unrealized_profit_to_mcap'),
9415
+ toOwnGrossPnl: createBpsPercentRatioPattern2(this, 'unrealized_profit_to_own_gross_pnl'),
8971
9416
  },
8972
9417
  loss: {
8973
9418
  usd: createSeriesPattern1(this, 'unrealized_loss'),
8974
9419
  cents: createSeriesPattern1(this, 'unrealized_loss_cents'),
8975
9420
  negative: createSeriesPattern1(this, 'unrealized_loss_neg'),
8976
- toMcap: createBpsPercentRatioPattern3(this, 'unrealized_loss_to_mcap'),
8977
- toOwnGrossPnl: createBpsPercentRatioPattern3(this, 'unrealized_loss_to_own_gross_pnl'),
9421
+ toMcap: createBpsPercentRatioPattern2(this, 'unrealized_loss_to_mcap'),
9422
+ toOwnGrossPnl: createBpsPercentRatioPattern2(this, 'unrealized_loss_to_own_gross_pnl'),
8978
9423
  },
8979
9424
  netPnl: {
8980
9425
  usd: createSeriesPattern1(this, 'net_unrealized_pnl'),
@@ -9500,7 +9945,8 @@ class BrkClient extends BrkClientBase {
9500
9945
  * @returns {Promise<*>}
9501
9946
  */
9502
9947
  async getApi({ signal, onUpdate } = {}) {
9503
- return this.getJson(`/api.json`, { signal, onUpdate });
9948
+ const path = `/api.json`;
9949
+ return this.getText(path, { signal, onUpdate });
9504
9950
  }
9505
9951
 
9506
9952
  /**
@@ -9517,7 +9963,8 @@ class BrkClient extends BrkClientBase {
9517
9963
  * @returns {Promise<AddrStats>}
9518
9964
  */
9519
9965
  async getAddress(address, { signal, onUpdate } = {}) {
9520
- return this.getJson(`/api/address/${address}`, { signal, onUpdate });
9966
+ const path = `/api/address/${address}`;
9967
+ return this.getJson(path, { signal, onUpdate });
9521
9968
  }
9522
9969
 
9523
9970
  /**
@@ -9578,7 +10025,8 @@ class BrkClient extends BrkClientBase {
9578
10025
  * @returns {Promise<Txid[]>}
9579
10026
  */
9580
10027
  async getAddressMempoolTxs(address, { signal, onUpdate } = {}) {
9581
- return this.getJson(`/api/address/${address}/txs/mempool`, { signal, onUpdate });
10028
+ const path = `/api/address/${address}/txs/mempool`;
10029
+ return this.getJson(path, { signal, onUpdate });
9582
10030
  }
9583
10031
 
9584
10032
  /**
@@ -9595,7 +10043,8 @@ class BrkClient extends BrkClientBase {
9595
10043
  * @returns {Promise<Utxo[]>}
9596
10044
  */
9597
10045
  async getAddressUtxos(address, { signal, onUpdate } = {}) {
9598
- return this.getJson(`/api/address/${address}/utxo`, { signal, onUpdate });
10046
+ const path = `/api/address/${address}/utxo`;
10047
+ return this.getJson(path, { signal, onUpdate });
9599
10048
  }
9600
10049
 
9601
10050
  /**
@@ -9612,7 +10061,8 @@ class BrkClient extends BrkClientBase {
9612
10061
  * @returns {Promise<*>}
9613
10062
  */
9614
10063
  async getBlockByHeight(height, { signal, onUpdate } = {}) {
9615
- return this.getJson(`/api/block-height/${height}`, { signal, onUpdate });
10064
+ const path = `/api/block-height/${height}`;
10065
+ return this.getText(path, { signal, onUpdate });
9616
10066
  }
9617
10067
 
9618
10068
  /**
@@ -9629,7 +10079,8 @@ class BrkClient extends BrkClientBase {
9629
10079
  * @returns {Promise<BlockInfo>}
9630
10080
  */
9631
10081
  async getBlock(hash, { signal, onUpdate } = {}) {
9632
- return this.getJson(`/api/block/${hash}`, { signal, onUpdate });
10082
+ const path = `/api/block/${hash}`;
10083
+ return this.getJson(path, { signal, onUpdate });
9633
10084
  }
9634
10085
 
9635
10086
  /**
@@ -9646,7 +10097,8 @@ class BrkClient extends BrkClientBase {
9646
10097
  * @returns {Promise<*>}
9647
10098
  */
9648
10099
  async getBlockHeader(hash, { signal, onUpdate } = {}) {
9649
- return this.getJson(`/api/block/${hash}/header`, { signal, onUpdate });
10100
+ const path = `/api/block/${hash}/header`;
10101
+ return this.getText(path, { signal, onUpdate });
9650
10102
  }
9651
10103
 
9652
10104
  /**
@@ -9663,7 +10115,8 @@ class BrkClient extends BrkClientBase {
9663
10115
  * @returns {Promise<*>}
9664
10116
  */
9665
10117
  async getBlockRaw(hash, { signal, onUpdate } = {}) {
9666
- return this.getJson(`/api/block/${hash}/raw`, { signal, onUpdate });
10118
+ const path = `/api/block/${hash}/raw`;
10119
+ return this.getText(path, { signal, onUpdate });
9667
10120
  }
9668
10121
 
9669
10122
  /**
@@ -9680,7 +10133,8 @@ class BrkClient extends BrkClientBase {
9680
10133
  * @returns {Promise<BlockStatus>}
9681
10134
  */
9682
10135
  async getBlockStatus(hash, { signal, onUpdate } = {}) {
9683
- return this.getJson(`/api/block/${hash}/status`, { signal, onUpdate });
10136
+ const path = `/api/block/${hash}/status`;
10137
+ return this.getJson(path, { signal, onUpdate });
9684
10138
  }
9685
10139
 
9686
10140
  /**
@@ -9698,7 +10152,8 @@ class BrkClient extends BrkClientBase {
9698
10152
  * @returns {Promise<*>}
9699
10153
  */
9700
10154
  async getBlockTxid(hash, index, { signal, onUpdate } = {}) {
9701
- return this.getJson(`/api/block/${hash}/txid/${index}`, { signal, onUpdate });
10155
+ const path = `/api/block/${hash}/txid/${index}`;
10156
+ return this.getText(path, { signal, onUpdate });
9702
10157
  }
9703
10158
 
9704
10159
  /**
@@ -9715,7 +10170,8 @@ class BrkClient extends BrkClientBase {
9715
10170
  * @returns {Promise<Txid[]>}
9716
10171
  */
9717
10172
  async getBlockTxids(hash, { signal, onUpdate } = {}) {
9718
- return this.getJson(`/api/block/${hash}/txids`, { signal, onUpdate });
10173
+ const path = `/api/block/${hash}/txids`;
10174
+ return this.getJson(path, { signal, onUpdate });
9719
10175
  }
9720
10176
 
9721
10177
  /**
@@ -9732,7 +10188,8 @@ class BrkClient extends BrkClientBase {
9732
10188
  * @returns {Promise<Transaction[]>}
9733
10189
  */
9734
10190
  async getBlockTxs(hash, { signal, onUpdate } = {}) {
9735
- return this.getJson(`/api/block/${hash}/txs`, { signal, onUpdate });
10191
+ const path = `/api/block/${hash}/txs`;
10192
+ return this.getJson(path, { signal, onUpdate });
9736
10193
  }
9737
10194
 
9738
10195
  /**
@@ -9750,7 +10207,8 @@ class BrkClient extends BrkClientBase {
9750
10207
  * @returns {Promise<Transaction[]>}
9751
10208
  */
9752
10209
  async getBlockTxsFromIndex(hash, start_index, { signal, onUpdate } = {}) {
9753
- return this.getJson(`/api/block/${hash}/txs/${start_index}`, { signal, onUpdate });
10210
+ const path = `/api/block/${hash}/txs/${start_index}`;
10211
+ return this.getJson(path, { signal, onUpdate });
9754
10212
  }
9755
10213
 
9756
10214
  /**
@@ -9765,7 +10223,8 @@ class BrkClient extends BrkClientBase {
9765
10223
  * @returns {Promise<BlockInfo[]>}
9766
10224
  */
9767
10225
  async getBlocks({ signal, onUpdate } = {}) {
9768
- return this.getJson(`/api/blocks`, { signal, onUpdate });
10226
+ const path = `/api/blocks`;
10227
+ return this.getJson(path, { signal, onUpdate });
9769
10228
  }
9770
10229
 
9771
10230
  /**
@@ -9780,7 +10239,8 @@ class BrkClient extends BrkClientBase {
9780
10239
  * @returns {Promise<*>}
9781
10240
  */
9782
10241
  async getBlockTipHash({ signal, onUpdate } = {}) {
9783
- return this.getJson(`/api/blocks/tip/hash`, { signal, onUpdate });
10242
+ const path = `/api/blocks/tip/hash`;
10243
+ return this.getText(path, { signal, onUpdate });
9784
10244
  }
9785
10245
 
9786
10246
  /**
@@ -9795,7 +10255,8 @@ class BrkClient extends BrkClientBase {
9795
10255
  * @returns {Promise<*>}
9796
10256
  */
9797
10257
  async getBlockTipHeight({ signal, onUpdate } = {}) {
9798
- return this.getJson(`/api/blocks/tip/height`, { signal, onUpdate });
10258
+ const path = `/api/blocks/tip/height`;
10259
+ return this.getText(path, { signal, onUpdate });
9799
10260
  }
9800
10261
 
9801
10262
  /**
@@ -9812,7 +10273,8 @@ class BrkClient extends BrkClientBase {
9812
10273
  * @returns {Promise<BlockInfo[]>}
9813
10274
  */
9814
10275
  async getBlocksFromHeight(height, { signal, onUpdate } = {}) {
9815
- return this.getJson(`/api/blocks/${height}`, { signal, onUpdate });
10276
+ const path = `/api/blocks/${height}`;
10277
+ return this.getJson(path, { signal, onUpdate });
9816
10278
  }
9817
10279
 
9818
10280
  /**
@@ -9827,7 +10289,8 @@ class BrkClient extends BrkClientBase {
9827
10289
  * @returns {Promise<MempoolInfo>}
9828
10290
  */
9829
10291
  async getMempool({ signal, onUpdate } = {}) {
9830
- return this.getJson(`/api/mempool`, { signal, onUpdate });
10292
+ const path = `/api/mempool`;
10293
+ return this.getJson(path, { signal, onUpdate });
9831
10294
  }
9832
10295
 
9833
10296
  /**
@@ -9840,7 +10303,8 @@ class BrkClient extends BrkClientBase {
9840
10303
  * @returns {Promise<Dollars>}
9841
10304
  */
9842
10305
  async getLivePrice({ signal, onUpdate } = {}) {
9843
- return this.getJson(`/api/mempool/price`, { signal, onUpdate });
10306
+ const path = `/api/mempool/price`;
10307
+ return this.getJson(path, { signal, onUpdate });
9844
10308
  }
9845
10309
 
9846
10310
  /**
@@ -9855,7 +10319,8 @@ class BrkClient extends BrkClientBase {
9855
10319
  * @returns {Promise<MempoolRecentTx[]>}
9856
10320
  */
9857
10321
  async getMempoolRecent({ signal, onUpdate } = {}) {
9858
- return this.getJson(`/api/mempool/recent`, { signal, onUpdate });
10322
+ const path = `/api/mempool/recent`;
10323
+ return this.getJson(path, { signal, onUpdate });
9859
10324
  }
9860
10325
 
9861
10326
  /**
@@ -9870,7 +10335,8 @@ class BrkClient extends BrkClientBase {
9870
10335
  * @returns {Promise<Txid[]>}
9871
10336
  */
9872
10337
  async getMempoolTxids({ signal, onUpdate } = {}) {
9873
- return this.getJson(`/api/mempool/txids`, { signal, onUpdate });
10338
+ const path = `/api/mempool/txids`;
10339
+ return this.getJson(path, { signal, onUpdate });
9874
10340
  }
9875
10341
 
9876
10342
  /**
@@ -9883,7 +10349,8 @@ class BrkClient extends BrkClientBase {
9883
10349
  * @returns {Promise<TreeNode>}
9884
10350
  */
9885
10351
  async getSeriesTree({ signal, onUpdate } = {}) {
9886
- return this.getJson(`/api/series`, { signal, onUpdate });
10352
+ const path = `/api/series`;
10353
+ return this.getJson(path, { signal, onUpdate });
9887
10354
  }
9888
10355
 
9889
10356
  /**
@@ -9912,9 +10379,7 @@ class BrkClient extends BrkClientBase {
9912
10379
  if (format !== undefined) params.set('format', String(format));
9913
10380
  const query = params.toString();
9914
10381
  const path = `/api/series/bulk${query ? '?' + query : ''}`;
9915
- if (format === 'csv') {
9916
- return this.getText(path, { signal });
9917
- }
10382
+ if (format === 'csv') return this.getText(path, { signal, onUpdate });
9918
10383
  return this.getJson(path, { signal, onUpdate });
9919
10384
  }
9920
10385
 
@@ -9928,7 +10393,8 @@ class BrkClient extends BrkClientBase {
9928
10393
  * @returns {Promise<string[]>}
9929
10394
  */
9930
10395
  async getCostBasisCohorts({ signal, onUpdate } = {}) {
9931
- return this.getJson(`/api/series/cost-basis`, { signal, onUpdate });
10396
+ const path = `/api/series/cost-basis`;
10397
+ return this.getJson(path, { signal, onUpdate });
9932
10398
  }
9933
10399
 
9934
10400
  /**
@@ -9943,7 +10409,8 @@ class BrkClient extends BrkClientBase {
9943
10409
  * @returns {Promise<Date[]>}
9944
10410
  */
9945
10411
  async getCostBasisDates(cohort, { signal, onUpdate } = {}) {
9946
- return this.getJson(`/api/series/cost-basis/${cohort}/dates`, { signal, onUpdate });
10412
+ const path = `/api/series/cost-basis/${cohort}/dates`;
10413
+ return this.getJson(path, { signal, onUpdate });
9947
10414
  }
9948
10415
 
9949
10416
  /**
@@ -9983,7 +10450,8 @@ class BrkClient extends BrkClientBase {
9983
10450
  * @returns {Promise<SeriesCount[]>}
9984
10451
  */
9985
10452
  async getSeriesCount({ signal, onUpdate } = {}) {
9986
- return this.getJson(`/api/series/count`, { signal, onUpdate });
10453
+ const path = `/api/series/count`;
10454
+ return this.getJson(path, { signal, onUpdate });
9987
10455
  }
9988
10456
 
9989
10457
  /**
@@ -9996,7 +10464,8 @@ class BrkClient extends BrkClientBase {
9996
10464
  * @returns {Promise<IndexInfo[]>}
9997
10465
  */
9998
10466
  async getIndexes({ signal, onUpdate } = {}) {
9999
- return this.getJson(`/api/series/indexes`, { signal, onUpdate });
10467
+ const path = `/api/series/indexes`;
10468
+ return this.getJson(path, { signal, onUpdate });
10000
10469
  }
10001
10470
 
10002
10471
  /**
@@ -10053,7 +10522,8 @@ class BrkClient extends BrkClientBase {
10053
10522
  * @returns {Promise<SeriesInfo>}
10054
10523
  */
10055
10524
  async getSeriesInfo(series, { signal, onUpdate } = {}) {
10056
- return this.getJson(`/api/series/${series}`, { signal, onUpdate });
10525
+ const path = `/api/series/${series}`;
10526
+ return this.getJson(path, { signal, onUpdate });
10057
10527
  }
10058
10528
 
10059
10529
  /**
@@ -10080,9 +10550,7 @@ class BrkClient extends BrkClientBase {
10080
10550
  if (format !== undefined) params.set('format', String(format));
10081
10551
  const query = params.toString();
10082
10552
  const path = `/api/series/${series}/${index}${query ? '?' + query : ''}`;
10083
- if (format === 'csv') {
10084
- return this.getText(path, { signal });
10085
- }
10553
+ if (format === 'csv') return this.getText(path, { signal, onUpdate });
10086
10554
  return this.getJson(path, { signal, onUpdate });
10087
10555
  }
10088
10556
 
@@ -10110,9 +10578,7 @@ class BrkClient extends BrkClientBase {
10110
10578
  if (format !== undefined) params.set('format', String(format));
10111
10579
  const query = params.toString();
10112
10580
  const path = `/api/series/${series}/${index}/data${query ? '?' + query : ''}`;
10113
- if (format === 'csv') {
10114
- return this.getText(path, { signal });
10115
- }
10581
+ if (format === 'csv') return this.getText(path, { signal, onUpdate });
10116
10582
  return this.getJson(path, { signal, onUpdate });
10117
10583
  }
10118
10584
 
@@ -10129,7 +10595,8 @@ class BrkClient extends BrkClientBase {
10129
10595
  * @returns {Promise<*>}
10130
10596
  */
10131
10597
  async getSeriesLatest(series, index, { signal, onUpdate } = {}) {
10132
- return this.getJson(`/api/series/${series}/${index}/latest`, { signal, onUpdate });
10598
+ const path = `/api/series/${series}/${index}/latest`;
10599
+ return this.getText(path, { signal, onUpdate });
10133
10600
  }
10134
10601
 
10135
10602
  /**
@@ -10145,7 +10612,8 @@ class BrkClient extends BrkClientBase {
10145
10612
  * @returns {Promise<number>}
10146
10613
  */
10147
10614
  async getSeriesLen(series, index, { signal, onUpdate } = {}) {
10148
- return this.getJson(`/api/series/${series}/${index}/len`, { signal, onUpdate });
10615
+ const path = `/api/series/${series}/${index}/len`;
10616
+ return this.getJson(path, { signal, onUpdate });
10149
10617
  }
10150
10618
 
10151
10619
  /**
@@ -10161,7 +10629,8 @@ class BrkClient extends BrkClientBase {
10161
10629
  * @returns {Promise<Version>}
10162
10630
  */
10163
10631
  async getSeriesVersion(series, index, { signal, onUpdate } = {}) {
10164
- return this.getJson(`/api/series/${series}/${index}/version`, { signal, onUpdate });
10632
+ const path = `/api/series/${series}/${index}/version`;
10633
+ return this.getJson(path, { signal, onUpdate });
10165
10634
  }
10166
10635
 
10167
10636
  /**
@@ -10174,7 +10643,8 @@ class BrkClient extends BrkClientBase {
10174
10643
  * @returns {Promise<DiskUsage>}
10175
10644
  */
10176
10645
  async getDiskUsage({ signal, onUpdate } = {}) {
10177
- return this.getJson(`/api/server/disk`, { signal, onUpdate });
10646
+ const path = `/api/server/disk`;
10647
+ return this.getJson(path, { signal, onUpdate });
10178
10648
  }
10179
10649
 
10180
10650
  /**
@@ -10187,7 +10657,24 @@ class BrkClient extends BrkClientBase {
10187
10657
  * @returns {Promise<SyncStatus>}
10188
10658
  */
10189
10659
  async getSyncStatus({ signal, onUpdate } = {}) {
10190
- return this.getJson(`/api/server/sync`, { signal, onUpdate });
10660
+ const path = `/api/server/sync`;
10661
+ return this.getJson(path, { signal, onUpdate });
10662
+ }
10663
+
10664
+ /**
10665
+ * Txid by index
10666
+ *
10667
+ * Retrieve the transaction ID (txid) at a given global transaction index. Returns the txid as plain text.
10668
+ *
10669
+ * Endpoint: `GET /api/tx-index/{index}`
10670
+ *
10671
+ * @param {TxIndex} index
10672
+ * @param {{ signal?: AbortSignal, onUpdate?: (value: *) => void }} [options]
10673
+ * @returns {Promise<*>}
10674
+ */
10675
+ async getTxByIndex(index, { signal, onUpdate } = {}) {
10676
+ const path = `/api/tx-index/${index}`;
10677
+ return this.getText(path, { signal, onUpdate });
10191
10678
  }
10192
10679
 
10193
10680
  /**
@@ -10204,7 +10691,8 @@ class BrkClient extends BrkClientBase {
10204
10691
  * @returns {Promise<Transaction>}
10205
10692
  */
10206
10693
  async getTx(txid, { signal, onUpdate } = {}) {
10207
- return this.getJson(`/api/tx/${txid}`, { signal, onUpdate });
10694
+ const path = `/api/tx/${txid}`;
10695
+ return this.getJson(path, { signal, onUpdate });
10208
10696
  }
10209
10697
 
10210
10698
  /**
@@ -10221,7 +10709,8 @@ class BrkClient extends BrkClientBase {
10221
10709
  * @returns {Promise<*>}
10222
10710
  */
10223
10711
  async getTxHex(txid, { signal, onUpdate } = {}) {
10224
- return this.getJson(`/api/tx/${txid}/hex`, { signal, onUpdate });
10712
+ const path = `/api/tx/${txid}/hex`;
10713
+ return this.getText(path, { signal, onUpdate });
10225
10714
  }
10226
10715
 
10227
10716
  /**
@@ -10238,7 +10727,8 @@ class BrkClient extends BrkClientBase {
10238
10727
  * @returns {Promise<MerkleProof>}
10239
10728
  */
10240
10729
  async getTxMerkleProof(txid, { signal, onUpdate } = {}) {
10241
- return this.getJson(`/api/tx/${txid}/merkle-proof`, { signal, onUpdate });
10730
+ const path = `/api/tx/${txid}/merkle-proof`;
10731
+ return this.getJson(path, { signal, onUpdate });
10242
10732
  }
10243
10733
 
10244
10734
  /**
@@ -10255,7 +10745,8 @@ class BrkClient extends BrkClientBase {
10255
10745
  * @returns {Promise<*>}
10256
10746
  */
10257
10747
  async getTxMerkleblockProof(txid, { signal, onUpdate } = {}) {
10258
- return this.getJson(`/api/tx/${txid}/merkleblock-proof`, { signal, onUpdate });
10748
+ const path = `/api/tx/${txid}/merkleblock-proof`;
10749
+ return this.getText(path, { signal, onUpdate });
10259
10750
  }
10260
10751
 
10261
10752
  /**
@@ -10273,7 +10764,8 @@ class BrkClient extends BrkClientBase {
10273
10764
  * @returns {Promise<TxOutspend>}
10274
10765
  */
10275
10766
  async getTxOutspend(txid, vout, { signal, onUpdate } = {}) {
10276
- return this.getJson(`/api/tx/${txid}/outspend/${vout}`, { signal, onUpdate });
10767
+ const path = `/api/tx/${txid}/outspend/${vout}`;
10768
+ return this.getJson(path, { signal, onUpdate });
10277
10769
  }
10278
10770
 
10279
10771
  /**
@@ -10290,7 +10782,8 @@ class BrkClient extends BrkClientBase {
10290
10782
  * @returns {Promise<TxOutspend[]>}
10291
10783
  */
10292
10784
  async getTxOutspends(txid, { signal, onUpdate } = {}) {
10293
- return this.getJson(`/api/tx/${txid}/outspends`, { signal, onUpdate });
10785
+ const path = `/api/tx/${txid}/outspends`;
10786
+ return this.getJson(path, { signal, onUpdate });
10294
10787
  }
10295
10788
 
10296
10789
  /**
@@ -10307,7 +10800,8 @@ class BrkClient extends BrkClientBase {
10307
10800
  * @returns {Promise<*>}
10308
10801
  */
10309
10802
  async getTxRaw(txid, { signal, onUpdate } = {}) {
10310
- return this.getJson(`/api/tx/${txid}/raw`, { signal, onUpdate });
10803
+ const path = `/api/tx/${txid}/raw`;
10804
+ return this.getText(path, { signal, onUpdate });
10311
10805
  }
10312
10806
 
10313
10807
  /**
@@ -10324,7 +10818,8 @@ class BrkClient extends BrkClientBase {
10324
10818
  * @returns {Promise<TxStatus>}
10325
10819
  */
10326
10820
  async getTxStatus(txid, { signal, onUpdate } = {}) {
10327
- return this.getJson(`/api/tx/${txid}/status`, { signal, onUpdate });
10821
+ const path = `/api/tx/${txid}/status`;
10822
+ return this.getJson(path, { signal, onUpdate });
10328
10823
  }
10329
10824
 
10330
10825
  /**
@@ -10341,7 +10836,8 @@ class BrkClient extends BrkClientBase {
10341
10836
  * @returns {Promise<BlockInfoV1>}
10342
10837
  */
10343
10838
  async getBlockV1(hash, { signal, onUpdate } = {}) {
10344
- return this.getJson(`/api/v1/block/${hash}`, { signal, onUpdate });
10839
+ const path = `/api/v1/block/${hash}`;
10840
+ return this.getJson(path, { signal, onUpdate });
10345
10841
  }
10346
10842
 
10347
10843
  /**
@@ -10356,7 +10852,8 @@ class BrkClient extends BrkClientBase {
10356
10852
  * @returns {Promise<BlockInfoV1[]>}
10357
10853
  */
10358
10854
  async getBlocksV1({ signal, onUpdate } = {}) {
10359
- return this.getJson(`/api/v1/blocks`, { signal, onUpdate });
10855
+ const path = `/api/v1/blocks`;
10856
+ return this.getJson(path, { signal, onUpdate });
10360
10857
  }
10361
10858
 
10362
10859
  /**
@@ -10373,7 +10870,8 @@ class BrkClient extends BrkClientBase {
10373
10870
  * @returns {Promise<BlockInfoV1[]>}
10374
10871
  */
10375
10872
  async getBlocksV1FromHeight(height, { signal, onUpdate } = {}) {
10376
- return this.getJson(`/api/v1/blocks/${height}`, { signal, onUpdate });
10873
+ const path = `/api/v1/blocks/${height}`;
10874
+ return this.getJson(path, { signal, onUpdate });
10377
10875
  }
10378
10876
 
10379
10877
  /**
@@ -10390,7 +10888,8 @@ class BrkClient extends BrkClientBase {
10390
10888
  * @returns {Promise<CpfpInfo>}
10391
10889
  */
10392
10890
  async getCpfp(txid, { signal, onUpdate } = {}) {
10393
- return this.getJson(`/api/v1/cpfp/${txid}`, { signal, onUpdate });
10891
+ const path = `/api/v1/cpfp/${txid}`;
10892
+ return this.getJson(path, { signal, onUpdate });
10394
10893
  }
10395
10894
 
10396
10895
  /**
@@ -10405,7 +10904,8 @@ class BrkClient extends BrkClientBase {
10405
10904
  * @returns {Promise<DifficultyAdjustment>}
10406
10905
  */
10407
10906
  async getDifficultyAdjustment({ signal, onUpdate } = {}) {
10408
- return this.getJson(`/api/v1/difficulty-adjustment`, { signal, onUpdate });
10907
+ const path = `/api/v1/difficulty-adjustment`;
10908
+ return this.getJson(path, { signal, onUpdate });
10409
10909
  }
10410
10910
 
10411
10911
  /**
@@ -10420,7 +10920,8 @@ class BrkClient extends BrkClientBase {
10420
10920
  * @returns {Promise<MempoolBlock[]>}
10421
10921
  */
10422
10922
  async getMempoolBlocks({ signal, onUpdate } = {}) {
10423
- return this.getJson(`/api/v1/fees/mempool-blocks`, { signal, onUpdate });
10923
+ const path = `/api/v1/fees/mempool-blocks`;
10924
+ return this.getJson(path, { signal, onUpdate });
10424
10925
  }
10425
10926
 
10426
10927
  /**
@@ -10435,7 +10936,8 @@ class BrkClient extends BrkClientBase {
10435
10936
  * @returns {Promise<RecommendedFees>}
10436
10937
  */
10437
10938
  async getPreciseFees({ signal, onUpdate } = {}) {
10438
- return this.getJson(`/api/v1/fees/precise`, { signal, onUpdate });
10939
+ const path = `/api/v1/fees/precise`;
10940
+ return this.getJson(path, { signal, onUpdate });
10439
10941
  }
10440
10942
 
10441
10943
  /**
@@ -10450,7 +10952,8 @@ class BrkClient extends BrkClientBase {
10450
10952
  * @returns {Promise<RecommendedFees>}
10451
10953
  */
10452
10954
  async getRecommendedFees({ signal, onUpdate } = {}) {
10453
- return this.getJson(`/api/v1/fees/recommended`, { signal, onUpdate });
10955
+ const path = `/api/v1/fees/recommended`;
10956
+ return this.getJson(path, { signal, onUpdate });
10454
10957
  }
10455
10958
 
10456
10959
  /**
@@ -10488,7 +10991,8 @@ class BrkClient extends BrkClientBase {
10488
10991
  * @returns {Promise<BlockFeeRatesEntry[]>}
10489
10992
  */
10490
10993
  async getBlockFeeRates(time_period, { signal, onUpdate } = {}) {
10491
- return this.getJson(`/api/v1/mining/blocks/fee-rates/${time_period}`, { signal, onUpdate });
10994
+ const path = `/api/v1/mining/blocks/fee-rates/${time_period}`;
10995
+ return this.getJson(path, { signal, onUpdate });
10492
10996
  }
10493
10997
 
10494
10998
  /**
@@ -10505,7 +11009,8 @@ class BrkClient extends BrkClientBase {
10505
11009
  * @returns {Promise<BlockFeesEntry[]>}
10506
11010
  */
10507
11011
  async getBlockFees(time_period, { signal, onUpdate } = {}) {
10508
- return this.getJson(`/api/v1/mining/blocks/fees/${time_period}`, { signal, onUpdate });
11012
+ const path = `/api/v1/mining/blocks/fees/${time_period}`;
11013
+ return this.getJson(path, { signal, onUpdate });
10509
11014
  }
10510
11015
 
10511
11016
  /**
@@ -10522,7 +11027,8 @@ class BrkClient extends BrkClientBase {
10522
11027
  * @returns {Promise<BlockRewardsEntry[]>}
10523
11028
  */
10524
11029
  async getBlockRewards(time_period, { signal, onUpdate } = {}) {
10525
- return this.getJson(`/api/v1/mining/blocks/rewards/${time_period}`, { signal, onUpdate });
11030
+ const path = `/api/v1/mining/blocks/rewards/${time_period}`;
11031
+ return this.getJson(path, { signal, onUpdate });
10526
11032
  }
10527
11033
 
10528
11034
  /**
@@ -10539,7 +11045,8 @@ class BrkClient extends BrkClientBase {
10539
11045
  * @returns {Promise<BlockSizesWeights>}
10540
11046
  */
10541
11047
  async getBlockSizesWeights(time_period, { signal, onUpdate } = {}) {
10542
- return this.getJson(`/api/v1/mining/blocks/sizes-weights/${time_period}`, { signal, onUpdate });
11048
+ const path = `/api/v1/mining/blocks/sizes-weights/${time_period}`;
11049
+ return this.getJson(path, { signal, onUpdate });
10543
11050
  }
10544
11051
 
10545
11052
  /**
@@ -10556,7 +11063,8 @@ class BrkClient extends BrkClientBase {
10556
11063
  * @returns {Promise<BlockTimestamp>}
10557
11064
  */
10558
11065
  async getBlockByTimestamp(timestamp, { signal, onUpdate } = {}) {
10559
- return this.getJson(`/api/v1/mining/blocks/timestamp/${timestamp}`, { signal, onUpdate });
11066
+ const path = `/api/v1/mining/blocks/timestamp/${timestamp}`;
11067
+ return this.getJson(path, { signal, onUpdate });
10560
11068
  }
10561
11069
 
10562
11070
  /**
@@ -10571,7 +11079,8 @@ class BrkClient extends BrkClientBase {
10571
11079
  * @returns {Promise<DifficultyAdjustmentEntry[]>}
10572
11080
  */
10573
11081
  async getDifficultyAdjustments({ signal, onUpdate } = {}) {
10574
- return this.getJson(`/api/v1/mining/difficulty-adjustments`, { signal, onUpdate });
11082
+ const path = `/api/v1/mining/difficulty-adjustments`;
11083
+ return this.getJson(path, { signal, onUpdate });
10575
11084
  }
10576
11085
 
10577
11086
  /**
@@ -10588,7 +11097,8 @@ class BrkClient extends BrkClientBase {
10588
11097
  * @returns {Promise<DifficultyAdjustmentEntry[]>}
10589
11098
  */
10590
11099
  async getDifficultyAdjustmentsByPeriod(time_period, { signal, onUpdate } = {}) {
10591
- return this.getJson(`/api/v1/mining/difficulty-adjustments/${time_period}`, { signal, onUpdate });
11100
+ const path = `/api/v1/mining/difficulty-adjustments/${time_period}`;
11101
+ return this.getJson(path, { signal, onUpdate });
10592
11102
  }
10593
11103
 
10594
11104
  /**
@@ -10603,7 +11113,8 @@ class BrkClient extends BrkClientBase {
10603
11113
  * @returns {Promise<HashrateSummary>}
10604
11114
  */
10605
11115
  async getHashrate({ signal, onUpdate } = {}) {
10606
- return this.getJson(`/api/v1/mining/hashrate`, { signal, onUpdate });
11116
+ const path = `/api/v1/mining/hashrate`;
11117
+ return this.getJson(path, { signal, onUpdate });
10607
11118
  }
10608
11119
 
10609
11120
  /**
@@ -10618,7 +11129,8 @@ class BrkClient extends BrkClientBase {
10618
11129
  * @returns {Promise<PoolHashrateEntry[]>}
10619
11130
  */
10620
11131
  async getPoolsHashrate({ signal, onUpdate } = {}) {
10621
- return this.getJson(`/api/v1/mining/hashrate/pools`, { signal, onUpdate });
11132
+ const path = `/api/v1/mining/hashrate/pools`;
11133
+ return this.getJson(path, { signal, onUpdate });
10622
11134
  }
10623
11135
 
10624
11136
  /**
@@ -10635,7 +11147,8 @@ class BrkClient extends BrkClientBase {
10635
11147
  * @returns {Promise<PoolHashrateEntry[]>}
10636
11148
  */
10637
11149
  async getPoolsHashrateByPeriod(time_period, { signal, onUpdate } = {}) {
10638
- return this.getJson(`/api/v1/mining/hashrate/pools/${time_period}`, { signal, onUpdate });
11150
+ const path = `/api/v1/mining/hashrate/pools/${time_period}`;
11151
+ return this.getJson(path, { signal, onUpdate });
10639
11152
  }
10640
11153
 
10641
11154
  /**
@@ -10652,7 +11165,8 @@ class BrkClient extends BrkClientBase {
10652
11165
  * @returns {Promise<HashrateSummary>}
10653
11166
  */
10654
11167
  async getHashrateByPeriod(time_period, { signal, onUpdate } = {}) {
10655
- return this.getJson(`/api/v1/mining/hashrate/${time_period}`, { signal, onUpdate });
11168
+ const path = `/api/v1/mining/hashrate/${time_period}`;
11169
+ return this.getJson(path, { signal, onUpdate });
10656
11170
  }
10657
11171
 
10658
11172
  /**
@@ -10669,7 +11183,8 @@ class BrkClient extends BrkClientBase {
10669
11183
  * @returns {Promise<PoolDetail>}
10670
11184
  */
10671
11185
  async getPool(slug, { signal, onUpdate } = {}) {
10672
- return this.getJson(`/api/v1/mining/pool/${slug}`, { signal, onUpdate });
11186
+ const path = `/api/v1/mining/pool/${slug}`;
11187
+ return this.getJson(path, { signal, onUpdate });
10673
11188
  }
10674
11189
 
10675
11190
  /**
@@ -10686,7 +11201,8 @@ class BrkClient extends BrkClientBase {
10686
11201
  * @returns {Promise<BlockInfoV1[]>}
10687
11202
  */
10688
11203
  async getPoolBlocks(slug, { signal, onUpdate } = {}) {
10689
- return this.getJson(`/api/v1/mining/pool/${slug}/blocks`, { signal, onUpdate });
11204
+ const path = `/api/v1/mining/pool/${slug}/blocks`;
11205
+ return this.getJson(path, { signal, onUpdate });
10690
11206
  }
10691
11207
 
10692
11208
  /**
@@ -10704,7 +11220,8 @@ class BrkClient extends BrkClientBase {
10704
11220
  * @returns {Promise<BlockInfoV1[]>}
10705
11221
  */
10706
11222
  async getPoolBlocksFrom(slug, height, { signal, onUpdate } = {}) {
10707
- return this.getJson(`/api/v1/mining/pool/${slug}/blocks/${height}`, { signal, onUpdate });
11223
+ const path = `/api/v1/mining/pool/${slug}/blocks/${height}`;
11224
+ return this.getJson(path, { signal, onUpdate });
10708
11225
  }
10709
11226
 
10710
11227
  /**
@@ -10721,7 +11238,8 @@ class BrkClient extends BrkClientBase {
10721
11238
  * @returns {Promise<PoolHashrateEntry[]>}
10722
11239
  */
10723
11240
  async getPoolHashrate(slug, { signal, onUpdate } = {}) {
10724
- return this.getJson(`/api/v1/mining/pool/${slug}/hashrate`, { signal, onUpdate });
11241
+ const path = `/api/v1/mining/pool/${slug}/hashrate`;
11242
+ return this.getJson(path, { signal, onUpdate });
10725
11243
  }
10726
11244
 
10727
11245
  /**
@@ -10736,7 +11254,8 @@ class BrkClient extends BrkClientBase {
10736
11254
  * @returns {Promise<PoolInfo[]>}
10737
11255
  */
10738
11256
  async getPools({ signal, onUpdate } = {}) {
10739
- return this.getJson(`/api/v1/mining/pools`, { signal, onUpdate });
11257
+ const path = `/api/v1/mining/pools`;
11258
+ return this.getJson(path, { signal, onUpdate });
10740
11259
  }
10741
11260
 
10742
11261
  /**
@@ -10753,7 +11272,8 @@ class BrkClient extends BrkClientBase {
10753
11272
  * @returns {Promise<PoolsSummary>}
10754
11273
  */
10755
11274
  async getPoolStats(time_period, { signal, onUpdate } = {}) {
10756
- return this.getJson(`/api/v1/mining/pools/${time_period}`, { signal, onUpdate });
11275
+ const path = `/api/v1/mining/pools/${time_period}`;
11276
+ return this.getJson(path, { signal, onUpdate });
10757
11277
  }
10758
11278
 
10759
11279
  /**
@@ -10770,7 +11290,8 @@ class BrkClient extends BrkClientBase {
10770
11290
  * @returns {Promise<RewardStats>}
10771
11291
  */
10772
11292
  async getRewardStats(block_count, { signal, onUpdate } = {}) {
10773
- return this.getJson(`/api/v1/mining/reward-stats/${block_count}`, { signal, onUpdate });
11293
+ const path = `/api/v1/mining/reward-stats/${block_count}`;
11294
+ return this.getJson(path, { signal, onUpdate });
10774
11295
  }
10775
11296
 
10776
11297
  /**
@@ -10785,7 +11306,8 @@ class BrkClient extends BrkClientBase {
10785
11306
  * @returns {Promise<Prices>}
10786
11307
  */
10787
11308
  async getPrices({ signal, onUpdate } = {}) {
10788
- return this.getJson(`/api/v1/prices`, { signal, onUpdate });
11309
+ const path = `/api/v1/prices`;
11310
+ return this.getJson(path, { signal, onUpdate });
10789
11311
  }
10790
11312
 
10791
11313
  /**
@@ -10800,7 +11322,8 @@ class BrkClient extends BrkClientBase {
10800
11322
  * @returns {Promise<number[]>}
10801
11323
  */
10802
11324
  async getTransactionTimes({ signal, onUpdate } = {}) {
10803
- return this.getJson(`/api/v1/transaction-times`, { signal, onUpdate });
11325
+ const path = `/api/v1/transaction-times`;
11326
+ return this.getJson(path, { signal, onUpdate });
10804
11327
  }
10805
11328
 
10806
11329
  /**
@@ -10817,7 +11340,8 @@ class BrkClient extends BrkClientBase {
10817
11340
  * @returns {Promise<AddrValidation>}
10818
11341
  */
10819
11342
  async validateAddress(address, { signal, onUpdate } = {}) {
10820
- return this.getJson(`/api/v1/validate-address/${address}`, { signal, onUpdate });
11343
+ const path = `/api/v1/validate-address/${address}`;
11344
+ return this.getJson(path, { signal, onUpdate });
10821
11345
  }
10822
11346
 
10823
11347
  /**
@@ -10830,7 +11354,8 @@ class BrkClient extends BrkClientBase {
10830
11354
  * @returns {Promise<Health>}
10831
11355
  */
10832
11356
  async getHealth({ signal, onUpdate } = {}) {
10833
- return this.getJson(`/health`, { signal, onUpdate });
11357
+ const path = `/health`;
11358
+ return this.getJson(path, { signal, onUpdate });
10834
11359
  }
10835
11360
 
10836
11361
  /**
@@ -10843,7 +11368,8 @@ class BrkClient extends BrkClientBase {
10843
11368
  * @returns {Promise<*>}
10844
11369
  */
10845
11370
  async getOpenapi({ signal, onUpdate } = {}) {
10846
- return this.getJson(`/openapi.json`, { signal, onUpdate });
11371
+ const path = `/openapi.json`;
11372
+ return this.getText(path, { signal, onUpdate });
10847
11373
  }
10848
11374
 
10849
11375
  /**
@@ -10856,7 +11382,8 @@ class BrkClient extends BrkClientBase {
10856
11382
  * @returns {Promise<string>}
10857
11383
  */
10858
11384
  async getVersion({ signal, onUpdate } = {}) {
10859
- return this.getJson(`/version`, { signal, onUpdate });
11385
+ const path = `/version`;
11386
+ return this.getJson(path, { signal, onUpdate });
10860
11387
  }
10861
11388
 
10862
11389
  }