brk-client 0.1.0b0__py3-none-any.whl → 0.1.1__py3-none-any.whl
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.
brk_client/__init__.py
CHANGED
|
@@ -71,8 +71,6 @@ MonthIndex = int
|
|
|
71
71
|
# Opening price value for a time period
|
|
72
72
|
Open = Cents
|
|
73
73
|
OpReturnIndex = TypeIndex
|
|
74
|
-
OracleBins = List[int]
|
|
75
|
-
OracleBinsV2 = List[int]
|
|
76
74
|
OutPoint = int
|
|
77
75
|
# Type (P2PKH, P2WPKH, P2SH, P2TR, etc.)
|
|
78
76
|
OutputType = Literal["p2pk65", "p2pk33", "p2pkh", "p2ms", "p2sh", "opreturn", "p2wpkh", "p2wsh", "p2tr", "p2a", "empty", "unknown"]
|
|
@@ -98,15 +96,19 @@ P2WPKHAddressIndex = TypeIndex
|
|
|
98
96
|
P2WPKHBytes = U8x20
|
|
99
97
|
P2WSHAddressIndex = TypeIndex
|
|
100
98
|
P2WSHBytes = U8x32
|
|
101
|
-
# Index for 2-output transactions (oracle pair candidates)
|
|
102
|
-
#
|
|
103
|
-
# This indexes all transactions with exactly 2 outputs, which are
|
|
104
|
-
# candidates for the UTXOracle algorithm (payment + change pattern).
|
|
105
|
-
PairOutputIndex = int
|
|
106
99
|
PoolSlug = Literal["unknown", "blockfills", "ultimuspool", "terrapool", "luxor", "onethash", "btccom", "bitfarms", "huobipool", "wayicn", "canoepool", "btctop", "bitcoincom", "pool175btc", "gbminers", "axbt", "asicminer", "bitminter", "bitcoinrussia", "btcserv", "simplecoinus", "btcguild", "eligius", "ozcoin", "eclipsemc", "maxbtc", "triplemining", "coinlab", "pool50btc", "ghashio", "stminingcorp", "bitparking", "mmpool", "polmine", "kncminer", "bitalo", "f2pool", "hhtt", "megabigpower", "mtred", "nmcbit", "yourbtcnet", "givemecoins", "braiinspool", "antpool", "multicoinco", "bcpoolio", "cointerra", "kanopool", "solock", "ckpool", "nicehash", "bitclub", "bitcoinaffiliatenetwork", "btcc", "bwpool", "exxbw", "bitsolo", "bitfury", "twentyoneinc", "digitalbtc", "eightbaochi", "mybtccoinpool", "tbdice", "hashpool", "nexious", "bravomining", "hotpool", "okexpool", "bcmonster", "onehash", "bixin", "tatmaspool", "viabtc", "connectbtc", "batpool", "waterhole", "dcexploration", "dcex", "btpool", "fiftyeightcoin", "bitcoinindia", "shawnp0wers", "phashio", "rigpool", "haozhuzhu", "sevenpool", "miningkings", "hashbx", "dpool", "rawpool", "haominer", "helix", "bitcoinukraine", "poolin", "secretsuperstar", "tigerpoolnet", "sigmapoolcom", "okpooltop", "hummerpool", "tangpool", "bytepool", "spiderpool", "novablock", "miningcity", "binancepool", "minerium", "lubiancom", "okkong", "aaopool", "emcdpool", "foundryusa", "sbicrypto", "arkpool", "purebtccom", "marapool", "kucoinpool", "entrustcharitypool", "okminer", "titan", "pegapool", "btcnuggets", "cloudhashing", "digitalxmintsy", "telco214", "btcpoolparty", "multipool", "transactioncoinmining", "btcdig", "trickysbtcpool", "btcmp", "eobot", "unomp", "patels", "gogreenlight", "ekanembtc", "canoe", "tiger", "onem1x", "zulupool", "secpool", "ocean", "whitepool", "wk057", "futurebitapollosolo", "carbonnegative", "portlandhodl", "phoenix", "neopool", "maxipool", "bitfufupool", "luckypool", "miningdutch", "publicpool", "miningsquared", "innopolistech", "btclab", "parasite"]
|
|
107
100
|
QuarterIndex = int
|
|
108
101
|
# Transaction locktime
|
|
109
102
|
RawLockTime = int
|
|
103
|
+
# Fractional satoshis (f64) - for representing USD prices in sats
|
|
104
|
+
#
|
|
105
|
+
# Formula: `sats_fract = usd_value * 100_000_000 / btc_price`
|
|
106
|
+
#
|
|
107
|
+
# When BTC is $100,000:
|
|
108
|
+
# - $1 = 1,000 sats
|
|
109
|
+
# - $0.001 = 1 sat
|
|
110
|
+
# - $0.0001 = 0.1 sats (fractional)
|
|
111
|
+
SatsFract = float
|
|
110
112
|
SemesterIndex = int
|
|
111
113
|
# Fixed-size boolean value optimized for on-disk storage (stored as u8)
|
|
112
114
|
StoredBool = int
|
|
@@ -1290,7 +1292,6 @@ _i29 = ('weekindex',)
|
|
|
1290
1292
|
_i30 = ('yearindex',)
|
|
1291
1293
|
_i31 = ('loadedaddressindex',)
|
|
1292
1294
|
_i32 = ('emptyaddressindex',)
|
|
1293
|
-
_i33 = ('pairoutputindex',)
|
|
1294
1295
|
|
|
1295
1296
|
def _ep(c: BrkClientBase, n: str, i: Index) -> MetricEndpointBuilder[Any]:
|
|
1296
1297
|
return MetricEndpointBuilder(c, n, i)
|
|
@@ -1710,18 +1711,6 @@ class MetricPattern32(Generic[T]):
|
|
|
1710
1711
|
def indexes(self) -> List[str]: return list(_i32)
|
|
1711
1712
|
def get(self, index: Index) -> Optional[MetricEndpointBuilder[T]]: return _ep(self.by._c, self._n, index) if index in _i32 else None
|
|
1712
1713
|
|
|
1713
|
-
class _MetricPattern33By(Generic[T]):
|
|
1714
|
-
def __init__(self, c: BrkClientBase, n: str): self._c, self._n = c, n
|
|
1715
|
-
def pairoutputindex(self) -> MetricEndpointBuilder[T]: return _ep(self._c, self._n, 'pairoutputindex')
|
|
1716
|
-
|
|
1717
|
-
class MetricPattern33(Generic[T]):
|
|
1718
|
-
by: _MetricPattern33By[T]
|
|
1719
|
-
def __init__(self, c: BrkClientBase, n: str): self._n, self.by = n, _MetricPattern33By(c, n)
|
|
1720
|
-
@property
|
|
1721
|
-
def name(self) -> str: return self._n
|
|
1722
|
-
def indexes(self) -> List[str]: return list(_i33)
|
|
1723
|
-
def get(self, index: Index) -> Optional[MetricEndpointBuilder[T]]: return _ep(self.by._c, self._n, index) if index in _i33 else None
|
|
1724
|
-
|
|
1725
1714
|
# Reusable structural pattern classes
|
|
1726
1715
|
|
|
1727
1716
|
class RealizedPattern3:
|
|
@@ -1746,7 +1735,7 @@ class RealizedPattern3:
|
|
|
1746
1735
|
self.realized_cap_rel_to_own_market_cap: MetricPattern1[StoredF32] = MetricPattern1(client, _m(acc, 'realized_cap_rel_to_own_market_cap'))
|
|
1747
1736
|
self.realized_loss: BlockCountPattern[Dollars] = BlockCountPattern(client, _m(acc, 'realized_loss'))
|
|
1748
1737
|
self.realized_loss_rel_to_realized_cap: BlockCountPattern[StoredF32] = BlockCountPattern(client, _m(acc, 'realized_loss_rel_to_realized_cap'))
|
|
1749
|
-
self.realized_price:
|
|
1738
|
+
self.realized_price: ActivePricePattern = ActivePricePattern(client, _m(acc, 'realized_price'))
|
|
1750
1739
|
self.realized_price_extra: ActivePriceRatioPattern = ActivePriceRatioPattern(client, _m(acc, 'realized_price_ratio'))
|
|
1751
1740
|
self.realized_profit: BlockCountPattern[Dollars] = BlockCountPattern(client, _m(acc, 'realized_profit'))
|
|
1752
1741
|
self.realized_profit_rel_to_realized_cap: BlockCountPattern[StoredF32] = BlockCountPattern(client, _m(acc, 'realized_profit_rel_to_realized_cap'))
|
|
@@ -1783,7 +1772,7 @@ class RealizedPattern4:
|
|
|
1783
1772
|
self.realized_cap_30d_delta: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'realized_cap_30d_delta'))
|
|
1784
1773
|
self.realized_loss: BlockCountPattern[Dollars] = BlockCountPattern(client, _m(acc, 'realized_loss'))
|
|
1785
1774
|
self.realized_loss_rel_to_realized_cap: BlockCountPattern[StoredF32] = BlockCountPattern(client, _m(acc, 'realized_loss_rel_to_realized_cap'))
|
|
1786
|
-
self.realized_price:
|
|
1775
|
+
self.realized_price: ActivePricePattern = ActivePricePattern(client, _m(acc, 'realized_price'))
|
|
1787
1776
|
self.realized_price_extra: RealizedPriceExtraPattern = RealizedPriceExtraPattern(client, _m(acc, 'realized_price_ratio'))
|
|
1788
1777
|
self.realized_profit: BlockCountPattern[Dollars] = BlockCountPattern(client, _m(acc, 'realized_profit'))
|
|
1789
1778
|
self.realized_profit_rel_to_realized_cap: BlockCountPattern[StoredF32] = BlockCountPattern(client, _m(acc, 'realized_profit_rel_to_realized_cap'))
|
|
@@ -1803,31 +1792,31 @@ class Ratio1ySdPattern:
|
|
|
1803
1792
|
|
|
1804
1793
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
1805
1794
|
"""Create pattern node with accumulated metric name."""
|
|
1806
|
-
self._0sd_usd:
|
|
1795
|
+
self._0sd_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, '0sd_usd'))
|
|
1807
1796
|
self.m0_5sd: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'm0_5sd'))
|
|
1808
|
-
self.m0_5sd_usd:
|
|
1797
|
+
self.m0_5sd_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'm0_5sd_usd'))
|
|
1809
1798
|
self.m1_5sd: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'm1_5sd'))
|
|
1810
|
-
self.m1_5sd_usd:
|
|
1799
|
+
self.m1_5sd_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'm1_5sd_usd'))
|
|
1811
1800
|
self.m1sd: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'm1sd'))
|
|
1812
|
-
self.m1sd_usd:
|
|
1801
|
+
self.m1sd_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'm1sd_usd'))
|
|
1813
1802
|
self.m2_5sd: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'm2_5sd'))
|
|
1814
|
-
self.m2_5sd_usd:
|
|
1803
|
+
self.m2_5sd_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'm2_5sd_usd'))
|
|
1815
1804
|
self.m2sd: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'm2sd'))
|
|
1816
|
-
self.m2sd_usd:
|
|
1805
|
+
self.m2sd_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'm2sd_usd'))
|
|
1817
1806
|
self.m3sd: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'm3sd'))
|
|
1818
|
-
self.m3sd_usd:
|
|
1807
|
+
self.m3sd_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'm3sd_usd'))
|
|
1819
1808
|
self.p0_5sd: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'p0_5sd'))
|
|
1820
|
-
self.p0_5sd_usd:
|
|
1809
|
+
self.p0_5sd_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'p0_5sd_usd'))
|
|
1821
1810
|
self.p1_5sd: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'p1_5sd'))
|
|
1822
|
-
self.p1_5sd_usd:
|
|
1811
|
+
self.p1_5sd_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'p1_5sd_usd'))
|
|
1823
1812
|
self.p1sd: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'p1sd'))
|
|
1824
|
-
self.p1sd_usd:
|
|
1813
|
+
self.p1sd_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'p1sd_usd'))
|
|
1825
1814
|
self.p2_5sd: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'p2_5sd'))
|
|
1826
|
-
self.p2_5sd_usd:
|
|
1815
|
+
self.p2_5sd_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'p2_5sd_usd'))
|
|
1827
1816
|
self.p2sd: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'p2sd'))
|
|
1828
|
-
self.p2sd_usd:
|
|
1817
|
+
self.p2sd_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'p2sd_usd'))
|
|
1829
1818
|
self.p3sd: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'p3sd'))
|
|
1830
|
-
self.p3sd_usd:
|
|
1819
|
+
self.p3sd_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'p3sd_usd'))
|
|
1831
1820
|
self.sd: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'sd'))
|
|
1832
1821
|
self.sma: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'sma'))
|
|
1833
1822
|
self.zscore: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'zscore'))
|
|
@@ -1849,7 +1838,7 @@ class RealizedPattern2:
|
|
|
1849
1838
|
self.realized_cap_rel_to_own_market_cap: MetricPattern1[StoredF32] = MetricPattern1(client, _m(acc, 'realized_cap_rel_to_own_market_cap'))
|
|
1850
1839
|
self.realized_loss: BlockCountPattern[Dollars] = BlockCountPattern(client, _m(acc, 'realized_loss'))
|
|
1851
1840
|
self.realized_loss_rel_to_realized_cap: BlockCountPattern[StoredF32] = BlockCountPattern(client, _m(acc, 'realized_loss_rel_to_realized_cap'))
|
|
1852
|
-
self.realized_price:
|
|
1841
|
+
self.realized_price: ActivePricePattern = ActivePricePattern(client, _m(acc, 'realized_price'))
|
|
1853
1842
|
self.realized_price_extra: ActivePriceRatioPattern = ActivePriceRatioPattern(client, _m(acc, 'realized_price_ratio'))
|
|
1854
1843
|
self.realized_profit: BlockCountPattern[Dollars] = BlockCountPattern(client, _m(acc, 'realized_profit'))
|
|
1855
1844
|
self.realized_profit_rel_to_realized_cap: BlockCountPattern[StoredF32] = BlockCountPattern(client, _m(acc, 'realized_profit_rel_to_realized_cap'))
|
|
@@ -1881,7 +1870,7 @@ class RealizedPattern:
|
|
|
1881
1870
|
self.realized_cap_30d_delta: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'realized_cap_30d_delta'))
|
|
1882
1871
|
self.realized_loss: BlockCountPattern[Dollars] = BlockCountPattern(client, _m(acc, 'realized_loss'))
|
|
1883
1872
|
self.realized_loss_rel_to_realized_cap: BlockCountPattern[StoredF32] = BlockCountPattern(client, _m(acc, 'realized_loss_rel_to_realized_cap'))
|
|
1884
|
-
self.realized_price:
|
|
1873
|
+
self.realized_price: ActivePricePattern = ActivePricePattern(client, _m(acc, 'realized_price'))
|
|
1885
1874
|
self.realized_price_extra: RealizedPriceExtraPattern = RealizedPriceExtraPattern(client, _m(acc, 'realized_price_ratio'))
|
|
1886
1875
|
self.realized_profit: BlockCountPattern[Dollars] = BlockCountPattern(client, _m(acc, 'realized_profit'))
|
|
1887
1876
|
self.realized_profit_rel_to_realized_cap: BlockCountPattern[StoredF32] = BlockCountPattern(client, _m(acc, 'realized_profit_rel_to_realized_cap'))
|
|
@@ -1901,7 +1890,7 @@ class Price111dSmaPattern:
|
|
|
1901
1890
|
|
|
1902
1891
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
1903
1892
|
"""Create pattern node with accumulated metric name."""
|
|
1904
|
-
self.price:
|
|
1893
|
+
self.price: _0sdUsdPattern = _0sdUsdPattern(client, acc)
|
|
1905
1894
|
self.ratio: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'ratio'))
|
|
1906
1895
|
self.ratio_1m_sma: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'ratio_1m_sma'))
|
|
1907
1896
|
self.ratio_1w_sma: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'ratio_1w_sma'))
|
|
@@ -1909,19 +1898,44 @@ class Price111dSmaPattern:
|
|
|
1909
1898
|
self.ratio_2y_sd: Ratio1ySdPattern = Ratio1ySdPattern(client, _m(acc, 'ratio_2y'))
|
|
1910
1899
|
self.ratio_4y_sd: Ratio1ySdPattern = Ratio1ySdPattern(client, _m(acc, 'ratio_4y'))
|
|
1911
1900
|
self.ratio_pct1: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'ratio_pct1'))
|
|
1912
|
-
self.ratio_pct1_usd:
|
|
1901
|
+
self.ratio_pct1_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'ratio_pct1_usd'))
|
|
1913
1902
|
self.ratio_pct2: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'ratio_pct2'))
|
|
1914
|
-
self.ratio_pct2_usd:
|
|
1903
|
+
self.ratio_pct2_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'ratio_pct2_usd'))
|
|
1915
1904
|
self.ratio_pct5: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'ratio_pct5'))
|
|
1916
|
-
self.ratio_pct5_usd:
|
|
1905
|
+
self.ratio_pct5_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'ratio_pct5_usd'))
|
|
1917
1906
|
self.ratio_pct95: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'ratio_pct95'))
|
|
1918
|
-
self.ratio_pct95_usd:
|
|
1907
|
+
self.ratio_pct95_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'ratio_pct95_usd'))
|
|
1919
1908
|
self.ratio_pct98: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'ratio_pct98'))
|
|
1920
|
-
self.ratio_pct98_usd:
|
|
1909
|
+
self.ratio_pct98_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'ratio_pct98_usd'))
|
|
1921
1910
|
self.ratio_pct99: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'ratio_pct99'))
|
|
1922
|
-
self.ratio_pct99_usd:
|
|
1911
|
+
self.ratio_pct99_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'ratio_pct99_usd'))
|
|
1923
1912
|
self.ratio_sd: Ratio1ySdPattern = Ratio1ySdPattern(client, _m(acc, 'ratio'))
|
|
1924
1913
|
|
|
1914
|
+
class PercentilesPattern:
|
|
1915
|
+
"""Pattern struct for repeated tree structure."""
|
|
1916
|
+
|
|
1917
|
+
def __init__(self, client: BrkClientBase, acc: str):
|
|
1918
|
+
"""Create pattern node with accumulated metric name."""
|
|
1919
|
+
self.pct05: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct05'))
|
|
1920
|
+
self.pct10: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct10'))
|
|
1921
|
+
self.pct15: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct15'))
|
|
1922
|
+
self.pct20: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct20'))
|
|
1923
|
+
self.pct25: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct25'))
|
|
1924
|
+
self.pct30: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct30'))
|
|
1925
|
+
self.pct35: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct35'))
|
|
1926
|
+
self.pct40: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct40'))
|
|
1927
|
+
self.pct45: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct45'))
|
|
1928
|
+
self.pct50: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct50'))
|
|
1929
|
+
self.pct55: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct55'))
|
|
1930
|
+
self.pct60: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct60'))
|
|
1931
|
+
self.pct65: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct65'))
|
|
1932
|
+
self.pct70: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct70'))
|
|
1933
|
+
self.pct75: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct75'))
|
|
1934
|
+
self.pct80: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct80'))
|
|
1935
|
+
self.pct85: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct85'))
|
|
1936
|
+
self.pct90: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct90'))
|
|
1937
|
+
self.pct95: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct95'))
|
|
1938
|
+
|
|
1925
1939
|
class ActivePriceRatioPattern:
|
|
1926
1940
|
"""Pattern struct for repeated tree structure."""
|
|
1927
1941
|
|
|
@@ -1934,44 +1948,19 @@ class ActivePriceRatioPattern:
|
|
|
1934
1948
|
self.ratio_2y_sd: Ratio1ySdPattern = Ratio1ySdPattern(client, _m(acc, '2y'))
|
|
1935
1949
|
self.ratio_4y_sd: Ratio1ySdPattern = Ratio1ySdPattern(client, _m(acc, '4y'))
|
|
1936
1950
|
self.ratio_pct1: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'pct1'))
|
|
1937
|
-
self.ratio_pct1_usd:
|
|
1951
|
+
self.ratio_pct1_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct1_usd'))
|
|
1938
1952
|
self.ratio_pct2: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'pct2'))
|
|
1939
|
-
self.ratio_pct2_usd:
|
|
1953
|
+
self.ratio_pct2_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct2_usd'))
|
|
1940
1954
|
self.ratio_pct5: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'pct5'))
|
|
1941
|
-
self.ratio_pct5_usd:
|
|
1955
|
+
self.ratio_pct5_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct5_usd'))
|
|
1942
1956
|
self.ratio_pct95: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'pct95'))
|
|
1943
|
-
self.ratio_pct95_usd:
|
|
1957
|
+
self.ratio_pct95_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct95_usd'))
|
|
1944
1958
|
self.ratio_pct98: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'pct98'))
|
|
1945
|
-
self.ratio_pct98_usd:
|
|
1959
|
+
self.ratio_pct98_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct98_usd'))
|
|
1946
1960
|
self.ratio_pct99: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'pct99'))
|
|
1947
|
-
self.ratio_pct99_usd:
|
|
1961
|
+
self.ratio_pct99_usd: _0sdUsdPattern = _0sdUsdPattern(client, _m(acc, 'pct99_usd'))
|
|
1948
1962
|
self.ratio_sd: Ratio1ySdPattern = Ratio1ySdPattern(client, acc)
|
|
1949
1963
|
|
|
1950
|
-
class PercentilesPattern:
|
|
1951
|
-
"""Pattern struct for repeated tree structure."""
|
|
1952
|
-
|
|
1953
|
-
def __init__(self, client: BrkClientBase, acc: str):
|
|
1954
|
-
"""Create pattern node with accumulated metric name."""
|
|
1955
|
-
self.pct05: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct05'))
|
|
1956
|
-
self.pct10: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct10'))
|
|
1957
|
-
self.pct15: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct15'))
|
|
1958
|
-
self.pct20: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct20'))
|
|
1959
|
-
self.pct25: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct25'))
|
|
1960
|
-
self.pct30: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct30'))
|
|
1961
|
-
self.pct35: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct35'))
|
|
1962
|
-
self.pct40: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct40'))
|
|
1963
|
-
self.pct45: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct45'))
|
|
1964
|
-
self.pct50: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct50'))
|
|
1965
|
-
self.pct55: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct55'))
|
|
1966
|
-
self.pct60: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct60'))
|
|
1967
|
-
self.pct65: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct65'))
|
|
1968
|
-
self.pct70: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct70'))
|
|
1969
|
-
self.pct75: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct75'))
|
|
1970
|
-
self.pct80: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct80'))
|
|
1971
|
-
self.pct85: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct85'))
|
|
1972
|
-
self.pct90: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct90'))
|
|
1973
|
-
self.pct95: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'pct95'))
|
|
1974
|
-
|
|
1975
1964
|
class RelativePattern5:
|
|
1976
1965
|
"""Pattern struct for repeated tree structure."""
|
|
1977
1966
|
|
|
@@ -2017,25 +2006,6 @@ class AaopoolPattern:
|
|
|
2017
2006
|
self.fee: UnclaimedRewardsPattern = UnclaimedRewardsPattern(client, _m(acc, 'fee'))
|
|
2018
2007
|
self.subsidy: UnclaimedRewardsPattern = UnclaimedRewardsPattern(client, _m(acc, 'subsidy'))
|
|
2019
2008
|
|
|
2020
|
-
class LookbackPattern(Generic[T]):
|
|
2021
|
-
"""Pattern struct for repeated tree structure."""
|
|
2022
|
-
|
|
2023
|
-
def __init__(self, client: BrkClientBase, acc: str):
|
|
2024
|
-
"""Create pattern node with accumulated metric name."""
|
|
2025
|
-
self._10y: MetricPattern4[T] = MetricPattern4(client, _m(acc, '10y_ago'))
|
|
2026
|
-
self._1d: MetricPattern4[T] = MetricPattern4(client, _m(acc, '1d_ago'))
|
|
2027
|
-
self._1m: MetricPattern4[T] = MetricPattern4(client, _m(acc, '1m_ago'))
|
|
2028
|
-
self._1w: MetricPattern4[T] = MetricPattern4(client, _m(acc, '1w_ago'))
|
|
2029
|
-
self._1y: MetricPattern4[T] = MetricPattern4(client, _m(acc, '1y_ago'))
|
|
2030
|
-
self._2y: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2y_ago'))
|
|
2031
|
-
self._3m: MetricPattern4[T] = MetricPattern4(client, _m(acc, '3m_ago'))
|
|
2032
|
-
self._3y: MetricPattern4[T] = MetricPattern4(client, _m(acc, '3y_ago'))
|
|
2033
|
-
self._4y: MetricPattern4[T] = MetricPattern4(client, _m(acc, '4y_ago'))
|
|
2034
|
-
self._5y: MetricPattern4[T] = MetricPattern4(client, _m(acc, '5y_ago'))
|
|
2035
|
-
self._6m: MetricPattern4[T] = MetricPattern4(client, _m(acc, '6m_ago'))
|
|
2036
|
-
self._6y: MetricPattern4[T] = MetricPattern4(client, _m(acc, '6y_ago'))
|
|
2037
|
-
self._8y: MetricPattern4[T] = MetricPattern4(client, _m(acc, '8y_ago'))
|
|
2038
|
-
|
|
2039
2009
|
class PeriodLumpSumStackPattern:
|
|
2040
2010
|
"""Pattern struct for repeated tree structure."""
|
|
2041
2011
|
|
|
@@ -2054,7 +2024,7 @@ class PeriodLumpSumStackPattern:
|
|
|
2054
2024
|
self._6y: _2015Pattern = _2015Pattern(client, _p('6y', acc))
|
|
2055
2025
|
self._8y: _2015Pattern = _2015Pattern(client, _p('8y', acc))
|
|
2056
2026
|
|
|
2057
|
-
class
|
|
2027
|
+
class PeriodDaysInLossPattern(Generic[T]):
|
|
2058
2028
|
"""Pattern struct for repeated tree structure."""
|
|
2059
2029
|
|
|
2060
2030
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
@@ -2072,23 +2042,23 @@ class PeriodAveragePricePattern(Generic[T]):
|
|
|
2072
2042
|
self._6y: MetricPattern4[T] = MetricPattern4(client, _p('6y', acc))
|
|
2073
2043
|
self._8y: MetricPattern4[T] = MetricPattern4(client, _p('8y', acc))
|
|
2074
2044
|
|
|
2075
|
-
class
|
|
2045
|
+
class ClassDaysInLossPattern(Generic[T]):
|
|
2076
2046
|
"""Pattern struct for repeated tree structure."""
|
|
2077
2047
|
|
|
2078
2048
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2079
2049
|
"""Create pattern node with accumulated metric name."""
|
|
2080
|
-
self._2015: MetricPattern4[T] = MetricPattern4(client, _m(acc, '
|
|
2081
|
-
self._2016: MetricPattern4[T] = MetricPattern4(client, _m(acc, '
|
|
2082
|
-
self._2017: MetricPattern4[T] = MetricPattern4(client, _m(acc, '
|
|
2083
|
-
self._2018: MetricPattern4[T] = MetricPattern4(client, _m(acc, '
|
|
2084
|
-
self._2019: MetricPattern4[T] = MetricPattern4(client, _m(acc, '
|
|
2085
|
-
self._2020: MetricPattern4[T] = MetricPattern4(client, _m(acc, '
|
|
2086
|
-
self._2021: MetricPattern4[T] = MetricPattern4(client, _m(acc, '
|
|
2087
|
-
self._2022: MetricPattern4[T] = MetricPattern4(client, _m(acc, '
|
|
2088
|
-
self._2023: MetricPattern4[T] = MetricPattern4(client, _m(acc, '
|
|
2089
|
-
self._2024: MetricPattern4[T] = MetricPattern4(client, _m(acc, '
|
|
2090
|
-
self._2025: MetricPattern4[T] = MetricPattern4(client, _m(acc, '
|
|
2091
|
-
self._2026: MetricPattern4[T] = MetricPattern4(client, _m(acc, '
|
|
2050
|
+
self._2015: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2015_days_in_profit'))
|
|
2051
|
+
self._2016: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2016_days_in_profit'))
|
|
2052
|
+
self._2017: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2017_days_in_profit'))
|
|
2053
|
+
self._2018: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2018_days_in_profit'))
|
|
2054
|
+
self._2019: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2019_days_in_profit'))
|
|
2055
|
+
self._2020: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2020_days_in_profit'))
|
|
2056
|
+
self._2021: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2021_days_in_profit'))
|
|
2057
|
+
self._2022: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2022_days_in_profit'))
|
|
2058
|
+
self._2023: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2023_days_in_profit'))
|
|
2059
|
+
self._2024: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2024_days_in_profit'))
|
|
2060
|
+
self._2025: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2025_days_in_profit'))
|
|
2061
|
+
self._2026: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2026_days_in_profit'))
|
|
2092
2062
|
|
|
2093
2063
|
class BitcoinPattern:
|
|
2094
2064
|
"""Pattern struct for repeated tree structure."""
|
|
@@ -2231,30 +2201,42 @@ class _0satsPattern:
|
|
|
2231
2201
|
self.supply: SupplyPattern2 = SupplyPattern2(client, _m(acc, 'supply'))
|
|
2232
2202
|
self.unrealized: UnrealizedPattern = UnrealizedPattern(client, acc)
|
|
2233
2203
|
|
|
2234
|
-
class
|
|
2204
|
+
class _100btcPattern:
|
|
2235
2205
|
"""Pattern struct for repeated tree structure."""
|
|
2236
2206
|
|
|
2237
2207
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2238
2208
|
"""Create pattern node with accumulated metric name."""
|
|
2239
|
-
self.
|
|
2240
|
-
self.
|
|
2241
|
-
self.
|
|
2242
|
-
self.
|
|
2243
|
-
self.
|
|
2244
|
-
self.
|
|
2245
|
-
self.
|
|
2246
|
-
self.pct90: MetricPattern6[T] = MetricPattern6(client, _m(acc, 'pct90'))
|
|
2209
|
+
self.activity: ActivityPattern2 = ActivityPattern2(client, acc)
|
|
2210
|
+
self.cost_basis: CostBasisPattern = CostBasisPattern(client, acc)
|
|
2211
|
+
self.outputs: OutputsPattern = OutputsPattern(client, _m(acc, 'utxo_count'))
|
|
2212
|
+
self.realized: RealizedPattern = RealizedPattern(client, acc)
|
|
2213
|
+
self.relative: RelativePattern = RelativePattern(client, acc)
|
|
2214
|
+
self.supply: SupplyPattern2 = SupplyPattern2(client, _m(acc, 'supply'))
|
|
2215
|
+
self.unrealized: UnrealizedPattern = UnrealizedPattern(client, acc)
|
|
2247
2216
|
|
|
2248
|
-
class
|
|
2217
|
+
class _0satsPattern2:
|
|
2249
2218
|
"""Pattern struct for repeated tree structure."""
|
|
2250
2219
|
|
|
2251
2220
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2252
2221
|
"""Create pattern node with accumulated metric name."""
|
|
2253
2222
|
self.activity: ActivityPattern2 = ActivityPattern2(client, acc)
|
|
2254
|
-
self.cost_basis:
|
|
2223
|
+
self.cost_basis: CostBasisPattern = CostBasisPattern(client, acc)
|
|
2255
2224
|
self.outputs: OutputsPattern = OutputsPattern(client, _m(acc, 'utxo_count'))
|
|
2256
|
-
self.realized:
|
|
2257
|
-
self.relative:
|
|
2225
|
+
self.realized: RealizedPattern = RealizedPattern(client, acc)
|
|
2226
|
+
self.relative: RelativePattern4 = RelativePattern4(client, _m(acc, 'supply_in'))
|
|
2227
|
+
self.supply: SupplyPattern2 = SupplyPattern2(client, _m(acc, 'supply'))
|
|
2228
|
+
self.unrealized: UnrealizedPattern = UnrealizedPattern(client, acc)
|
|
2229
|
+
|
|
2230
|
+
class _10yPattern:
|
|
2231
|
+
"""Pattern struct for repeated tree structure."""
|
|
2232
|
+
|
|
2233
|
+
def __init__(self, client: BrkClientBase, acc: str):
|
|
2234
|
+
"""Create pattern node with accumulated metric name."""
|
|
2235
|
+
self.activity: ActivityPattern2 = ActivityPattern2(client, acc)
|
|
2236
|
+
self.cost_basis: CostBasisPattern = CostBasisPattern(client, acc)
|
|
2237
|
+
self.outputs: OutputsPattern = OutputsPattern(client, _m(acc, 'utxo_count'))
|
|
2238
|
+
self.realized: RealizedPattern4 = RealizedPattern4(client, acc)
|
|
2239
|
+
self.relative: RelativePattern = RelativePattern(client, acc)
|
|
2258
2240
|
self.supply: SupplyPattern2 = SupplyPattern2(client, _m(acc, 'supply'))
|
|
2259
2241
|
self.unrealized: UnrealizedPattern = UnrealizedPattern(client, acc)
|
|
2260
2242
|
|
|
@@ -2271,19 +2253,6 @@ class UnrealizedPattern:
|
|
|
2271
2253
|
self.unrealized_loss: MetricPattern1[Dollars] = MetricPattern1(client, _m(acc, 'unrealized_loss'))
|
|
2272
2254
|
self.unrealized_profit: MetricPattern1[Dollars] = MetricPattern1(client, _m(acc, 'unrealized_profit'))
|
|
2273
2255
|
|
|
2274
|
-
class _0satsPattern2:
|
|
2275
|
-
"""Pattern struct for repeated tree structure."""
|
|
2276
|
-
|
|
2277
|
-
def __init__(self, client: BrkClientBase, acc: str):
|
|
2278
|
-
"""Create pattern node with accumulated metric name."""
|
|
2279
|
-
self.activity: ActivityPattern2 = ActivityPattern2(client, acc)
|
|
2280
|
-
self.cost_basis: CostBasisPattern = CostBasisPattern(client, acc)
|
|
2281
|
-
self.outputs: OutputsPattern = OutputsPattern(client, _m(acc, 'utxo_count'))
|
|
2282
|
-
self.realized: RealizedPattern = RealizedPattern(client, acc)
|
|
2283
|
-
self.relative: RelativePattern4 = RelativePattern4(client, _m(acc, 'supply_in'))
|
|
2284
|
-
self.supply: SupplyPattern2 = SupplyPattern2(client, _m(acc, 'supply'))
|
|
2285
|
-
self.unrealized: UnrealizedPattern = UnrealizedPattern(client, acc)
|
|
2286
|
-
|
|
2287
2256
|
class PeriodCagrPattern:
|
|
2288
2257
|
"""Pattern struct for repeated tree structure."""
|
|
2289
2258
|
|
|
@@ -2297,31 +2266,30 @@ class PeriodCagrPattern:
|
|
|
2297
2266
|
self._6y: MetricPattern4[StoredF32] = MetricPattern4(client, _p('6y', acc))
|
|
2298
2267
|
self._8y: MetricPattern4[StoredF32] = MetricPattern4(client, _p('8y', acc))
|
|
2299
2268
|
|
|
2300
|
-
class
|
|
2269
|
+
class _10yTo12yPattern:
|
|
2301
2270
|
"""Pattern struct for repeated tree structure."""
|
|
2302
2271
|
|
|
2303
2272
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2304
2273
|
"""Create pattern node with accumulated metric name."""
|
|
2305
2274
|
self.activity: ActivityPattern2 = ActivityPattern2(client, acc)
|
|
2306
|
-
self.cost_basis:
|
|
2275
|
+
self.cost_basis: CostBasisPattern2 = CostBasisPattern2(client, acc)
|
|
2307
2276
|
self.outputs: OutputsPattern = OutputsPattern(client, _m(acc, 'utxo_count'))
|
|
2308
|
-
self.realized:
|
|
2309
|
-
self.relative:
|
|
2277
|
+
self.realized: RealizedPattern2 = RealizedPattern2(client, acc)
|
|
2278
|
+
self.relative: RelativePattern2 = RelativePattern2(client, acc)
|
|
2310
2279
|
self.supply: SupplyPattern2 = SupplyPattern2(client, _m(acc, 'supply'))
|
|
2311
2280
|
self.unrealized: UnrealizedPattern = UnrealizedPattern(client, acc)
|
|
2312
2281
|
|
|
2313
|
-
class
|
|
2282
|
+
class AllPattern:
|
|
2314
2283
|
"""Pattern struct for repeated tree structure."""
|
|
2315
2284
|
|
|
2316
2285
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2317
2286
|
"""Create pattern node with accumulated metric name."""
|
|
2318
|
-
self.
|
|
2319
|
-
self.
|
|
2320
|
-
self.
|
|
2321
|
-
self.
|
|
2322
|
-
self.
|
|
2323
|
-
self.
|
|
2324
|
-
self.unrealized: UnrealizedPattern = UnrealizedPattern(client, acc)
|
|
2287
|
+
self.balance_decreased: FullnessPattern[StoredU32] = FullnessPattern(client, _m(acc, 'balance_decreased'))
|
|
2288
|
+
self.balance_increased: FullnessPattern[StoredU32] = FullnessPattern(client, _m(acc, 'balance_increased'))
|
|
2289
|
+
self.both: FullnessPattern[StoredU32] = FullnessPattern(client, _m(acc, 'both'))
|
|
2290
|
+
self.reactivated: FullnessPattern[StoredU32] = FullnessPattern(client, _m(acc, 'reactivated'))
|
|
2291
|
+
self.receiving: FullnessPattern[StoredU32] = FullnessPattern(client, _m(acc, 'receiving'))
|
|
2292
|
+
self.sending: FullnessPattern[StoredU32] = FullnessPattern(client, _m(acc, 'sending'))
|
|
2325
2293
|
|
|
2326
2294
|
class ActivityPattern2:
|
|
2327
2295
|
"""Pattern struct for repeated tree structure."""
|
|
@@ -2353,6 +2321,24 @@ class UnclaimedRewardsPattern:
|
|
|
2353
2321
|
self.dollars: BlockCountPattern[Dollars] = BlockCountPattern(client, _m(acc, 'usd'))
|
|
2354
2322
|
self.sats: BlockCountPattern[Sats] = BlockCountPattern(client, acc)
|
|
2355
2323
|
|
|
2324
|
+
class _2015Pattern:
|
|
2325
|
+
"""Pattern struct for repeated tree structure."""
|
|
2326
|
+
|
|
2327
|
+
def __init__(self, client: BrkClientBase, acc: str):
|
|
2328
|
+
"""Create pattern node with accumulated metric name."""
|
|
2329
|
+
self.bitcoin: MetricPattern4[Bitcoin] = MetricPattern4(client, _m(acc, 'btc'))
|
|
2330
|
+
self.dollars: MetricPattern4[Dollars] = MetricPattern4(client, _m(acc, 'usd'))
|
|
2331
|
+
self.sats: MetricPattern4[Sats] = MetricPattern4(client, acc)
|
|
2332
|
+
|
|
2333
|
+
class ActiveSupplyPattern:
|
|
2334
|
+
"""Pattern struct for repeated tree structure."""
|
|
2335
|
+
|
|
2336
|
+
def __init__(self, client: BrkClientBase, acc: str):
|
|
2337
|
+
"""Create pattern node with accumulated metric name."""
|
|
2338
|
+
self.bitcoin: MetricPattern1[Bitcoin] = MetricPattern1(client, _m(acc, 'btc'))
|
|
2339
|
+
self.dollars: MetricPattern1[Dollars] = MetricPattern1(client, _m(acc, 'usd'))
|
|
2340
|
+
self.sats: MetricPattern1[Sats] = MetricPattern1(client, acc)
|
|
2341
|
+
|
|
2356
2342
|
class CoinbasePattern:
|
|
2357
2343
|
"""Pattern struct for repeated tree structure."""
|
|
2358
2344
|
|
|
@@ -2376,36 +2362,34 @@ class CostBasisPattern2:
|
|
|
2376
2362
|
|
|
2377
2363
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2378
2364
|
"""Create pattern node with accumulated metric name."""
|
|
2379
|
-
self.max:
|
|
2380
|
-
self.min:
|
|
2365
|
+
self.max: ActivePricePattern = ActivePricePattern(client, _m(acc, 'max_cost_basis'))
|
|
2366
|
+
self.min: ActivePricePattern = ActivePricePattern(client, _m(acc, 'min_cost_basis'))
|
|
2381
2367
|
self.percentiles: PercentilesPattern = PercentilesPattern(client, _m(acc, 'cost_basis'))
|
|
2382
2368
|
|
|
2383
|
-
class
|
|
2369
|
+
class CoinbasePattern2:
|
|
2384
2370
|
"""Pattern struct for repeated tree structure."""
|
|
2385
2371
|
|
|
2386
2372
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2387
2373
|
"""Create pattern node with accumulated metric name."""
|
|
2388
|
-
self.bitcoin:
|
|
2389
|
-
self.dollars:
|
|
2390
|
-
self.sats:
|
|
2374
|
+
self.bitcoin: BlockCountPattern[Bitcoin] = BlockCountPattern(client, _m(acc, 'btc'))
|
|
2375
|
+
self.dollars: BlockCountPattern[Dollars] = BlockCountPattern(client, _m(acc, 'usd'))
|
|
2376
|
+
self.sats: BlockCountPattern[Sats] = BlockCountPattern(client, acc)
|
|
2391
2377
|
|
|
2392
|
-
class
|
|
2378
|
+
class RelativePattern4:
|
|
2393
2379
|
"""Pattern struct for repeated tree structure."""
|
|
2394
2380
|
|
|
2395
2381
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2396
2382
|
"""Create pattern node with accumulated metric name."""
|
|
2397
|
-
self.
|
|
2398
|
-
self.
|
|
2399
|
-
self.sats: MetricPattern4[Sats] = MetricPattern4(client, acc)
|
|
2383
|
+
self.supply_in_loss_rel_to_own_supply: MetricPattern1[StoredF64] = MetricPattern1(client, _m(acc, 'loss_rel_to_own_supply'))
|
|
2384
|
+
self.supply_in_profit_rel_to_own_supply: MetricPattern1[StoredF64] = MetricPattern1(client, _m(acc, 'profit_rel_to_own_supply'))
|
|
2400
2385
|
|
|
2401
|
-
class
|
|
2386
|
+
class ActivePricePattern:
|
|
2402
2387
|
"""Pattern struct for repeated tree structure."""
|
|
2403
2388
|
|
|
2404
2389
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2405
2390
|
"""Create pattern node with accumulated metric name."""
|
|
2406
|
-
self.
|
|
2407
|
-
self.
|
|
2408
|
-
self.sats: BlockCountPattern[Sats] = BlockCountPattern(client, acc)
|
|
2391
|
+
self.dollars: MetricPattern1[Dollars] = MetricPattern1(client, acc)
|
|
2392
|
+
self.sats: MetricPattern1[SatsFract] = MetricPattern1(client, _m(acc, 'sats'))
|
|
2409
2393
|
|
|
2410
2394
|
class _1dReturns1mSdPattern:
|
|
2411
2395
|
"""Pattern struct for repeated tree structure."""
|
|
@@ -2415,53 +2399,53 @@ class _1dReturns1mSdPattern:
|
|
|
2415
2399
|
self.sd: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'sd'))
|
|
2416
2400
|
self.sma: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'sma'))
|
|
2417
2401
|
|
|
2418
|
-
class
|
|
2402
|
+
class SupplyPattern2:
|
|
2419
2403
|
"""Pattern struct for repeated tree structure."""
|
|
2420
2404
|
|
|
2421
2405
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2422
2406
|
"""Create pattern node with accumulated metric name."""
|
|
2423
|
-
self.
|
|
2424
|
-
self.
|
|
2407
|
+
self.halved: ActiveSupplyPattern = ActiveSupplyPattern(client, _m(acc, 'halved'))
|
|
2408
|
+
self.total: ActiveSupplyPattern = ActiveSupplyPattern(client, acc)
|
|
2425
2409
|
|
|
2426
|
-
class
|
|
2410
|
+
class _0sdUsdPattern:
|
|
2427
2411
|
"""Pattern struct for repeated tree structure."""
|
|
2428
2412
|
|
|
2429
2413
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2430
2414
|
"""Create pattern node with accumulated metric name."""
|
|
2431
|
-
self.
|
|
2432
|
-
self.
|
|
2415
|
+
self.dollars: MetricPattern4[Dollars] = MetricPattern4(client, acc)
|
|
2416
|
+
self.sats: MetricPattern4[SatsFract] = MetricPattern4(client, _m(acc, 'sats'))
|
|
2433
2417
|
|
|
2434
|
-
class
|
|
2418
|
+
class CostBasisPattern:
|
|
2435
2419
|
"""Pattern struct for repeated tree structure."""
|
|
2436
2420
|
|
|
2437
2421
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2438
2422
|
"""Create pattern node with accumulated metric name."""
|
|
2439
|
-
self.
|
|
2440
|
-
self.
|
|
2423
|
+
self.max: ActivePricePattern = ActivePricePattern(client, _m(acc, 'max_cost_basis'))
|
|
2424
|
+
self.min: ActivePricePattern = ActivePricePattern(client, _m(acc, 'min_cost_basis'))
|
|
2441
2425
|
|
|
2442
|
-
class
|
|
2426
|
+
class BlockCountPattern(Generic[T]):
|
|
2443
2427
|
"""Pattern struct for repeated tree structure."""
|
|
2444
2428
|
|
|
2445
2429
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2446
2430
|
"""Create pattern node with accumulated metric name."""
|
|
2447
|
-
self.cumulative:
|
|
2431
|
+
self.cumulative: MetricPattern1[T] = MetricPattern1(client, _m(acc, 'cumulative'))
|
|
2448
2432
|
self.sum: MetricPattern1[T] = MetricPattern1(client, acc)
|
|
2449
2433
|
|
|
2450
|
-
class
|
|
2434
|
+
class BitcoinPattern2(Generic[T]):
|
|
2451
2435
|
"""Pattern struct for repeated tree structure."""
|
|
2452
2436
|
|
|
2453
2437
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2454
2438
|
"""Create pattern node with accumulated metric name."""
|
|
2455
|
-
self.
|
|
2456
|
-
self.
|
|
2439
|
+
self.cumulative: MetricPattern2[T] = MetricPattern2(client, _m(acc, 'cumulative'))
|
|
2440
|
+
self.sum: MetricPattern1[T] = MetricPattern1(client, acc)
|
|
2457
2441
|
|
|
2458
|
-
class
|
|
2442
|
+
class SatsPattern(Generic[T]):
|
|
2459
2443
|
"""Pattern struct for repeated tree structure."""
|
|
2460
2444
|
|
|
2461
2445
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2462
2446
|
"""Create pattern node with accumulated metric name."""
|
|
2463
|
-
self.
|
|
2464
|
-
self.
|
|
2447
|
+
self.ohlc: MetricPattern1[T] = MetricPattern1(client, _m(acc, 'ohlc_sats'))
|
|
2448
|
+
self.split: SplitPattern2[T] = SplitPattern2(client, _m(acc, 'sats'))
|
|
2465
2449
|
|
|
2466
2450
|
class OutputsPattern:
|
|
2467
2451
|
"""Pattern struct for repeated tree structure."""
|
|
@@ -2647,13 +2631,13 @@ class MetricsTree_Cointime_Pricing:
|
|
|
2647
2631
|
"""Metrics tree node."""
|
|
2648
2632
|
|
|
2649
2633
|
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
2650
|
-
self.active_price:
|
|
2634
|
+
self.active_price: ActivePricePattern = ActivePricePattern(client, 'active_price')
|
|
2651
2635
|
self.active_price_ratio: ActivePriceRatioPattern = ActivePriceRatioPattern(client, 'active_price_ratio')
|
|
2652
|
-
self.cointime_price:
|
|
2636
|
+
self.cointime_price: ActivePricePattern = ActivePricePattern(client, 'cointime_price')
|
|
2653
2637
|
self.cointime_price_ratio: ActivePriceRatioPattern = ActivePriceRatioPattern(client, 'cointime_price_ratio')
|
|
2654
|
-
self.true_market_mean:
|
|
2638
|
+
self.true_market_mean: ActivePricePattern = ActivePricePattern(client, 'true_market_mean')
|
|
2655
2639
|
self.true_market_mean_ratio: ActivePriceRatioPattern = ActivePriceRatioPattern(client, 'true_market_mean_ratio')
|
|
2656
|
-
self.vaulted_price:
|
|
2640
|
+
self.vaulted_price: ActivePricePattern = ActivePricePattern(client, 'vaulted_price')
|
|
2657
2641
|
self.vaulted_price_ratio: ActivePriceRatioPattern = ActivePriceRatioPattern(client, 'vaulted_price_ratio')
|
|
2658
2642
|
|
|
2659
2643
|
class MetricsTree_Cointime_ReserveRisk:
|
|
@@ -2715,6 +2699,20 @@ class MetricsTree_Constants:
|
|
|
2715
2699
|
self.constant_minus_3: MetricPattern1[StoredI8] = MetricPattern1(client, 'constant_minus_3')
|
|
2716
2700
|
self.constant_minus_4: MetricPattern1[StoredI8] = MetricPattern1(client, 'constant_minus_4')
|
|
2717
2701
|
|
|
2702
|
+
class MetricsTree_Distribution_AddressActivity:
|
|
2703
|
+
"""Metrics tree node."""
|
|
2704
|
+
|
|
2705
|
+
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
2706
|
+
self.all: AllPattern = AllPattern(client, 'address_activity')
|
|
2707
|
+
self.p2a: AllPattern = AllPattern(client, 'p2a_address_activity')
|
|
2708
|
+
self.p2pk33: AllPattern = AllPattern(client, 'p2pk33_address_activity')
|
|
2709
|
+
self.p2pk65: AllPattern = AllPattern(client, 'p2pk65_address_activity')
|
|
2710
|
+
self.p2pkh: AllPattern = AllPattern(client, 'p2pkh_address_activity')
|
|
2711
|
+
self.p2sh: AllPattern = AllPattern(client, 'p2sh_address_activity')
|
|
2712
|
+
self.p2tr: AllPattern = AllPattern(client, 'p2tr_address_activity')
|
|
2713
|
+
self.p2wpkh: AllPattern = AllPattern(client, 'p2wpkh_address_activity')
|
|
2714
|
+
self.p2wsh: AllPattern = AllPattern(client, 'p2wsh_address_activity')
|
|
2715
|
+
|
|
2718
2716
|
class MetricsTree_Distribution_AddressCohorts_AmountRange:
|
|
2719
2717
|
"""Metrics tree node."""
|
|
2720
2718
|
|
|
@@ -2739,19 +2737,19 @@ class MetricsTree_Distribution_AddressCohorts_GeAmount:
|
|
|
2739
2737
|
"""Metrics tree node."""
|
|
2740
2738
|
|
|
2741
2739
|
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
2742
|
-
self._100btc: _0satsPattern = _0satsPattern(client, '
|
|
2743
|
-
self._100k_sats: _0satsPattern = _0satsPattern(client, '
|
|
2744
|
-
self._100sats: _0satsPattern = _0satsPattern(client, '
|
|
2745
|
-
self._10btc: _0satsPattern = _0satsPattern(client, '
|
|
2746
|
-
self._10k_btc: _0satsPattern = _0satsPattern(client, '
|
|
2747
|
-
self._10k_sats: _0satsPattern = _0satsPattern(client, '
|
|
2748
|
-
self._10m_sats: _0satsPattern = _0satsPattern(client, '
|
|
2749
|
-
self._10sats: _0satsPattern = _0satsPattern(client, '
|
|
2750
|
-
self._1btc: _0satsPattern = _0satsPattern(client, '
|
|
2751
|
-
self._1k_btc: _0satsPattern = _0satsPattern(client, '
|
|
2752
|
-
self._1k_sats: _0satsPattern = _0satsPattern(client, '
|
|
2753
|
-
self._1m_sats: _0satsPattern = _0satsPattern(client, '
|
|
2754
|
-
self._1sat: _0satsPattern = _0satsPattern(client, '
|
|
2740
|
+
self._100btc: _0satsPattern = _0satsPattern(client, 'addrs_over_100btc')
|
|
2741
|
+
self._100k_sats: _0satsPattern = _0satsPattern(client, 'addrs_over_100k_sats')
|
|
2742
|
+
self._100sats: _0satsPattern = _0satsPattern(client, 'addrs_over_100sats')
|
|
2743
|
+
self._10btc: _0satsPattern = _0satsPattern(client, 'addrs_over_10btc')
|
|
2744
|
+
self._10k_btc: _0satsPattern = _0satsPattern(client, 'addrs_over_10k_btc')
|
|
2745
|
+
self._10k_sats: _0satsPattern = _0satsPattern(client, 'addrs_over_10k_sats')
|
|
2746
|
+
self._10m_sats: _0satsPattern = _0satsPattern(client, 'addrs_over_10m_sats')
|
|
2747
|
+
self._10sats: _0satsPattern = _0satsPattern(client, 'addrs_over_10sats')
|
|
2748
|
+
self._1btc: _0satsPattern = _0satsPattern(client, 'addrs_over_1btc')
|
|
2749
|
+
self._1k_btc: _0satsPattern = _0satsPattern(client, 'addrs_over_1k_btc')
|
|
2750
|
+
self._1k_sats: _0satsPattern = _0satsPattern(client, 'addrs_over_1k_sats')
|
|
2751
|
+
self._1m_sats: _0satsPattern = _0satsPattern(client, 'addrs_over_1m_sats')
|
|
2752
|
+
self._1sat: _0satsPattern = _0satsPattern(client, 'addrs_over_1sat')
|
|
2755
2753
|
|
|
2756
2754
|
class MetricsTree_Distribution_AddressCohorts_LtAmount:
|
|
2757
2755
|
"""Metrics tree node."""
|
|
@@ -2799,38 +2797,66 @@ class MetricsTree_Distribution_AnyAddressIndexes:
|
|
|
2799
2797
|
self.p2wpkh: MetricPattern23[AnyAddressIndex] = MetricPattern23(client, 'anyaddressindex')
|
|
2800
2798
|
self.p2wsh: MetricPattern24[AnyAddressIndex] = MetricPattern24(client, 'anyaddressindex')
|
|
2801
2799
|
|
|
2800
|
+
class MetricsTree_Distribution_GrowthRate:
|
|
2801
|
+
"""Metrics tree node."""
|
|
2802
|
+
|
|
2803
|
+
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
2804
|
+
self.all: FullnessPattern[StoredF32] = FullnessPattern(client, 'growth_rate')
|
|
2805
|
+
self.p2a: FullnessPattern[StoredF32] = FullnessPattern(client, 'p2a_growth_rate')
|
|
2806
|
+
self.p2pk33: FullnessPattern[StoredF32] = FullnessPattern(client, 'p2pk33_growth_rate')
|
|
2807
|
+
self.p2pk65: FullnessPattern[StoredF32] = FullnessPattern(client, 'p2pk65_growth_rate')
|
|
2808
|
+
self.p2pkh: FullnessPattern[StoredF32] = FullnessPattern(client, 'p2pkh_growth_rate')
|
|
2809
|
+
self.p2sh: FullnessPattern[StoredF32] = FullnessPattern(client, 'p2sh_growth_rate')
|
|
2810
|
+
self.p2tr: FullnessPattern[StoredF32] = FullnessPattern(client, 'p2tr_growth_rate')
|
|
2811
|
+
self.p2wpkh: FullnessPattern[StoredF32] = FullnessPattern(client, 'p2wpkh_growth_rate')
|
|
2812
|
+
self.p2wsh: FullnessPattern[StoredF32] = FullnessPattern(client, 'p2wsh_growth_rate')
|
|
2813
|
+
|
|
2814
|
+
class MetricsTree_Distribution_NewAddrCount:
|
|
2815
|
+
"""Metrics tree node."""
|
|
2816
|
+
|
|
2817
|
+
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
2818
|
+
self.all: DollarsPattern[StoredU64] = DollarsPattern(client, 'new_addr_count')
|
|
2819
|
+
self.p2a: DollarsPattern[StoredU64] = DollarsPattern(client, 'p2a_new_addr_count')
|
|
2820
|
+
self.p2pk33: DollarsPattern[StoredU64] = DollarsPattern(client, 'p2pk33_new_addr_count')
|
|
2821
|
+
self.p2pk65: DollarsPattern[StoredU64] = DollarsPattern(client, 'p2pk65_new_addr_count')
|
|
2822
|
+
self.p2pkh: DollarsPattern[StoredU64] = DollarsPattern(client, 'p2pkh_new_addr_count')
|
|
2823
|
+
self.p2sh: DollarsPattern[StoredU64] = DollarsPattern(client, 'p2sh_new_addr_count')
|
|
2824
|
+
self.p2tr: DollarsPattern[StoredU64] = DollarsPattern(client, 'p2tr_new_addr_count')
|
|
2825
|
+
self.p2wpkh: DollarsPattern[StoredU64] = DollarsPattern(client, 'p2wpkh_new_addr_count')
|
|
2826
|
+
self.p2wsh: DollarsPattern[StoredU64] = DollarsPattern(client, 'p2wsh_new_addr_count')
|
|
2827
|
+
|
|
2802
2828
|
class MetricsTree_Distribution_UtxoCohorts_AgeRange:
|
|
2803
2829
|
"""Metrics tree node."""
|
|
2804
2830
|
|
|
2805
2831
|
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
2806
|
-
self._10y_to_12y: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2807
|
-
self._12y_to_15y: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2808
|
-
self._1d_to_1w: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2809
|
-
self._1h_to_1d: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2810
|
-
self._1m_to_2m: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2811
|
-
self._1w_to_1m: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2812
|
-
self._1y_to_2y: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2813
|
-
self._2m_to_3m: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2814
|
-
self._2y_to_3y: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2815
|
-
self._3m_to_4m: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2816
|
-
self._3y_to_4y: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2817
|
-
self._4m_to_5m: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2818
|
-
self._4y_to_5y: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2819
|
-
self._5m_to_6m: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2820
|
-
self._5y_to_6y: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2821
|
-
self._6m_to_1y: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2822
|
-
self._6y_to_7y: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2823
|
-
self._7y_to_8y: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2824
|
-
self._8y_to_10y: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2825
|
-
self.from_15y: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2826
|
-
self.up_to_1h: _10yTo12yPattern = _10yTo12yPattern(client, '
|
|
2832
|
+
self._10y_to_12y: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_10y_to_12y_old')
|
|
2833
|
+
self._12y_to_15y: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_12y_to_15y_old')
|
|
2834
|
+
self._1d_to_1w: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_1d_to_1w_old')
|
|
2835
|
+
self._1h_to_1d: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_1h_to_1d_old')
|
|
2836
|
+
self._1m_to_2m: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_1m_to_2m_old')
|
|
2837
|
+
self._1w_to_1m: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_1w_to_1m_old')
|
|
2838
|
+
self._1y_to_2y: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_1y_to_2y_old')
|
|
2839
|
+
self._2m_to_3m: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_2m_to_3m_old')
|
|
2840
|
+
self._2y_to_3y: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_2y_to_3y_old')
|
|
2841
|
+
self._3m_to_4m: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_3m_to_4m_old')
|
|
2842
|
+
self._3y_to_4y: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_3y_to_4y_old')
|
|
2843
|
+
self._4m_to_5m: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_4m_to_5m_old')
|
|
2844
|
+
self._4y_to_5y: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_4y_to_5y_old')
|
|
2845
|
+
self._5m_to_6m: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_5m_to_6m_old')
|
|
2846
|
+
self._5y_to_6y: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_5y_to_6y_old')
|
|
2847
|
+
self._6m_to_1y: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_6m_to_1y_old')
|
|
2848
|
+
self._6y_to_7y: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_6y_to_7y_old')
|
|
2849
|
+
self._7y_to_8y: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_7y_to_8y_old')
|
|
2850
|
+
self._8y_to_10y: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_8y_to_10y_old')
|
|
2851
|
+
self.from_15y: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_over_15y_old')
|
|
2852
|
+
self.up_to_1h: _10yTo12yPattern = _10yTo12yPattern(client, 'utxos_under_1h_old')
|
|
2827
2853
|
|
|
2828
2854
|
class MetricsTree_Distribution_UtxoCohorts_All_CostBasis:
|
|
2829
2855
|
"""Metrics tree node."""
|
|
2830
2856
|
|
|
2831
2857
|
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
2832
|
-
self.max:
|
|
2833
|
-
self.min:
|
|
2858
|
+
self.max: ActivePricePattern = ActivePricePattern(client, 'max_cost_basis')
|
|
2859
|
+
self.min: ActivePricePattern = ActivePricePattern(client, 'min_cost_basis')
|
|
2834
2860
|
self.percentiles: PercentilesPattern = PercentilesPattern(client, 'cost_basis')
|
|
2835
2861
|
|
|
2836
2862
|
class MetricsTree_Distribution_UtxoCohorts_All_Relative:
|
|
@@ -2890,19 +2916,19 @@ class MetricsTree_Distribution_UtxoCohorts_GeAmount:
|
|
|
2890
2916
|
"""Metrics tree node."""
|
|
2891
2917
|
|
|
2892
2918
|
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
2893
|
-
self._100btc: _100btcPattern = _100btcPattern(client, '
|
|
2894
|
-
self._100k_sats: _100btcPattern = _100btcPattern(client, '
|
|
2895
|
-
self._100sats: _100btcPattern = _100btcPattern(client, '
|
|
2896
|
-
self._10btc: _100btcPattern = _100btcPattern(client, '
|
|
2897
|
-
self._10k_btc: _100btcPattern = _100btcPattern(client, '
|
|
2898
|
-
self._10k_sats: _100btcPattern = _100btcPattern(client, '
|
|
2899
|
-
self._10m_sats: _100btcPattern = _100btcPattern(client, '
|
|
2900
|
-
self._10sats: _100btcPattern = _100btcPattern(client, '
|
|
2901
|
-
self._1btc: _100btcPattern = _100btcPattern(client, '
|
|
2902
|
-
self._1k_btc: _100btcPattern = _100btcPattern(client, '
|
|
2903
|
-
self._1k_sats: _100btcPattern = _100btcPattern(client, '
|
|
2904
|
-
self._1m_sats: _100btcPattern = _100btcPattern(client, '
|
|
2905
|
-
self._1sat: _100btcPattern = _100btcPattern(client, '
|
|
2919
|
+
self._100btc: _100btcPattern = _100btcPattern(client, 'utxos_over_100btc')
|
|
2920
|
+
self._100k_sats: _100btcPattern = _100btcPattern(client, 'utxos_over_100k_sats')
|
|
2921
|
+
self._100sats: _100btcPattern = _100btcPattern(client, 'utxos_over_100sats')
|
|
2922
|
+
self._10btc: _100btcPattern = _100btcPattern(client, 'utxos_over_10btc')
|
|
2923
|
+
self._10k_btc: _100btcPattern = _100btcPattern(client, 'utxos_over_10k_btc')
|
|
2924
|
+
self._10k_sats: _100btcPattern = _100btcPattern(client, 'utxos_over_10k_sats')
|
|
2925
|
+
self._10m_sats: _100btcPattern = _100btcPattern(client, 'utxos_over_10m_sats')
|
|
2926
|
+
self._10sats: _100btcPattern = _100btcPattern(client, 'utxos_over_10sats')
|
|
2927
|
+
self._1btc: _100btcPattern = _100btcPattern(client, 'utxos_over_1btc')
|
|
2928
|
+
self._1k_btc: _100btcPattern = _100btcPattern(client, 'utxos_over_1k_btc')
|
|
2929
|
+
self._1k_sats: _100btcPattern = _100btcPattern(client, 'utxos_over_1k_sats')
|
|
2930
|
+
self._1m_sats: _100btcPattern = _100btcPattern(client, 'utxos_over_1m_sats')
|
|
2931
|
+
self._1sat: _100btcPattern = _100btcPattern(client, 'utxos_over_1sat')
|
|
2906
2932
|
|
|
2907
2933
|
class MetricsTree_Distribution_UtxoCohorts_LtAmount:
|
|
2908
2934
|
"""Metrics tree node."""
|
|
@@ -2926,47 +2952,47 @@ class MetricsTree_Distribution_UtxoCohorts_MaxAge:
|
|
|
2926
2952
|
"""Metrics tree node."""
|
|
2927
2953
|
|
|
2928
2954
|
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
2929
|
-
self._10y: _10yPattern = _10yPattern(client, '
|
|
2930
|
-
self._12y: _10yPattern = _10yPattern(client, '
|
|
2931
|
-
self._15y: _10yPattern = _10yPattern(client, '
|
|
2932
|
-
self._1m: _10yPattern = _10yPattern(client, '
|
|
2933
|
-
self._1w: _10yPattern = _10yPattern(client, '
|
|
2934
|
-
self._1y: _10yPattern = _10yPattern(client, '
|
|
2935
|
-
self._2m: _10yPattern = _10yPattern(client, '
|
|
2936
|
-
self._2y: _10yPattern = _10yPattern(client, '
|
|
2937
|
-
self._3m: _10yPattern = _10yPattern(client, '
|
|
2938
|
-
self._3y: _10yPattern = _10yPattern(client, '
|
|
2939
|
-
self._4m: _10yPattern = _10yPattern(client, '
|
|
2940
|
-
self._4y: _10yPattern = _10yPattern(client, '
|
|
2941
|
-
self._5m: _10yPattern = _10yPattern(client, '
|
|
2942
|
-
self._5y: _10yPattern = _10yPattern(client, '
|
|
2943
|
-
self._6m: _10yPattern = _10yPattern(client, '
|
|
2944
|
-
self._6y: _10yPattern = _10yPattern(client, '
|
|
2945
|
-
self._7y: _10yPattern = _10yPattern(client, '
|
|
2946
|
-
self._8y: _10yPattern = _10yPattern(client, '
|
|
2955
|
+
self._10y: _10yPattern = _10yPattern(client, 'utxos_under_10y_old')
|
|
2956
|
+
self._12y: _10yPattern = _10yPattern(client, 'utxos_under_12y_old')
|
|
2957
|
+
self._15y: _10yPattern = _10yPattern(client, 'utxos_under_15y_old')
|
|
2958
|
+
self._1m: _10yPattern = _10yPattern(client, 'utxos_under_1m_old')
|
|
2959
|
+
self._1w: _10yPattern = _10yPattern(client, 'utxos_under_1w_old')
|
|
2960
|
+
self._1y: _10yPattern = _10yPattern(client, 'utxos_under_1y_old')
|
|
2961
|
+
self._2m: _10yPattern = _10yPattern(client, 'utxos_under_2m_old')
|
|
2962
|
+
self._2y: _10yPattern = _10yPattern(client, 'utxos_under_2y_old')
|
|
2963
|
+
self._3m: _10yPattern = _10yPattern(client, 'utxos_under_3m_old')
|
|
2964
|
+
self._3y: _10yPattern = _10yPattern(client, 'utxos_under_3y_old')
|
|
2965
|
+
self._4m: _10yPattern = _10yPattern(client, 'utxos_under_4m_old')
|
|
2966
|
+
self._4y: _10yPattern = _10yPattern(client, 'utxos_under_4y_old')
|
|
2967
|
+
self._5m: _10yPattern = _10yPattern(client, 'utxos_under_5m_old')
|
|
2968
|
+
self._5y: _10yPattern = _10yPattern(client, 'utxos_under_5y_old')
|
|
2969
|
+
self._6m: _10yPattern = _10yPattern(client, 'utxos_under_6m_old')
|
|
2970
|
+
self._6y: _10yPattern = _10yPattern(client, 'utxos_under_6y_old')
|
|
2971
|
+
self._7y: _10yPattern = _10yPattern(client, 'utxos_under_7y_old')
|
|
2972
|
+
self._8y: _10yPattern = _10yPattern(client, 'utxos_under_8y_old')
|
|
2947
2973
|
|
|
2948
2974
|
class MetricsTree_Distribution_UtxoCohorts_MinAge:
|
|
2949
2975
|
"""Metrics tree node."""
|
|
2950
2976
|
|
|
2951
2977
|
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
2952
|
-
self._10y: _100btcPattern = _100btcPattern(client, '
|
|
2953
|
-
self._12y: _100btcPattern = _100btcPattern(client, '
|
|
2954
|
-
self._1d: _100btcPattern = _100btcPattern(client, '
|
|
2955
|
-
self._1m: _100btcPattern = _100btcPattern(client, '
|
|
2956
|
-
self._1w: _100btcPattern = _100btcPattern(client, '
|
|
2957
|
-
self._1y: _100btcPattern = _100btcPattern(client, '
|
|
2958
|
-
self._2m: _100btcPattern = _100btcPattern(client, '
|
|
2959
|
-
self._2y: _100btcPattern = _100btcPattern(client, '
|
|
2960
|
-
self._3m: _100btcPattern = _100btcPattern(client, '
|
|
2961
|
-
self._3y: _100btcPattern = _100btcPattern(client, '
|
|
2962
|
-
self._4m: _100btcPattern = _100btcPattern(client, '
|
|
2963
|
-
self._4y: _100btcPattern = _100btcPattern(client, '
|
|
2964
|
-
self._5m: _100btcPattern = _100btcPattern(client, '
|
|
2965
|
-
self._5y: _100btcPattern = _100btcPattern(client, '
|
|
2966
|
-
self._6m: _100btcPattern = _100btcPattern(client, '
|
|
2967
|
-
self._6y: _100btcPattern = _100btcPattern(client, '
|
|
2968
|
-
self._7y: _100btcPattern = _100btcPattern(client, '
|
|
2969
|
-
self._8y: _100btcPattern = _100btcPattern(client, '
|
|
2978
|
+
self._10y: _100btcPattern = _100btcPattern(client, 'utxos_over_10y_old')
|
|
2979
|
+
self._12y: _100btcPattern = _100btcPattern(client, 'utxos_over_12y_old')
|
|
2980
|
+
self._1d: _100btcPattern = _100btcPattern(client, 'utxos_over_1d_old')
|
|
2981
|
+
self._1m: _100btcPattern = _100btcPattern(client, 'utxos_over_1m_old')
|
|
2982
|
+
self._1w: _100btcPattern = _100btcPattern(client, 'utxos_over_1w_old')
|
|
2983
|
+
self._1y: _100btcPattern = _100btcPattern(client, 'utxos_over_1y_old')
|
|
2984
|
+
self._2m: _100btcPattern = _100btcPattern(client, 'utxos_over_2m_old')
|
|
2985
|
+
self._2y: _100btcPattern = _100btcPattern(client, 'utxos_over_2y_old')
|
|
2986
|
+
self._3m: _100btcPattern = _100btcPattern(client, 'utxos_over_3m_old')
|
|
2987
|
+
self._3y: _100btcPattern = _100btcPattern(client, 'utxos_over_3y_old')
|
|
2988
|
+
self._4m: _100btcPattern = _100btcPattern(client, 'utxos_over_4m_old')
|
|
2989
|
+
self._4y: _100btcPattern = _100btcPattern(client, 'utxos_over_4y_old')
|
|
2990
|
+
self._5m: _100btcPattern = _100btcPattern(client, 'utxos_over_5m_old')
|
|
2991
|
+
self._5y: _100btcPattern = _100btcPattern(client, 'utxos_over_5y_old')
|
|
2992
|
+
self._6m: _100btcPattern = _100btcPattern(client, 'utxos_over_6m_old')
|
|
2993
|
+
self._6y: _100btcPattern = _100btcPattern(client, 'utxos_over_6y_old')
|
|
2994
|
+
self._7y: _100btcPattern = _100btcPattern(client, 'utxos_over_7y_old')
|
|
2995
|
+
self._8y: _100btcPattern = _100btcPattern(client, 'utxos_over_8y_old')
|
|
2970
2996
|
|
|
2971
2997
|
class MetricsTree_Distribution_UtxoCohorts_Term_Long:
|
|
2972
2998
|
"""Metrics tree node."""
|
|
@@ -3059,13 +3085,17 @@ class MetricsTree_Distribution:
|
|
|
3059
3085
|
|
|
3060
3086
|
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3061
3087
|
self.addr_count: AddrCountPattern = AddrCountPattern(client, 'addr_count')
|
|
3088
|
+
self.address_activity: MetricsTree_Distribution_AddressActivity = MetricsTree_Distribution_AddressActivity(client)
|
|
3062
3089
|
self.address_cohorts: MetricsTree_Distribution_AddressCohorts = MetricsTree_Distribution_AddressCohorts(client)
|
|
3063
3090
|
self.addresses_data: MetricsTree_Distribution_AddressesData = MetricsTree_Distribution_AddressesData(client)
|
|
3064
3091
|
self.any_address_indexes: MetricsTree_Distribution_AnyAddressIndexes = MetricsTree_Distribution_AnyAddressIndexes(client)
|
|
3065
3092
|
self.chain_state: MetricPattern11[SupplyState] = MetricPattern11(client, 'chain')
|
|
3066
3093
|
self.empty_addr_count: AddrCountPattern = AddrCountPattern(client, 'empty_addr_count')
|
|
3067
3094
|
self.emptyaddressindex: MetricPattern32[EmptyAddressIndex] = MetricPattern32(client, 'emptyaddressindex')
|
|
3095
|
+
self.growth_rate: MetricsTree_Distribution_GrowthRate = MetricsTree_Distribution_GrowthRate(client)
|
|
3068
3096
|
self.loadedaddressindex: MetricPattern31[LoadedAddressIndex] = MetricPattern31(client, 'loadedaddressindex')
|
|
3097
|
+
self.new_addr_count: MetricsTree_Distribution_NewAddrCount = MetricsTree_Distribution_NewAddrCount(client)
|
|
3098
|
+
self.total_addr_count: AddrCountPattern = AddrCountPattern(client, 'total_addr_count')
|
|
3069
3099
|
self.utxo_cohorts: MetricsTree_Distribution_UtxoCohorts = MetricsTree_Distribution_UtxoCohorts(client)
|
|
3070
3100
|
|
|
3071
3101
|
class MetricsTree_Indexes_Address_Empty:
|
|
@@ -3316,10 +3346,78 @@ class MetricsTree_Market_Ath:
|
|
|
3316
3346
|
self.days_since_price_ath: MetricPattern4[StoredU16] = MetricPattern4(client, 'days_since_price_ath')
|
|
3317
3347
|
self.max_days_between_price_aths: MetricPattern4[StoredU16] = MetricPattern4(client, 'max_days_between_price_aths')
|
|
3318
3348
|
self.max_years_between_price_aths: MetricPattern4[StoredF32] = MetricPattern4(client, 'max_years_between_price_aths')
|
|
3319
|
-
self.price_ath:
|
|
3349
|
+
self.price_ath: ActivePricePattern = ActivePricePattern(client, 'price_ath')
|
|
3320
3350
|
self.price_drawdown: MetricPattern3[StoredF32] = MetricPattern3(client, 'price_drawdown')
|
|
3321
3351
|
self.years_since_price_ath: MetricPattern4[StoredF32] = MetricPattern4(client, 'years_since_price_ath')
|
|
3322
3352
|
|
|
3353
|
+
class MetricsTree_Market_Dca_ClassAveragePrice:
|
|
3354
|
+
"""Metrics tree node."""
|
|
3355
|
+
|
|
3356
|
+
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3357
|
+
self._2015: _0sdUsdPattern = _0sdUsdPattern(client, 'dca_class_2015_average_price')
|
|
3358
|
+
self._2016: _0sdUsdPattern = _0sdUsdPattern(client, 'dca_class_2016_average_price')
|
|
3359
|
+
self._2017: _0sdUsdPattern = _0sdUsdPattern(client, 'dca_class_2017_average_price')
|
|
3360
|
+
self._2018: _0sdUsdPattern = _0sdUsdPattern(client, 'dca_class_2018_average_price')
|
|
3361
|
+
self._2019: _0sdUsdPattern = _0sdUsdPattern(client, 'dca_class_2019_average_price')
|
|
3362
|
+
self._2020: _0sdUsdPattern = _0sdUsdPattern(client, 'dca_class_2020_average_price')
|
|
3363
|
+
self._2021: _0sdUsdPattern = _0sdUsdPattern(client, 'dca_class_2021_average_price')
|
|
3364
|
+
self._2022: _0sdUsdPattern = _0sdUsdPattern(client, 'dca_class_2022_average_price')
|
|
3365
|
+
self._2023: _0sdUsdPattern = _0sdUsdPattern(client, 'dca_class_2023_average_price')
|
|
3366
|
+
self._2024: _0sdUsdPattern = _0sdUsdPattern(client, 'dca_class_2024_average_price')
|
|
3367
|
+
self._2025: _0sdUsdPattern = _0sdUsdPattern(client, 'dca_class_2025_average_price')
|
|
3368
|
+
self._2026: _0sdUsdPattern = _0sdUsdPattern(client, 'dca_class_2026_average_price')
|
|
3369
|
+
|
|
3370
|
+
class MetricsTree_Market_Dca_ClassDaysInLoss:
|
|
3371
|
+
"""Metrics tree node."""
|
|
3372
|
+
|
|
3373
|
+
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3374
|
+
self._2015: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2015_days_in_loss')
|
|
3375
|
+
self._2016: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2016_days_in_loss')
|
|
3376
|
+
self._2017: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2017_days_in_loss')
|
|
3377
|
+
self._2018: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2018_days_in_loss')
|
|
3378
|
+
self._2019: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2019_days_in_loss')
|
|
3379
|
+
self._2020: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2020_days_in_loss')
|
|
3380
|
+
self._2021: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2021_days_in_loss')
|
|
3381
|
+
self._2022: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2022_days_in_loss')
|
|
3382
|
+
self._2023: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2023_days_in_loss')
|
|
3383
|
+
self._2024: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2024_days_in_loss')
|
|
3384
|
+
self._2025: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2025_days_in_loss')
|
|
3385
|
+
self._2026: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2026_days_in_loss')
|
|
3386
|
+
|
|
3387
|
+
class MetricsTree_Market_Dca_ClassMaxDrawdown:
|
|
3388
|
+
"""Metrics tree node."""
|
|
3389
|
+
|
|
3390
|
+
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3391
|
+
self._2015: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2015_max_drawdown')
|
|
3392
|
+
self._2016: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2016_max_drawdown')
|
|
3393
|
+
self._2017: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2017_max_drawdown')
|
|
3394
|
+
self._2018: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2018_max_drawdown')
|
|
3395
|
+
self._2019: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2019_max_drawdown')
|
|
3396
|
+
self._2020: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2020_max_drawdown')
|
|
3397
|
+
self._2021: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2021_max_drawdown')
|
|
3398
|
+
self._2022: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2022_max_drawdown')
|
|
3399
|
+
self._2023: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2023_max_drawdown')
|
|
3400
|
+
self._2024: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2024_max_drawdown')
|
|
3401
|
+
self._2025: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2025_max_drawdown')
|
|
3402
|
+
self._2026: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2026_max_drawdown')
|
|
3403
|
+
|
|
3404
|
+
class MetricsTree_Market_Dca_ClassMaxReturn:
|
|
3405
|
+
"""Metrics tree node."""
|
|
3406
|
+
|
|
3407
|
+
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3408
|
+
self._2015: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2015_max_return')
|
|
3409
|
+
self._2016: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2016_max_return')
|
|
3410
|
+
self._2017: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2017_max_return')
|
|
3411
|
+
self._2018: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2018_max_return')
|
|
3412
|
+
self._2019: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2019_max_return')
|
|
3413
|
+
self._2020: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2020_max_return')
|
|
3414
|
+
self._2021: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2021_max_return')
|
|
3415
|
+
self._2022: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2022_max_return')
|
|
3416
|
+
self._2023: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2023_max_return')
|
|
3417
|
+
self._2024: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2024_max_return')
|
|
3418
|
+
self._2025: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2025_max_return')
|
|
3419
|
+
self._2026: MetricPattern4[StoredF32] = MetricPattern4(client, 'dca_class_2026_max_return')
|
|
3420
|
+
|
|
3323
3421
|
class MetricsTree_Market_Dca_ClassReturns:
|
|
3324
3422
|
"""Metrics tree node."""
|
|
3325
3423
|
|
|
@@ -3354,17 +3452,47 @@ class MetricsTree_Market_Dca_ClassStack:
|
|
|
3354
3452
|
self._2025: _2015Pattern = _2015Pattern(client, 'dca_class_2025_stack')
|
|
3355
3453
|
self._2026: _2015Pattern = _2015Pattern(client, 'dca_class_2026_stack')
|
|
3356
3454
|
|
|
3455
|
+
class MetricsTree_Market_Dca_PeriodAveragePrice:
|
|
3456
|
+
"""Metrics tree node."""
|
|
3457
|
+
|
|
3458
|
+
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3459
|
+
self._10y: _0sdUsdPattern = _0sdUsdPattern(client, '10y_dca_average_price')
|
|
3460
|
+
self._1m: _0sdUsdPattern = _0sdUsdPattern(client, '1m_dca_average_price')
|
|
3461
|
+
self._1w: _0sdUsdPattern = _0sdUsdPattern(client, '1w_dca_average_price')
|
|
3462
|
+
self._1y: _0sdUsdPattern = _0sdUsdPattern(client, '1y_dca_average_price')
|
|
3463
|
+
self._2y: _0sdUsdPattern = _0sdUsdPattern(client, '2y_dca_average_price')
|
|
3464
|
+
self._3m: _0sdUsdPattern = _0sdUsdPattern(client, '3m_dca_average_price')
|
|
3465
|
+
self._3y: _0sdUsdPattern = _0sdUsdPattern(client, '3y_dca_average_price')
|
|
3466
|
+
self._4y: _0sdUsdPattern = _0sdUsdPattern(client, '4y_dca_average_price')
|
|
3467
|
+
self._5y: _0sdUsdPattern = _0sdUsdPattern(client, '5y_dca_average_price')
|
|
3468
|
+
self._6m: _0sdUsdPattern = _0sdUsdPattern(client, '6m_dca_average_price')
|
|
3469
|
+
self._6y: _0sdUsdPattern = _0sdUsdPattern(client, '6y_dca_average_price')
|
|
3470
|
+
self._8y: _0sdUsdPattern = _0sdUsdPattern(client, '8y_dca_average_price')
|
|
3471
|
+
|
|
3357
3472
|
class MetricsTree_Market_Dca:
|
|
3358
3473
|
"""Metrics tree node."""
|
|
3359
3474
|
|
|
3360
3475
|
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3361
|
-
self.class_average_price:
|
|
3476
|
+
self.class_average_price: MetricsTree_Market_Dca_ClassAveragePrice = MetricsTree_Market_Dca_ClassAveragePrice(client)
|
|
3477
|
+
self.class_days_in_loss: MetricsTree_Market_Dca_ClassDaysInLoss = MetricsTree_Market_Dca_ClassDaysInLoss(client)
|
|
3478
|
+
self.class_days_in_profit: ClassDaysInLossPattern[StoredU32] = ClassDaysInLossPattern(client, 'dca_class')
|
|
3479
|
+
self.class_max_drawdown: MetricsTree_Market_Dca_ClassMaxDrawdown = MetricsTree_Market_Dca_ClassMaxDrawdown(client)
|
|
3480
|
+
self.class_max_return: MetricsTree_Market_Dca_ClassMaxReturn = MetricsTree_Market_Dca_ClassMaxReturn(client)
|
|
3362
3481
|
self.class_returns: MetricsTree_Market_Dca_ClassReturns = MetricsTree_Market_Dca_ClassReturns(client)
|
|
3363
3482
|
self.class_stack: MetricsTree_Market_Dca_ClassStack = MetricsTree_Market_Dca_ClassStack(client)
|
|
3364
|
-
self.period_average_price:
|
|
3483
|
+
self.period_average_price: MetricsTree_Market_Dca_PeriodAveragePrice = MetricsTree_Market_Dca_PeriodAveragePrice(client)
|
|
3365
3484
|
self.period_cagr: PeriodCagrPattern = PeriodCagrPattern(client, 'dca_cagr')
|
|
3485
|
+
self.period_days_in_loss: PeriodDaysInLossPattern[StoredU32] = PeriodDaysInLossPattern(client, 'dca_days_in_loss')
|
|
3486
|
+
self.period_days_in_profit: PeriodDaysInLossPattern[StoredU32] = PeriodDaysInLossPattern(client, 'dca_days_in_profit')
|
|
3487
|
+
self.period_lump_sum_days_in_loss: PeriodDaysInLossPattern[StoredU32] = PeriodDaysInLossPattern(client, 'lump_sum_days_in_loss')
|
|
3488
|
+
self.period_lump_sum_days_in_profit: PeriodDaysInLossPattern[StoredU32] = PeriodDaysInLossPattern(client, 'lump_sum_days_in_profit')
|
|
3489
|
+
self.period_lump_sum_max_drawdown: PeriodDaysInLossPattern[StoredF32] = PeriodDaysInLossPattern(client, 'lump_sum_max_drawdown')
|
|
3490
|
+
self.period_lump_sum_max_return: PeriodDaysInLossPattern[StoredF32] = PeriodDaysInLossPattern(client, 'lump_sum_max_return')
|
|
3491
|
+
self.period_lump_sum_returns: PeriodDaysInLossPattern[StoredF32] = PeriodDaysInLossPattern(client, 'lump_sum_returns')
|
|
3366
3492
|
self.period_lump_sum_stack: PeriodLumpSumStackPattern = PeriodLumpSumStackPattern(client, 'lump_sum_stack')
|
|
3367
|
-
self.
|
|
3493
|
+
self.period_max_drawdown: PeriodDaysInLossPattern[StoredF32] = PeriodDaysInLossPattern(client, 'dca_max_drawdown')
|
|
3494
|
+
self.period_max_return: PeriodDaysInLossPattern[StoredF32] = PeriodDaysInLossPattern(client, 'dca_max_return')
|
|
3495
|
+
self.period_returns: PeriodDaysInLossPattern[StoredF32] = PeriodDaysInLossPattern(client, 'dca_returns')
|
|
3368
3496
|
self.period_stack: PeriodLumpSumStackPattern = PeriodLumpSumStackPattern(client, 'dca_stack')
|
|
3369
3497
|
|
|
3370
3498
|
class MetricsTree_Market_Indicators:
|
|
@@ -3391,6 +3519,24 @@ class MetricsTree_Market_Indicators:
|
|
|
3391
3519
|
self.stoch_rsi_d: MetricPattern6[StoredF32] = MetricPattern6(client, 'stoch_rsi_d')
|
|
3392
3520
|
self.stoch_rsi_k: MetricPattern6[StoredF32] = MetricPattern6(client, 'stoch_rsi_k')
|
|
3393
3521
|
|
|
3522
|
+
class MetricsTree_Market_Lookback:
|
|
3523
|
+
"""Metrics tree node."""
|
|
3524
|
+
|
|
3525
|
+
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3526
|
+
self._10y: _0sdUsdPattern = _0sdUsdPattern(client, 'price_10y_ago')
|
|
3527
|
+
self._1d: _0sdUsdPattern = _0sdUsdPattern(client, 'price_1d_ago')
|
|
3528
|
+
self._1m: _0sdUsdPattern = _0sdUsdPattern(client, 'price_1m_ago')
|
|
3529
|
+
self._1w: _0sdUsdPattern = _0sdUsdPattern(client, 'price_1w_ago')
|
|
3530
|
+
self._1y: _0sdUsdPattern = _0sdUsdPattern(client, 'price_1y_ago')
|
|
3531
|
+
self._2y: _0sdUsdPattern = _0sdUsdPattern(client, 'price_2y_ago')
|
|
3532
|
+
self._3m: _0sdUsdPattern = _0sdUsdPattern(client, 'price_3m_ago')
|
|
3533
|
+
self._3y: _0sdUsdPattern = _0sdUsdPattern(client, 'price_3y_ago')
|
|
3534
|
+
self._4y: _0sdUsdPattern = _0sdUsdPattern(client, 'price_4y_ago')
|
|
3535
|
+
self._5y: _0sdUsdPattern = _0sdUsdPattern(client, 'price_5y_ago')
|
|
3536
|
+
self._6m: _0sdUsdPattern = _0sdUsdPattern(client, 'price_6m_ago')
|
|
3537
|
+
self._6y: _0sdUsdPattern = _0sdUsdPattern(client, 'price_6y_ago')
|
|
3538
|
+
self._8y: _0sdUsdPattern = _0sdUsdPattern(client, 'price_8y_ago')
|
|
3539
|
+
|
|
3394
3540
|
class MetricsTree_Market_MovingAverage:
|
|
3395
3541
|
"""Metrics tree node."""
|
|
3396
3542
|
|
|
@@ -3409,8 +3555,8 @@ class MetricsTree_Market_MovingAverage:
|
|
|
3409
3555
|
self.price_1y_sma: Price111dSmaPattern = Price111dSmaPattern(client, 'price_1y_sma')
|
|
3410
3556
|
self.price_200d_ema: Price111dSmaPattern = Price111dSmaPattern(client, 'price_200d_ema')
|
|
3411
3557
|
self.price_200d_sma: Price111dSmaPattern = Price111dSmaPattern(client, 'price_200d_sma')
|
|
3412
|
-
self.price_200d_sma_x0_8:
|
|
3413
|
-
self.price_200d_sma_x2_4:
|
|
3558
|
+
self.price_200d_sma_x0_8: _0sdUsdPattern = _0sdUsdPattern(client, 'price_200d_sma_x0_8')
|
|
3559
|
+
self.price_200d_sma_x2_4: _0sdUsdPattern = _0sdUsdPattern(client, 'price_200d_sma_x2_4')
|
|
3414
3560
|
self.price_200w_ema: Price111dSmaPattern = Price111dSmaPattern(client, 'price_200w_ema')
|
|
3415
3561
|
self.price_200w_sma: Price111dSmaPattern = Price111dSmaPattern(client, 'price_200w_sma')
|
|
3416
3562
|
self.price_21d_ema: Price111dSmaPattern = Price111dSmaPattern(client, 'price_21d_ema')
|
|
@@ -3421,7 +3567,7 @@ class MetricsTree_Market_MovingAverage:
|
|
|
3421
3567
|
self.price_34d_ema: Price111dSmaPattern = Price111dSmaPattern(client, 'price_34d_ema')
|
|
3422
3568
|
self.price_34d_sma: Price111dSmaPattern = Price111dSmaPattern(client, 'price_34d_sma')
|
|
3423
3569
|
self.price_350d_sma: Price111dSmaPattern = Price111dSmaPattern(client, 'price_350d_sma')
|
|
3424
|
-
self.price_350d_sma_x2:
|
|
3570
|
+
self.price_350d_sma_x2: _0sdUsdPattern = _0sdUsdPattern(client, 'price_350d_sma_x2')
|
|
3425
3571
|
self.price_4y_ema: Price111dSmaPattern = Price111dSmaPattern(client, 'price_4y_ema')
|
|
3426
3572
|
self.price_4y_sma: Price111dSmaPattern = Price111dSmaPattern(client, 'price_4y_sma')
|
|
3427
3573
|
self.price_55d_ema: Price111dSmaPattern = Price111dSmaPattern(client, 'price_55d_ema')
|
|
@@ -3435,15 +3581,15 @@ class MetricsTree_Market_Range:
|
|
|
3435
3581
|
"""Metrics tree node."""
|
|
3436
3582
|
|
|
3437
3583
|
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3438
|
-
self.price_1m_max:
|
|
3439
|
-
self.price_1m_min:
|
|
3440
|
-
self.price_1w_max:
|
|
3441
|
-
self.price_1w_min:
|
|
3442
|
-
self.price_1y_max:
|
|
3443
|
-
self.price_1y_min:
|
|
3584
|
+
self.price_1m_max: _0sdUsdPattern = _0sdUsdPattern(client, 'price_1m_max')
|
|
3585
|
+
self.price_1m_min: _0sdUsdPattern = _0sdUsdPattern(client, 'price_1m_min')
|
|
3586
|
+
self.price_1w_max: _0sdUsdPattern = _0sdUsdPattern(client, 'price_1w_max')
|
|
3587
|
+
self.price_1w_min: _0sdUsdPattern = _0sdUsdPattern(client, 'price_1w_min')
|
|
3588
|
+
self.price_1y_max: _0sdUsdPattern = _0sdUsdPattern(client, 'price_1y_max')
|
|
3589
|
+
self.price_1y_min: _0sdUsdPattern = _0sdUsdPattern(client, 'price_1y_min')
|
|
3444
3590
|
self.price_2w_choppiness_index: MetricPattern4[StoredF32] = MetricPattern4(client, 'price_2w_choppiness_index')
|
|
3445
|
-
self.price_2w_max:
|
|
3446
|
-
self.price_2w_min:
|
|
3591
|
+
self.price_2w_max: _0sdUsdPattern = _0sdUsdPattern(client, 'price_2w_max')
|
|
3592
|
+
self.price_2w_min: _0sdUsdPattern = _0sdUsdPattern(client, 'price_2w_min')
|
|
3447
3593
|
self.price_true_range: MetricPattern6[StoredF32] = MetricPattern6(client, 'price_true_range')
|
|
3448
3594
|
self.price_true_range_2w_sum: MetricPattern6[StoredF32] = MetricPattern6(client, 'price_true_range_2w_sum')
|
|
3449
3595
|
|
|
@@ -3500,7 +3646,7 @@ class MetricsTree_Market:
|
|
|
3500
3646
|
self.ath: MetricsTree_Market_Ath = MetricsTree_Market_Ath(client)
|
|
3501
3647
|
self.dca: MetricsTree_Market_Dca = MetricsTree_Market_Dca(client)
|
|
3502
3648
|
self.indicators: MetricsTree_Market_Indicators = MetricsTree_Market_Indicators(client)
|
|
3503
|
-
self.lookback:
|
|
3649
|
+
self.lookback: MetricsTree_Market_Lookback = MetricsTree_Market_Lookback(client)
|
|
3504
3650
|
self.moving_average: MetricsTree_Market_MovingAverage = MetricsTree_Market_MovingAverage(client)
|
|
3505
3651
|
self.range: MetricsTree_Market_Range = MetricsTree_Market_Range(client)
|
|
3506
3652
|
self.returns: MetricsTree_Market_Returns = MetricsTree_Market_Returns(client)
|
|
@@ -3724,56 +3870,20 @@ class MetricsTree_Price_Cents:
|
|
|
3724
3870
|
self.ohlc: MetricPattern5[OHLCCents] = MetricPattern5(client, 'ohlc_cents')
|
|
3725
3871
|
self.split: MetricsTree_Price_Cents_Split = MetricsTree_Price_Cents_Split(client)
|
|
3726
3872
|
|
|
3727
|
-
class
|
|
3873
|
+
class MetricsTree_Price_Usd:
|
|
3728
3874
|
"""Metrics tree node."""
|
|
3729
3875
|
|
|
3730
3876
|
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3731
|
-
self.
|
|
3732
|
-
self.
|
|
3733
|
-
self.height_to_first_pairoutputindex: MetricPattern11[PairOutputIndex] = MetricPattern11(client, 'height_to_first_pairoutputindex')
|
|
3734
|
-
self.mid_ohlc_cents: MetricPattern6[OHLCCents] = MetricPattern6(client, 'mid_ohlc_cents')
|
|
3735
|
-
self.mid_ohlc_dollars: MetricPattern6[OHLCDollars] = MetricPattern6(client, 'mid_ohlc_dollars')
|
|
3736
|
-
self.ohlc_cents: MetricPattern6[OHLCCents] = MetricPattern6(client, 'oracle_ohlc_cents')
|
|
3737
|
-
self.ohlc_dollars: MetricPattern6[OHLCDollars] = MetricPattern6(client, 'oracle_ohlc')
|
|
3738
|
-
self.output0_value: MetricPattern33[Sats] = MetricPattern33(client, 'pair_output0_value')
|
|
3739
|
-
self.output1_value: MetricPattern33[Sats] = MetricPattern33(client, 'pair_output1_value')
|
|
3740
|
-
self.pairoutputindex_to_txindex: MetricPattern33[TxIndex] = MetricPattern33(client, 'pairoutputindex_to_txindex')
|
|
3741
|
-
self.phase_daily_cents: PhaseDailyCentsPattern[Cents] = PhaseDailyCentsPattern(client, 'phase_daily')
|
|
3742
|
-
self.phase_daily_dollars: PhaseDailyCentsPattern[Dollars] = PhaseDailyCentsPattern(client, 'phase_daily_dollars')
|
|
3743
|
-
self.phase_histogram: MetricPattern11[OracleBins] = MetricPattern11(client, 'phase_histogram')
|
|
3744
|
-
self.phase_price_cents: MetricPattern11[Cents] = MetricPattern11(client, 'phase_price_cents')
|
|
3745
|
-
self.phase_v2_daily_cents: PhaseDailyCentsPattern[Cents] = PhaseDailyCentsPattern(client, 'phase_v2_daily')
|
|
3746
|
-
self.phase_v2_daily_dollars: PhaseDailyCentsPattern[Dollars] = PhaseDailyCentsPattern(client, 'phase_v2_daily_dollars')
|
|
3747
|
-
self.phase_v2_histogram: MetricPattern11[OracleBinsV2] = MetricPattern11(client, 'phase_v2_histogram')
|
|
3748
|
-
self.phase_v2_peak_daily_cents: PhaseDailyCentsPattern[Cents] = PhaseDailyCentsPattern(client, 'phase_v2_peak_daily')
|
|
3749
|
-
self.phase_v2_peak_daily_dollars: PhaseDailyCentsPattern[Dollars] = PhaseDailyCentsPattern(client, 'phase_v2_peak_daily_dollars')
|
|
3750
|
-
self.phase_v2_peak_price_cents: MetricPattern11[Cents] = MetricPattern11(client, 'phase_v2_peak_price_cents')
|
|
3751
|
-
self.phase_v2_price_cents: MetricPattern11[Cents] = MetricPattern11(client, 'phase_v2_price_cents')
|
|
3752
|
-
self.phase_v3_daily_cents: PhaseDailyCentsPattern[Cents] = PhaseDailyCentsPattern(client, 'phase_v3_daily')
|
|
3753
|
-
self.phase_v3_daily_dollars: PhaseDailyCentsPattern[Dollars] = PhaseDailyCentsPattern(client, 'phase_v3_daily_dollars')
|
|
3754
|
-
self.phase_v3_histogram: MetricPattern11[OracleBinsV2] = MetricPattern11(client, 'phase_v3_histogram')
|
|
3755
|
-
self.phase_v3_peak_daily_cents: PhaseDailyCentsPattern[Cents] = PhaseDailyCentsPattern(client, 'phase_v3_peak_daily')
|
|
3756
|
-
self.phase_v3_peak_daily_dollars: PhaseDailyCentsPattern[Dollars] = PhaseDailyCentsPattern(client, 'phase_v3_peak_daily_dollars')
|
|
3757
|
-
self.phase_v3_peak_price_cents: MetricPattern11[Cents] = MetricPattern11(client, 'phase_v3_peak_price_cents')
|
|
3758
|
-
self.phase_v3_price_cents: MetricPattern11[Cents] = MetricPattern11(client, 'phase_v3_price_cents')
|
|
3759
|
-
self.price_cents: MetricPattern11[Cents] = MetricPattern11(client, 'oracle_price_cents')
|
|
3760
|
-
self.tx_count: MetricPattern6[StoredU32] = MetricPattern6(client, 'oracle_tx_count')
|
|
3761
|
-
|
|
3762
|
-
class MetricsTree_Price_Sats:
|
|
3763
|
-
"""Metrics tree node."""
|
|
3764
|
-
|
|
3765
|
-
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3766
|
-
self.ohlc: MetricPattern1[OHLCSats] = MetricPattern1(client, 'price_ohlc_sats')
|
|
3767
|
-
self.split: SplitPattern2[Sats] = SplitPattern2(client, 'price_sats')
|
|
3877
|
+
self.ohlc: MetricPattern1[OHLCDollars] = MetricPattern1(client, 'price_ohlc')
|
|
3878
|
+
self.split: SplitPattern2[Dollars] = SplitPattern2(client, 'price')
|
|
3768
3879
|
|
|
3769
3880
|
class MetricsTree_Price:
|
|
3770
3881
|
"""Metrics tree node."""
|
|
3771
3882
|
|
|
3772
3883
|
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3773
3884
|
self.cents: MetricsTree_Price_Cents = MetricsTree_Price_Cents(client)
|
|
3774
|
-
self.
|
|
3775
|
-
self.
|
|
3776
|
-
self.usd: SatsPattern[OHLCDollars] = SatsPattern(client, 'price')
|
|
3885
|
+
self.sats: SatsPattern[OHLCSats] = SatsPattern(client, 'price')
|
|
3886
|
+
self.usd: MetricsTree_Price_Usd = MetricsTree_Price_Usd(client)
|
|
3777
3887
|
|
|
3778
3888
|
class MetricsTree_Scripts_Count:
|
|
3779
3889
|
"""Metrics tree node."""
|
|
@@ -3855,28 +3965,12 @@ class MetricsTree_Transactions_Count:
|
|
|
3855
3965
|
self.is_coinbase: MetricPattern27[StoredBool] = MetricPattern27(client, 'is_coinbase')
|
|
3856
3966
|
self.tx_count: DollarsPattern[StoredU64] = DollarsPattern(client, 'tx_count')
|
|
3857
3967
|
|
|
3858
|
-
class MetricsTree_Transactions_Fees_Fee_Dollars:
|
|
3859
|
-
"""Metrics tree node."""
|
|
3860
|
-
|
|
3861
|
-
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3862
|
-
self.average: MetricPattern1[Dollars] = MetricPattern1(client, 'fee_usd_average')
|
|
3863
|
-
self.cumulative: MetricPattern2[Dollars] = MetricPattern2(client, 'fee_usd_cumulative')
|
|
3864
|
-
self.height_cumulative: MetricPattern11[Dollars] = MetricPattern11(client, 'fee_usd_cumulative')
|
|
3865
|
-
self.max: MetricPattern1[Dollars] = MetricPattern1(client, 'fee_usd_max')
|
|
3866
|
-
self.median: MetricPattern11[Dollars] = MetricPattern11(client, 'fee_usd_median')
|
|
3867
|
-
self.min: MetricPattern1[Dollars] = MetricPattern1(client, 'fee_usd_min')
|
|
3868
|
-
self.pct10: MetricPattern11[Dollars] = MetricPattern11(client, 'fee_usd_pct10')
|
|
3869
|
-
self.pct25: MetricPattern11[Dollars] = MetricPattern11(client, 'fee_usd_pct25')
|
|
3870
|
-
self.pct75: MetricPattern11[Dollars] = MetricPattern11(client, 'fee_usd_pct75')
|
|
3871
|
-
self.pct90: MetricPattern11[Dollars] = MetricPattern11(client, 'fee_usd_pct90')
|
|
3872
|
-
self.sum: MetricPattern1[Dollars] = MetricPattern1(client, 'fee_usd_sum')
|
|
3873
|
-
|
|
3874
3968
|
class MetricsTree_Transactions_Fees_Fee:
|
|
3875
3969
|
"""Metrics tree node."""
|
|
3876
3970
|
|
|
3877
3971
|
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3878
3972
|
self.bitcoin: CountPattern2[Bitcoin] = CountPattern2(client, 'fee_btc')
|
|
3879
|
-
self.dollars:
|
|
3973
|
+
self.dollars: CountPattern2[Dollars] = CountPattern2(client, 'fee_usd')
|
|
3880
3974
|
self.sats: CountPattern2[Sats] = CountPattern2(client, 'fee')
|
|
3881
3975
|
self.txindex: MetricPattern27[Sats] = MetricPattern27(client, 'fee')
|
|
3882
3976
|
|
|
@@ -3958,7 +4052,7 @@ class MetricsTree:
|
|
|
3958
4052
|
class BrkClient(BrkClientBase):
|
|
3959
4053
|
"""Main BRK client with metrics tree and API methods."""
|
|
3960
4054
|
|
|
3961
|
-
VERSION = "v0.1.0
|
|
4055
|
+
VERSION = "v0.1.0"
|
|
3962
4056
|
|
|
3963
4057
|
INDEXES = [
|
|
3964
4058
|
"dateindex",
|
|
@@ -4168,27 +4262,27 @@ class BrkClient(BrkClientBase):
|
|
|
4168
4262
|
EPOCH_NAMES = {
|
|
4169
4263
|
"_0": {
|
|
4170
4264
|
"id": "epoch_0",
|
|
4171
|
-
"short": "
|
|
4265
|
+
"short": "0",
|
|
4172
4266
|
"long": "Epoch 0"
|
|
4173
4267
|
},
|
|
4174
4268
|
"_1": {
|
|
4175
4269
|
"id": "epoch_1",
|
|
4176
|
-
"short": "
|
|
4270
|
+
"short": "1",
|
|
4177
4271
|
"long": "Epoch 1"
|
|
4178
4272
|
},
|
|
4179
4273
|
"_2": {
|
|
4180
4274
|
"id": "epoch_2",
|
|
4181
|
-
"short": "
|
|
4275
|
+
"short": "2",
|
|
4182
4276
|
"long": "Epoch 2"
|
|
4183
4277
|
},
|
|
4184
4278
|
"_3": {
|
|
4185
4279
|
"id": "epoch_3",
|
|
4186
|
-
"short": "
|
|
4280
|
+
"short": "3",
|
|
4187
4281
|
"long": "Epoch 3"
|
|
4188
4282
|
},
|
|
4189
4283
|
"_4": {
|
|
4190
4284
|
"id": "epoch_4",
|
|
4191
|
-
"short": "
|
|
4285
|
+
"short": "4",
|
|
4192
4286
|
"long": "Epoch 4"
|
|
4193
4287
|
}
|
|
4194
4288
|
}
|
|
@@ -4346,107 +4440,107 @@ class BrkClient(BrkClientBase):
|
|
|
4346
4440
|
|
|
4347
4441
|
AGE_RANGE_NAMES = {
|
|
4348
4442
|
"up_to_1h": {
|
|
4349
|
-
"id": "
|
|
4443
|
+
"id": "under_1h_old",
|
|
4350
4444
|
"short": "<1h",
|
|
4351
|
-
"long": "
|
|
4445
|
+
"long": "Under 1 Hour Old"
|
|
4352
4446
|
},
|
|
4353
4447
|
"_1h_to_1d": {
|
|
4354
|
-
"id": "
|
|
4448
|
+
"id": "1h_to_1d_old",
|
|
4355
4449
|
"short": "1h-1d",
|
|
4356
4450
|
"long": "1 Hour to 1 Day Old"
|
|
4357
4451
|
},
|
|
4358
4452
|
"_1d_to_1w": {
|
|
4359
|
-
"id": "
|
|
4453
|
+
"id": "1d_to_1w_old",
|
|
4360
4454
|
"short": "1d-1w",
|
|
4361
4455
|
"long": "1 Day to 1 Week Old"
|
|
4362
4456
|
},
|
|
4363
4457
|
"_1w_to_1m": {
|
|
4364
|
-
"id": "
|
|
4458
|
+
"id": "1w_to_1m_old",
|
|
4365
4459
|
"short": "1w-1m",
|
|
4366
4460
|
"long": "1 Week to 1 Month Old"
|
|
4367
4461
|
},
|
|
4368
4462
|
"_1m_to_2m": {
|
|
4369
|
-
"id": "
|
|
4463
|
+
"id": "1m_to_2m_old",
|
|
4370
4464
|
"short": "1m-2m",
|
|
4371
4465
|
"long": "1 to 2 Months Old"
|
|
4372
4466
|
},
|
|
4373
4467
|
"_2m_to_3m": {
|
|
4374
|
-
"id": "
|
|
4468
|
+
"id": "2m_to_3m_old",
|
|
4375
4469
|
"short": "2m-3m",
|
|
4376
4470
|
"long": "2 to 3 Months Old"
|
|
4377
4471
|
},
|
|
4378
4472
|
"_3m_to_4m": {
|
|
4379
|
-
"id": "
|
|
4473
|
+
"id": "3m_to_4m_old",
|
|
4380
4474
|
"short": "3m-4m",
|
|
4381
4475
|
"long": "3 to 4 Months Old"
|
|
4382
4476
|
},
|
|
4383
4477
|
"_4m_to_5m": {
|
|
4384
|
-
"id": "
|
|
4478
|
+
"id": "4m_to_5m_old",
|
|
4385
4479
|
"short": "4m-5m",
|
|
4386
4480
|
"long": "4 to 5 Months Old"
|
|
4387
4481
|
},
|
|
4388
4482
|
"_5m_to_6m": {
|
|
4389
|
-
"id": "
|
|
4483
|
+
"id": "5m_to_6m_old",
|
|
4390
4484
|
"short": "5m-6m",
|
|
4391
4485
|
"long": "5 to 6 Months Old"
|
|
4392
4486
|
},
|
|
4393
4487
|
"_6m_to_1y": {
|
|
4394
|
-
"id": "
|
|
4488
|
+
"id": "6m_to_1y_old",
|
|
4395
4489
|
"short": "6m-1y",
|
|
4396
4490
|
"long": "6 Months to 1 Year Old"
|
|
4397
4491
|
},
|
|
4398
4492
|
"_1y_to_2y": {
|
|
4399
|
-
"id": "
|
|
4493
|
+
"id": "1y_to_2y_old",
|
|
4400
4494
|
"short": "1y-2y",
|
|
4401
4495
|
"long": "1 to 2 Years Old"
|
|
4402
4496
|
},
|
|
4403
4497
|
"_2y_to_3y": {
|
|
4404
|
-
"id": "
|
|
4498
|
+
"id": "2y_to_3y_old",
|
|
4405
4499
|
"short": "2y-3y",
|
|
4406
4500
|
"long": "2 to 3 Years Old"
|
|
4407
4501
|
},
|
|
4408
4502
|
"_3y_to_4y": {
|
|
4409
|
-
"id": "
|
|
4503
|
+
"id": "3y_to_4y_old",
|
|
4410
4504
|
"short": "3y-4y",
|
|
4411
4505
|
"long": "3 to 4 Years Old"
|
|
4412
4506
|
},
|
|
4413
4507
|
"_4y_to_5y": {
|
|
4414
|
-
"id": "
|
|
4508
|
+
"id": "4y_to_5y_old",
|
|
4415
4509
|
"short": "4y-5y",
|
|
4416
4510
|
"long": "4 to 5 Years Old"
|
|
4417
4511
|
},
|
|
4418
4512
|
"_5y_to_6y": {
|
|
4419
|
-
"id": "
|
|
4513
|
+
"id": "5y_to_6y_old",
|
|
4420
4514
|
"short": "5y-6y",
|
|
4421
4515
|
"long": "5 to 6 Years Old"
|
|
4422
4516
|
},
|
|
4423
4517
|
"_6y_to_7y": {
|
|
4424
|
-
"id": "
|
|
4518
|
+
"id": "6y_to_7y_old",
|
|
4425
4519
|
"short": "6y-7y",
|
|
4426
4520
|
"long": "6 to 7 Years Old"
|
|
4427
4521
|
},
|
|
4428
4522
|
"_7y_to_8y": {
|
|
4429
|
-
"id": "
|
|
4523
|
+
"id": "7y_to_8y_old",
|
|
4430
4524
|
"short": "7y-8y",
|
|
4431
4525
|
"long": "7 to 8 Years Old"
|
|
4432
4526
|
},
|
|
4433
4527
|
"_8y_to_10y": {
|
|
4434
|
-
"id": "
|
|
4528
|
+
"id": "8y_to_10y_old",
|
|
4435
4529
|
"short": "8y-10y",
|
|
4436
4530
|
"long": "8 to 10 Years Old"
|
|
4437
4531
|
},
|
|
4438
4532
|
"_10y_to_12y": {
|
|
4439
|
-
"id": "
|
|
4533
|
+
"id": "10y_to_12y_old",
|
|
4440
4534
|
"short": "10y-12y",
|
|
4441
4535
|
"long": "10 to 12 Years Old"
|
|
4442
4536
|
},
|
|
4443
4537
|
"_12y_to_15y": {
|
|
4444
|
-
"id": "
|
|
4538
|
+
"id": "12y_to_15y_old",
|
|
4445
4539
|
"short": "12y-15y",
|
|
4446
4540
|
"long": "12 to 15 Years Old"
|
|
4447
4541
|
},
|
|
4448
4542
|
"from_15y": {
|
|
4449
|
-
"id": "
|
|
4543
|
+
"id": "over_15y_old",
|
|
4450
4544
|
"short": "15y+",
|
|
4451
4545
|
"long": "15+ Years Old"
|
|
4452
4546
|
}
|
|
@@ -4454,187 +4548,187 @@ class BrkClient(BrkClientBase):
|
|
|
4454
4548
|
|
|
4455
4549
|
MAX_AGE_NAMES = {
|
|
4456
4550
|
"_1w": {
|
|
4457
|
-
"id": "
|
|
4551
|
+
"id": "under_1w_old",
|
|
4458
4552
|
"short": "<1w",
|
|
4459
|
-
"long": "
|
|
4553
|
+
"long": "Under 1 Week Old"
|
|
4460
4554
|
},
|
|
4461
4555
|
"_1m": {
|
|
4462
|
-
"id": "
|
|
4556
|
+
"id": "under_1m_old",
|
|
4463
4557
|
"short": "<1m",
|
|
4464
|
-
"long": "
|
|
4558
|
+
"long": "Under 1 Month Old"
|
|
4465
4559
|
},
|
|
4466
4560
|
"_2m": {
|
|
4467
|
-
"id": "
|
|
4561
|
+
"id": "under_2m_old",
|
|
4468
4562
|
"short": "<2m",
|
|
4469
|
-
"long": "
|
|
4563
|
+
"long": "Under 2 Months Old"
|
|
4470
4564
|
},
|
|
4471
4565
|
"_3m": {
|
|
4472
|
-
"id": "
|
|
4566
|
+
"id": "under_3m_old",
|
|
4473
4567
|
"short": "<3m",
|
|
4474
|
-
"long": "
|
|
4568
|
+
"long": "Under 3 Months Old"
|
|
4475
4569
|
},
|
|
4476
4570
|
"_4m": {
|
|
4477
|
-
"id": "
|
|
4571
|
+
"id": "under_4m_old",
|
|
4478
4572
|
"short": "<4m",
|
|
4479
|
-
"long": "
|
|
4573
|
+
"long": "Under 4 Months Old"
|
|
4480
4574
|
},
|
|
4481
4575
|
"_5m": {
|
|
4482
|
-
"id": "
|
|
4576
|
+
"id": "under_5m_old",
|
|
4483
4577
|
"short": "<5m",
|
|
4484
|
-
"long": "
|
|
4578
|
+
"long": "Under 5 Months Old"
|
|
4485
4579
|
},
|
|
4486
4580
|
"_6m": {
|
|
4487
|
-
"id": "
|
|
4581
|
+
"id": "under_6m_old",
|
|
4488
4582
|
"short": "<6m",
|
|
4489
|
-
"long": "
|
|
4583
|
+
"long": "Under 6 Months Old"
|
|
4490
4584
|
},
|
|
4491
4585
|
"_1y": {
|
|
4492
|
-
"id": "
|
|
4586
|
+
"id": "under_1y_old",
|
|
4493
4587
|
"short": "<1y",
|
|
4494
|
-
"long": "
|
|
4588
|
+
"long": "Under 1 Year Old"
|
|
4495
4589
|
},
|
|
4496
4590
|
"_2y": {
|
|
4497
|
-
"id": "
|
|
4591
|
+
"id": "under_2y_old",
|
|
4498
4592
|
"short": "<2y",
|
|
4499
|
-
"long": "
|
|
4593
|
+
"long": "Under 2 Years Old"
|
|
4500
4594
|
},
|
|
4501
4595
|
"_3y": {
|
|
4502
|
-
"id": "
|
|
4596
|
+
"id": "under_3y_old",
|
|
4503
4597
|
"short": "<3y",
|
|
4504
|
-
"long": "
|
|
4598
|
+
"long": "Under 3 Years Old"
|
|
4505
4599
|
},
|
|
4506
4600
|
"_4y": {
|
|
4507
|
-
"id": "
|
|
4601
|
+
"id": "under_4y_old",
|
|
4508
4602
|
"short": "<4y",
|
|
4509
|
-
"long": "
|
|
4603
|
+
"long": "Under 4 Years Old"
|
|
4510
4604
|
},
|
|
4511
4605
|
"_5y": {
|
|
4512
|
-
"id": "
|
|
4606
|
+
"id": "under_5y_old",
|
|
4513
4607
|
"short": "<5y",
|
|
4514
|
-
"long": "
|
|
4608
|
+
"long": "Under 5 Years Old"
|
|
4515
4609
|
},
|
|
4516
4610
|
"_6y": {
|
|
4517
|
-
"id": "
|
|
4611
|
+
"id": "under_6y_old",
|
|
4518
4612
|
"short": "<6y",
|
|
4519
|
-
"long": "
|
|
4613
|
+
"long": "Under 6 Years Old"
|
|
4520
4614
|
},
|
|
4521
4615
|
"_7y": {
|
|
4522
|
-
"id": "
|
|
4616
|
+
"id": "under_7y_old",
|
|
4523
4617
|
"short": "<7y",
|
|
4524
|
-
"long": "
|
|
4618
|
+
"long": "Under 7 Years Old"
|
|
4525
4619
|
},
|
|
4526
4620
|
"_8y": {
|
|
4527
|
-
"id": "
|
|
4621
|
+
"id": "under_8y_old",
|
|
4528
4622
|
"short": "<8y",
|
|
4529
|
-
"long": "
|
|
4623
|
+
"long": "Under 8 Years Old"
|
|
4530
4624
|
},
|
|
4531
4625
|
"_10y": {
|
|
4532
|
-
"id": "
|
|
4626
|
+
"id": "under_10y_old",
|
|
4533
4627
|
"short": "<10y",
|
|
4534
|
-
"long": "
|
|
4628
|
+
"long": "Under 10 Years Old"
|
|
4535
4629
|
},
|
|
4536
4630
|
"_12y": {
|
|
4537
|
-
"id": "
|
|
4631
|
+
"id": "under_12y_old",
|
|
4538
4632
|
"short": "<12y",
|
|
4539
|
-
"long": "
|
|
4633
|
+
"long": "Under 12 Years Old"
|
|
4540
4634
|
},
|
|
4541
4635
|
"_15y": {
|
|
4542
|
-
"id": "
|
|
4636
|
+
"id": "under_15y_old",
|
|
4543
4637
|
"short": "<15y",
|
|
4544
|
-
"long": "
|
|
4638
|
+
"long": "Under 15 Years Old"
|
|
4545
4639
|
}
|
|
4546
4640
|
}
|
|
4547
4641
|
|
|
4548
4642
|
MIN_AGE_NAMES = {
|
|
4549
4643
|
"_1d": {
|
|
4550
|
-
"id": "
|
|
4644
|
+
"id": "over_1d_old",
|
|
4551
4645
|
"short": "1d+",
|
|
4552
|
-
"long": "
|
|
4646
|
+
"long": "Over 1 Day Old"
|
|
4553
4647
|
},
|
|
4554
4648
|
"_1w": {
|
|
4555
|
-
"id": "
|
|
4649
|
+
"id": "over_1w_old",
|
|
4556
4650
|
"short": "1w+",
|
|
4557
|
-
"long": "
|
|
4651
|
+
"long": "Over 1 Week Old"
|
|
4558
4652
|
},
|
|
4559
4653
|
"_1m": {
|
|
4560
|
-
"id": "
|
|
4654
|
+
"id": "over_1m_old",
|
|
4561
4655
|
"short": "1m+",
|
|
4562
|
-
"long": "
|
|
4656
|
+
"long": "Over 1 Month Old"
|
|
4563
4657
|
},
|
|
4564
4658
|
"_2m": {
|
|
4565
|
-
"id": "
|
|
4659
|
+
"id": "over_2m_old",
|
|
4566
4660
|
"short": "2m+",
|
|
4567
|
-
"long": "
|
|
4661
|
+
"long": "Over 2 Months Old"
|
|
4568
4662
|
},
|
|
4569
4663
|
"_3m": {
|
|
4570
|
-
"id": "
|
|
4664
|
+
"id": "over_3m_old",
|
|
4571
4665
|
"short": "3m+",
|
|
4572
|
-
"long": "
|
|
4666
|
+
"long": "Over 3 Months Old"
|
|
4573
4667
|
},
|
|
4574
4668
|
"_4m": {
|
|
4575
|
-
"id": "
|
|
4669
|
+
"id": "over_4m_old",
|
|
4576
4670
|
"short": "4m+",
|
|
4577
|
-
"long": "
|
|
4671
|
+
"long": "Over 4 Months Old"
|
|
4578
4672
|
},
|
|
4579
4673
|
"_5m": {
|
|
4580
|
-
"id": "
|
|
4674
|
+
"id": "over_5m_old",
|
|
4581
4675
|
"short": "5m+",
|
|
4582
|
-
"long": "
|
|
4676
|
+
"long": "Over 5 Months Old"
|
|
4583
4677
|
},
|
|
4584
4678
|
"_6m": {
|
|
4585
|
-
"id": "
|
|
4679
|
+
"id": "over_6m_old",
|
|
4586
4680
|
"short": "6m+",
|
|
4587
|
-
"long": "
|
|
4681
|
+
"long": "Over 6 Months Old"
|
|
4588
4682
|
},
|
|
4589
4683
|
"_1y": {
|
|
4590
|
-
"id": "
|
|
4684
|
+
"id": "over_1y_old",
|
|
4591
4685
|
"short": "1y+",
|
|
4592
|
-
"long": "
|
|
4686
|
+
"long": "Over 1 Year Old"
|
|
4593
4687
|
},
|
|
4594
4688
|
"_2y": {
|
|
4595
|
-
"id": "
|
|
4689
|
+
"id": "over_2y_old",
|
|
4596
4690
|
"short": "2y+",
|
|
4597
|
-
"long": "
|
|
4691
|
+
"long": "Over 2 Years Old"
|
|
4598
4692
|
},
|
|
4599
4693
|
"_3y": {
|
|
4600
|
-
"id": "
|
|
4694
|
+
"id": "over_3y_old",
|
|
4601
4695
|
"short": "3y+",
|
|
4602
|
-
"long": "
|
|
4696
|
+
"long": "Over 3 Years Old"
|
|
4603
4697
|
},
|
|
4604
4698
|
"_4y": {
|
|
4605
|
-
"id": "
|
|
4699
|
+
"id": "over_4y_old",
|
|
4606
4700
|
"short": "4y+",
|
|
4607
|
-
"long": "
|
|
4701
|
+
"long": "Over 4 Years Old"
|
|
4608
4702
|
},
|
|
4609
4703
|
"_5y": {
|
|
4610
|
-
"id": "
|
|
4704
|
+
"id": "over_5y_old",
|
|
4611
4705
|
"short": "5y+",
|
|
4612
|
-
"long": "
|
|
4706
|
+
"long": "Over 5 Years Old"
|
|
4613
4707
|
},
|
|
4614
4708
|
"_6y": {
|
|
4615
|
-
"id": "
|
|
4709
|
+
"id": "over_6y_old",
|
|
4616
4710
|
"short": "6y+",
|
|
4617
|
-
"long": "
|
|
4711
|
+
"long": "Over 6 Years Old"
|
|
4618
4712
|
},
|
|
4619
4713
|
"_7y": {
|
|
4620
|
-
"id": "
|
|
4714
|
+
"id": "over_7y_old",
|
|
4621
4715
|
"short": "7y+",
|
|
4622
|
-
"long": "
|
|
4716
|
+
"long": "Over 7 Years Old"
|
|
4623
4717
|
},
|
|
4624
4718
|
"_8y": {
|
|
4625
|
-
"id": "
|
|
4719
|
+
"id": "over_8y_old",
|
|
4626
4720
|
"short": "8y+",
|
|
4627
|
-
"long": "
|
|
4721
|
+
"long": "Over 8 Years Old"
|
|
4628
4722
|
},
|
|
4629
4723
|
"_10y": {
|
|
4630
|
-
"id": "
|
|
4724
|
+
"id": "over_10y_old",
|
|
4631
4725
|
"short": "10y+",
|
|
4632
|
-
"long": "
|
|
4726
|
+
"long": "Over 10 Years Old"
|
|
4633
4727
|
},
|
|
4634
4728
|
"_12y": {
|
|
4635
|
-
"id": "
|
|
4729
|
+
"id": "over_12y_old",
|
|
4636
4730
|
"short": "12y+",
|
|
4637
|
-
"long": "
|
|
4731
|
+
"long": "Over 12 Years Old"
|
|
4638
4732
|
}
|
|
4639
4733
|
}
|
|
4640
4734
|
|
|
@@ -4647,67 +4741,67 @@ class BrkClient(BrkClientBase):
|
|
|
4647
4741
|
"_1sat_to_10sats": {
|
|
4648
4742
|
"id": "above_1sat_under_10sats",
|
|
4649
4743
|
"short": "1-10 sats",
|
|
4650
|
-
"long": "1
|
|
4744
|
+
"long": "1-10 Sats"
|
|
4651
4745
|
},
|
|
4652
4746
|
"_10sats_to_100sats": {
|
|
4653
4747
|
"id": "above_10sats_under_100sats",
|
|
4654
4748
|
"short": "10-100 sats",
|
|
4655
|
-
"long": "10
|
|
4749
|
+
"long": "10-100 Sats"
|
|
4656
4750
|
},
|
|
4657
4751
|
"_100sats_to_1k_sats": {
|
|
4658
4752
|
"id": "above_100sats_under_1k_sats",
|
|
4659
4753
|
"short": "100-1k sats",
|
|
4660
|
-
"long": "100
|
|
4754
|
+
"long": "100-1K Sats"
|
|
4661
4755
|
},
|
|
4662
4756
|
"_1k_sats_to_10k_sats": {
|
|
4663
4757
|
"id": "above_1k_sats_under_10k_sats",
|
|
4664
4758
|
"short": "1k-10k sats",
|
|
4665
|
-
"long": "1K
|
|
4759
|
+
"long": "1K-10K Sats"
|
|
4666
4760
|
},
|
|
4667
4761
|
"_10k_sats_to_100k_sats": {
|
|
4668
4762
|
"id": "above_10k_sats_under_100k_sats",
|
|
4669
4763
|
"short": "10k-100k sats",
|
|
4670
|
-
"long": "10K
|
|
4764
|
+
"long": "10K-100K Sats"
|
|
4671
4765
|
},
|
|
4672
4766
|
"_100k_sats_to_1m_sats": {
|
|
4673
4767
|
"id": "above_100k_sats_under_1m_sats",
|
|
4674
4768
|
"short": "100k-1M sats",
|
|
4675
|
-
"long": "100K
|
|
4769
|
+
"long": "100K-1M Sats"
|
|
4676
4770
|
},
|
|
4677
4771
|
"_1m_sats_to_10m_sats": {
|
|
4678
4772
|
"id": "above_1m_sats_under_10m_sats",
|
|
4679
4773
|
"short": "1M-10M sats",
|
|
4680
|
-
"long": "1M
|
|
4774
|
+
"long": "1M-10M Sats"
|
|
4681
4775
|
},
|
|
4682
4776
|
"_10m_sats_to_1btc": {
|
|
4683
4777
|
"id": "above_10m_sats_under_1btc",
|
|
4684
4778
|
"short": "0.1-1 BTC",
|
|
4685
|
-
"long": "0.1
|
|
4779
|
+
"long": "0.1-1 BTC"
|
|
4686
4780
|
},
|
|
4687
4781
|
"_1btc_to_10btc": {
|
|
4688
4782
|
"id": "above_1btc_under_10btc",
|
|
4689
4783
|
"short": "1-10 BTC",
|
|
4690
|
-
"long": "1
|
|
4784
|
+
"long": "1-10 BTC"
|
|
4691
4785
|
},
|
|
4692
4786
|
"_10btc_to_100btc": {
|
|
4693
4787
|
"id": "above_10btc_under_100btc",
|
|
4694
4788
|
"short": "10-100 BTC",
|
|
4695
|
-
"long": "10
|
|
4789
|
+
"long": "10-100 BTC"
|
|
4696
4790
|
},
|
|
4697
4791
|
"_100btc_to_1k_btc": {
|
|
4698
4792
|
"id": "above_100btc_under_1k_btc",
|
|
4699
4793
|
"short": "100-1k BTC",
|
|
4700
|
-
"long": "100
|
|
4794
|
+
"long": "100-1K BTC"
|
|
4701
4795
|
},
|
|
4702
4796
|
"_1k_btc_to_10k_btc": {
|
|
4703
4797
|
"id": "above_1k_btc_under_10k_btc",
|
|
4704
4798
|
"short": "1k-10k BTC",
|
|
4705
|
-
"long": "1K
|
|
4799
|
+
"long": "1K-10K BTC"
|
|
4706
4800
|
},
|
|
4707
4801
|
"_10k_btc_to_100k_btc": {
|
|
4708
4802
|
"id": "above_10k_btc_under_100k_btc",
|
|
4709
4803
|
"short": "10k-100k BTC",
|
|
4710
|
-
"long": "10K
|
|
4804
|
+
"long": "10K-100K BTC"
|
|
4711
4805
|
},
|
|
4712
4806
|
"_100k_btc_or_more": {
|
|
4713
4807
|
"id": "above_100k_btc",
|
|
@@ -4718,69 +4812,69 @@ class BrkClient(BrkClientBase):
|
|
|
4718
4812
|
|
|
4719
4813
|
GE_AMOUNT_NAMES = {
|
|
4720
4814
|
"_1sat": {
|
|
4721
|
-
"id": "
|
|
4815
|
+
"id": "over_1sat",
|
|
4722
4816
|
"short": "1+ sats",
|
|
4723
|
-
"long": "
|
|
4817
|
+
"long": "Over 1 Sat"
|
|
4724
4818
|
},
|
|
4725
4819
|
"_10sats": {
|
|
4726
|
-
"id": "
|
|
4820
|
+
"id": "over_10sats",
|
|
4727
4821
|
"short": "10+ sats",
|
|
4728
|
-
"long": "
|
|
4822
|
+
"long": "Over 10 Sats"
|
|
4729
4823
|
},
|
|
4730
4824
|
"_100sats": {
|
|
4731
|
-
"id": "
|
|
4825
|
+
"id": "over_100sats",
|
|
4732
4826
|
"short": "100+ sats",
|
|
4733
|
-
"long": "
|
|
4827
|
+
"long": "Over 100 Sats"
|
|
4734
4828
|
},
|
|
4735
4829
|
"_1k_sats": {
|
|
4736
|
-
"id": "
|
|
4830
|
+
"id": "over_1k_sats",
|
|
4737
4831
|
"short": "1k+ sats",
|
|
4738
|
-
"long": "
|
|
4832
|
+
"long": "Over 1K Sats"
|
|
4739
4833
|
},
|
|
4740
4834
|
"_10k_sats": {
|
|
4741
|
-
"id": "
|
|
4835
|
+
"id": "over_10k_sats",
|
|
4742
4836
|
"short": "10k+ sats",
|
|
4743
|
-
"long": "
|
|
4837
|
+
"long": "Over 10K Sats"
|
|
4744
4838
|
},
|
|
4745
4839
|
"_100k_sats": {
|
|
4746
|
-
"id": "
|
|
4840
|
+
"id": "over_100k_sats",
|
|
4747
4841
|
"short": "100k+ sats",
|
|
4748
|
-
"long": "
|
|
4842
|
+
"long": "Over 100K Sats"
|
|
4749
4843
|
},
|
|
4750
4844
|
"_1m_sats": {
|
|
4751
|
-
"id": "
|
|
4845
|
+
"id": "over_1m_sats",
|
|
4752
4846
|
"short": "1M+ sats",
|
|
4753
|
-
"long": "
|
|
4847
|
+
"long": "Over 1M Sats"
|
|
4754
4848
|
},
|
|
4755
4849
|
"_10m_sats": {
|
|
4756
|
-
"id": "
|
|
4850
|
+
"id": "over_10m_sats",
|
|
4757
4851
|
"short": "0.1+ BTC",
|
|
4758
|
-
"long": "
|
|
4852
|
+
"long": "Over 0.1 BTC"
|
|
4759
4853
|
},
|
|
4760
4854
|
"_1btc": {
|
|
4761
|
-
"id": "
|
|
4855
|
+
"id": "over_1btc",
|
|
4762
4856
|
"short": "1+ BTC",
|
|
4763
|
-
"long": "
|
|
4857
|
+
"long": "Over 1 BTC"
|
|
4764
4858
|
},
|
|
4765
4859
|
"_10btc": {
|
|
4766
|
-
"id": "
|
|
4860
|
+
"id": "over_10btc",
|
|
4767
4861
|
"short": "10+ BTC",
|
|
4768
|
-
"long": "
|
|
4862
|
+
"long": "Over 10 BTC"
|
|
4769
4863
|
},
|
|
4770
4864
|
"_100btc": {
|
|
4771
|
-
"id": "
|
|
4865
|
+
"id": "over_100btc",
|
|
4772
4866
|
"short": "100+ BTC",
|
|
4773
|
-
"long": "
|
|
4867
|
+
"long": "Over 100 BTC"
|
|
4774
4868
|
},
|
|
4775
4869
|
"_1k_btc": {
|
|
4776
|
-
"id": "
|
|
4870
|
+
"id": "over_1k_btc",
|
|
4777
4871
|
"short": "1k+ BTC",
|
|
4778
|
-
"long": "
|
|
4872
|
+
"long": "Over 1K BTC"
|
|
4779
4873
|
},
|
|
4780
4874
|
"_10k_btc": {
|
|
4781
|
-
"id": "
|
|
4875
|
+
"id": "over_10k_btc",
|
|
4782
4876
|
"short": "10k+ BTC",
|
|
4783
|
-
"long": "
|
|
4877
|
+
"long": "Over 10K BTC"
|
|
4784
4878
|
}
|
|
4785
4879
|
}
|
|
4786
4880
|
|