brk-client 0.1.0b1__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,25 +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
|
|
2058
|
-
"""Pattern struct for repeated tree structure."""
|
|
2059
|
-
|
|
2060
|
-
def __init__(self, client: BrkClientBase, acc: str):
|
|
2061
|
-
"""Create pattern node with accumulated metric name."""
|
|
2062
|
-
self._2015: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2015_average_price'))
|
|
2063
|
-
self._2016: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2016_average_price'))
|
|
2064
|
-
self._2017: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2017_average_price'))
|
|
2065
|
-
self._2018: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2018_average_price'))
|
|
2066
|
-
self._2019: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2019_average_price'))
|
|
2067
|
-
self._2020: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2020_average_price'))
|
|
2068
|
-
self._2021: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2021_average_price'))
|
|
2069
|
-
self._2022: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2022_average_price'))
|
|
2070
|
-
self._2023: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2023_average_price'))
|
|
2071
|
-
self._2024: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2024_average_price'))
|
|
2072
|
-
self._2025: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2025_average_price'))
|
|
2073
|
-
self._2026: MetricPattern4[T] = MetricPattern4(client, _m(acc, '2026_average_price'))
|
|
2074
|
-
|
|
2075
|
-
class PeriodAveragePricePattern(Generic[T]):
|
|
2027
|
+
class PeriodDaysInLossPattern(Generic[T]):
|
|
2076
2028
|
"""Pattern struct for repeated tree structure."""
|
|
2077
2029
|
|
|
2078
2030
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
@@ -2090,6 +2042,24 @@ class PeriodAveragePricePattern(Generic[T]):
|
|
|
2090
2042
|
self._6y: MetricPattern4[T] = MetricPattern4(client, _p('6y', acc))
|
|
2091
2043
|
self._8y: MetricPattern4[T] = MetricPattern4(client, _p('8y', acc))
|
|
2092
2044
|
|
|
2045
|
+
class ClassDaysInLossPattern(Generic[T]):
|
|
2046
|
+
"""Pattern struct for repeated tree structure."""
|
|
2047
|
+
|
|
2048
|
+
def __init__(self, client: BrkClientBase, acc: str):
|
|
2049
|
+
"""Create pattern node with accumulated metric name."""
|
|
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'))
|
|
2062
|
+
|
|
2093
2063
|
class BitcoinPattern:
|
|
2094
2064
|
"""Pattern struct for repeated tree structure."""
|
|
2095
2065
|
|
|
@@ -2124,22 +2094,6 @@ class DollarsPattern(Generic[T]):
|
|
|
2124
2094
|
self.pct90: MetricPattern6[T] = MetricPattern6(client, _m(acc, 'pct90'))
|
|
2125
2095
|
self.sum: MetricPattern2[T] = MetricPattern2(client, _m(acc, 'sum'))
|
|
2126
2096
|
|
|
2127
|
-
class RelativePattern:
|
|
2128
|
-
"""Pattern struct for repeated tree structure."""
|
|
2129
|
-
|
|
2130
|
-
def __init__(self, client: BrkClientBase, acc: str):
|
|
2131
|
-
"""Create pattern node with accumulated metric name."""
|
|
2132
|
-
self.neg_unrealized_loss_rel_to_market_cap: MetricPattern1[StoredF32] = MetricPattern1(client, _m(acc, 'neg_unrealized_loss_rel_to_market_cap'))
|
|
2133
|
-
self.net_unrealized_pnl_rel_to_market_cap: MetricPattern1[StoredF32] = MetricPattern1(client, _m(acc, 'net_unrealized_pnl_rel_to_market_cap'))
|
|
2134
|
-
self.nupl: MetricPattern1[StoredF32] = MetricPattern1(client, _m(acc, 'nupl'))
|
|
2135
|
-
self.supply_in_loss_rel_to_circulating_supply: MetricPattern1[StoredF64] = MetricPattern1(client, _m(acc, 'supply_in_loss_rel_to_circulating_supply'))
|
|
2136
|
-
self.supply_in_loss_rel_to_own_supply: MetricPattern1[StoredF64] = MetricPattern1(client, _m(acc, 'supply_in_loss_rel_to_own_supply'))
|
|
2137
|
-
self.supply_in_profit_rel_to_circulating_supply: MetricPattern1[StoredF64] = MetricPattern1(client, _m(acc, 'supply_in_profit_rel_to_circulating_supply'))
|
|
2138
|
-
self.supply_in_profit_rel_to_own_supply: MetricPattern1[StoredF64] = MetricPattern1(client, _m(acc, 'supply_in_profit_rel_to_own_supply'))
|
|
2139
|
-
self.supply_rel_to_circulating_supply: MetricPattern4[StoredF64] = MetricPattern4(client, _m(acc, 'supply_rel_to_circulating_supply'))
|
|
2140
|
-
self.unrealized_loss_rel_to_market_cap: MetricPattern1[StoredF32] = MetricPattern1(client, _m(acc, 'unrealized_loss_rel_to_market_cap'))
|
|
2141
|
-
self.unrealized_profit_rel_to_market_cap: MetricPattern1[StoredF32] = MetricPattern1(client, _m(acc, 'unrealized_profit_rel_to_market_cap'))
|
|
2142
|
-
|
|
2143
2097
|
class RelativePattern2:
|
|
2144
2098
|
"""Pattern struct for repeated tree structure."""
|
|
2145
2099
|
|
|
@@ -2156,6 +2110,22 @@ class RelativePattern2:
|
|
|
2156
2110
|
self.unrealized_profit_rel_to_own_market_cap: MetricPattern1[StoredF32] = MetricPattern1(client, _m(acc, 'unrealized_profit_rel_to_own_market_cap'))
|
|
2157
2111
|
self.unrealized_profit_rel_to_own_total_unrealized_pnl: MetricPattern1[StoredF32] = MetricPattern1(client, _m(acc, 'unrealized_profit_rel_to_own_total_unrealized_pnl'))
|
|
2158
2112
|
|
|
2113
|
+
class RelativePattern:
|
|
2114
|
+
"""Pattern struct for repeated tree structure."""
|
|
2115
|
+
|
|
2116
|
+
def __init__(self, client: BrkClientBase, acc: str):
|
|
2117
|
+
"""Create pattern node with accumulated metric name."""
|
|
2118
|
+
self.neg_unrealized_loss_rel_to_market_cap: MetricPattern1[StoredF32] = MetricPattern1(client, _m(acc, 'neg_unrealized_loss_rel_to_market_cap'))
|
|
2119
|
+
self.net_unrealized_pnl_rel_to_market_cap: MetricPattern1[StoredF32] = MetricPattern1(client, _m(acc, 'net_unrealized_pnl_rel_to_market_cap'))
|
|
2120
|
+
self.nupl: MetricPattern1[StoredF32] = MetricPattern1(client, _m(acc, 'nupl'))
|
|
2121
|
+
self.supply_in_loss_rel_to_circulating_supply: MetricPattern1[StoredF64] = MetricPattern1(client, _m(acc, 'supply_in_loss_rel_to_circulating_supply'))
|
|
2122
|
+
self.supply_in_loss_rel_to_own_supply: MetricPattern1[StoredF64] = MetricPattern1(client, _m(acc, 'supply_in_loss_rel_to_own_supply'))
|
|
2123
|
+
self.supply_in_profit_rel_to_circulating_supply: MetricPattern1[StoredF64] = MetricPattern1(client, _m(acc, 'supply_in_profit_rel_to_circulating_supply'))
|
|
2124
|
+
self.supply_in_profit_rel_to_own_supply: MetricPattern1[StoredF64] = MetricPattern1(client, _m(acc, 'supply_in_profit_rel_to_own_supply'))
|
|
2125
|
+
self.supply_rel_to_circulating_supply: MetricPattern4[StoredF64] = MetricPattern4(client, _m(acc, 'supply_rel_to_circulating_supply'))
|
|
2126
|
+
self.unrealized_loss_rel_to_market_cap: MetricPattern1[StoredF32] = MetricPattern1(client, _m(acc, 'unrealized_loss_rel_to_market_cap'))
|
|
2127
|
+
self.unrealized_profit_rel_to_market_cap: MetricPattern1[StoredF32] = MetricPattern1(client, _m(acc, 'unrealized_profit_rel_to_market_cap'))
|
|
2128
|
+
|
|
2159
2129
|
class CountPattern2(Generic[T]):
|
|
2160
2130
|
"""Pattern struct for repeated tree structure."""
|
|
2161
2131
|
|
|
@@ -2231,19 +2201,18 @@ 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
2217
|
class _0satsPattern2:
|
|
2249
2218
|
"""Pattern struct for repeated tree structure."""
|
|
@@ -2258,7 +2227,7 @@ class _0satsPattern2:
|
|
|
2258
2227
|
self.supply: SupplyPattern2 = SupplyPattern2(client, _m(acc, 'supply'))
|
|
2259
2228
|
self.unrealized: UnrealizedPattern = UnrealizedPattern(client, acc)
|
|
2260
2229
|
|
|
2261
|
-
class
|
|
2230
|
+
class _10yPattern:
|
|
2262
2231
|
"""Pattern struct for repeated tree structure."""
|
|
2263
2232
|
|
|
2264
2233
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
@@ -2266,11 +2235,24 @@ class _100btcPattern:
|
|
|
2266
2235
|
self.activity: ActivityPattern2 = ActivityPattern2(client, acc)
|
|
2267
2236
|
self.cost_basis: CostBasisPattern = CostBasisPattern(client, acc)
|
|
2268
2237
|
self.outputs: OutputsPattern = OutputsPattern(client, _m(acc, 'utxo_count'))
|
|
2269
|
-
self.realized:
|
|
2238
|
+
self.realized: RealizedPattern4 = RealizedPattern4(client, acc)
|
|
2270
2239
|
self.relative: RelativePattern = RelativePattern(client, acc)
|
|
2271
2240
|
self.supply: SupplyPattern2 = SupplyPattern2(client, _m(acc, 'supply'))
|
|
2272
2241
|
self.unrealized: UnrealizedPattern = UnrealizedPattern(client, acc)
|
|
2273
2242
|
|
|
2243
|
+
class UnrealizedPattern:
|
|
2244
|
+
"""Pattern struct for repeated tree structure."""
|
|
2245
|
+
|
|
2246
|
+
def __init__(self, client: BrkClientBase, acc: str):
|
|
2247
|
+
"""Create pattern node with accumulated metric name."""
|
|
2248
|
+
self.neg_unrealized_loss: MetricPattern1[Dollars] = MetricPattern1(client, _m(acc, 'neg_unrealized_loss'))
|
|
2249
|
+
self.net_unrealized_pnl: MetricPattern1[Dollars] = MetricPattern1(client, _m(acc, 'net_unrealized_pnl'))
|
|
2250
|
+
self.supply_in_loss: ActiveSupplyPattern = ActiveSupplyPattern(client, _m(acc, 'supply_in_loss'))
|
|
2251
|
+
self.supply_in_profit: ActiveSupplyPattern = ActiveSupplyPattern(client, _m(acc, 'supply_in_profit'))
|
|
2252
|
+
self.total_unrealized_pnl: MetricPattern1[Dollars] = MetricPattern1(client, _m(acc, 'total_unrealized_pnl'))
|
|
2253
|
+
self.unrealized_loss: MetricPattern1[Dollars] = MetricPattern1(client, _m(acc, 'unrealized_loss'))
|
|
2254
|
+
self.unrealized_profit: MetricPattern1[Dollars] = MetricPattern1(client, _m(acc, 'unrealized_profit'))
|
|
2255
|
+
|
|
2274
2256
|
class PeriodCagrPattern:
|
|
2275
2257
|
"""Pattern struct for repeated tree structure."""
|
|
2276
2258
|
|
|
@@ -2297,31 +2279,17 @@ class _10yTo12yPattern:
|
|
|
2297
2279
|
self.supply: SupplyPattern2 = SupplyPattern2(client, _m(acc, 'supply'))
|
|
2298
2280
|
self.unrealized: UnrealizedPattern = UnrealizedPattern(client, acc)
|
|
2299
2281
|
|
|
2300
|
-
class
|
|
2282
|
+
class AllPattern:
|
|
2301
2283
|
"""Pattern struct for repeated tree structure."""
|
|
2302
2284
|
|
|
2303
2285
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2304
2286
|
"""Create pattern node with accumulated metric name."""
|
|
2305
|
-
self.
|
|
2306
|
-
self.
|
|
2307
|
-
self.
|
|
2308
|
-
self.
|
|
2309
|
-
self.
|
|
2310
|
-
self.
|
|
2311
|
-
self.unrealized: UnrealizedPattern = UnrealizedPattern(client, acc)
|
|
2312
|
-
|
|
2313
|
-
class UnrealizedPattern:
|
|
2314
|
-
"""Pattern struct for repeated tree structure."""
|
|
2315
|
-
|
|
2316
|
-
def __init__(self, client: BrkClientBase, acc: str):
|
|
2317
|
-
"""Create pattern node with accumulated metric name."""
|
|
2318
|
-
self.neg_unrealized_loss: MetricPattern1[Dollars] = MetricPattern1(client, _m(acc, 'neg_unrealized_loss'))
|
|
2319
|
-
self.net_unrealized_pnl: MetricPattern1[Dollars] = MetricPattern1(client, _m(acc, 'net_unrealized_pnl'))
|
|
2320
|
-
self.supply_in_loss: ActiveSupplyPattern = ActiveSupplyPattern(client, _m(acc, 'supply_in_loss'))
|
|
2321
|
-
self.supply_in_profit: ActiveSupplyPattern = ActiveSupplyPattern(client, _m(acc, 'supply_in_profit'))
|
|
2322
|
-
self.total_unrealized_pnl: MetricPattern1[Dollars] = MetricPattern1(client, _m(acc, 'total_unrealized_pnl'))
|
|
2323
|
-
self.unrealized_loss: MetricPattern1[Dollars] = MetricPattern1(client, _m(acc, 'unrealized_loss'))
|
|
2324
|
-
self.unrealized_profit: MetricPattern1[Dollars] = MetricPattern1(client, _m(acc, 'unrealized_profit'))
|
|
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."""
|
|
@@ -2344,14 +2312,23 @@ class SplitPattern2(Generic[T]):
|
|
|
2344
2312
|
self.low: MetricPattern1[T] = MetricPattern1(client, _m(acc, 'low'))
|
|
2345
2313
|
self.open: MetricPattern1[T] = MetricPattern1(client, _m(acc, 'open'))
|
|
2346
2314
|
|
|
2347
|
-
class
|
|
2315
|
+
class UnclaimedRewardsPattern:
|
|
2348
2316
|
"""Pattern struct for repeated tree structure."""
|
|
2349
2317
|
|
|
2350
2318
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2351
2319
|
"""Create pattern node with accumulated metric name."""
|
|
2352
|
-
self.
|
|
2353
|
-
self.
|
|
2354
|
-
self.
|
|
2320
|
+
self.bitcoin: BitcoinPattern2[Bitcoin] = BitcoinPattern2(client, _m(acc, 'btc'))
|
|
2321
|
+
self.dollars: BlockCountPattern[Dollars] = BlockCountPattern(client, _m(acc, 'usd'))
|
|
2322
|
+
self.sats: BlockCountPattern[Sats] = BlockCountPattern(client, acc)
|
|
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)
|
|
2355
2332
|
|
|
2356
2333
|
class ActiveSupplyPattern:
|
|
2357
2334
|
"""Pattern struct for repeated tree structure."""
|
|
@@ -2362,6 +2339,15 @@ class ActiveSupplyPattern:
|
|
|
2362
2339
|
self.dollars: MetricPattern1[Dollars] = MetricPattern1(client, _m(acc, 'usd'))
|
|
2363
2340
|
self.sats: MetricPattern1[Sats] = MetricPattern1(client, acc)
|
|
2364
2341
|
|
|
2342
|
+
class CoinbasePattern:
|
|
2343
|
+
"""Pattern struct for repeated tree structure."""
|
|
2344
|
+
|
|
2345
|
+
def __init__(self, client: BrkClientBase, acc: str):
|
|
2346
|
+
"""Create pattern node with accumulated metric name."""
|
|
2347
|
+
self.bitcoin: BitcoinPattern = BitcoinPattern(client, _m(acc, 'btc'))
|
|
2348
|
+
self.dollars: DollarsPattern[Dollars] = DollarsPattern(client, _m(acc, 'usd'))
|
|
2349
|
+
self.sats: DollarsPattern[Sats] = DollarsPattern(client, acc)
|
|
2350
|
+
|
|
2365
2351
|
class SegwitAdoptionPattern:
|
|
2366
2352
|
"""Pattern struct for repeated tree structure."""
|
|
2367
2353
|
|
|
@@ -2371,49 +2357,47 @@ class SegwitAdoptionPattern:
|
|
|
2371
2357
|
self.cumulative: MetricPattern2[StoredF32] = MetricPattern2(client, _m(acc, 'cumulative'))
|
|
2372
2358
|
self.sum: MetricPattern2[StoredF32] = MetricPattern2(client, _m(acc, 'sum'))
|
|
2373
2359
|
|
|
2374
|
-
class
|
|
2360
|
+
class CostBasisPattern2:
|
|
2375
2361
|
"""Pattern struct for repeated tree structure."""
|
|
2376
2362
|
|
|
2377
2363
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2378
2364
|
"""Create pattern node with accumulated metric name."""
|
|
2379
|
-
self.
|
|
2380
|
-
self.
|
|
2381
|
-
self.
|
|
2365
|
+
self.max: ActivePricePattern = ActivePricePattern(client, _m(acc, 'max_cost_basis'))
|
|
2366
|
+
self.min: ActivePricePattern = ActivePricePattern(client, _m(acc, 'min_cost_basis'))
|
|
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:
|
|
2374
|
+
self.bitcoin: BlockCountPattern[Bitcoin] = BlockCountPattern(client, _m(acc, 'btc'))
|
|
2389
2375
|
self.dollars: BlockCountPattern[Dollars] = BlockCountPattern(client, _m(acc, 'usd'))
|
|
2390
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: DollarsPattern[Sats] = DollarsPattern(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: MetricPattern4[Sats] = MetricPattern4(client, acc)
|
|
2391
|
+
self.dollars: MetricPattern1[Dollars] = MetricPattern1(client, acc)
|
|
2392
|
+
self.sats: MetricPattern1[SatsFract] = MetricPattern1(client, _m(acc, 'sats'))
|
|
2409
2393
|
|
|
2410
|
-
class
|
|
2394
|
+
class _1dReturns1mSdPattern:
|
|
2411
2395
|
"""Pattern struct for repeated tree structure."""
|
|
2412
2396
|
|
|
2413
2397
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2414
2398
|
"""Create pattern node with accumulated metric name."""
|
|
2415
|
-
self.
|
|
2416
|
-
self.
|
|
2399
|
+
self.sd: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'sd'))
|
|
2400
|
+
self.sma: MetricPattern4[StoredF32] = MetricPattern4(client, _m(acc, 'sma'))
|
|
2417
2401
|
|
|
2418
2402
|
class SupplyPattern2:
|
|
2419
2403
|
"""Pattern struct for repeated tree structure."""
|
|
@@ -2423,36 +2407,36 @@ class SupplyPattern2:
|
|
|
2423
2407
|
self.halved: ActiveSupplyPattern = ActiveSupplyPattern(client, _m(acc, 'halved'))
|
|
2424
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.cumulative:
|
|
2439
|
+
self.cumulative: MetricPattern2[T] = MetricPattern2(client, _m(acc, 'cumulative'))
|
|
2456
2440
|
self.sum: MetricPattern1[T] = MetricPattern1(client, acc)
|
|
2457
2441
|
|
|
2458
2442
|
class SatsPattern(Generic[T]):
|
|
@@ -2460,22 +2444,22 @@ class SatsPattern(Generic[T]):
|
|
|
2460
2444
|
|
|
2461
2445
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2462
2446
|
"""Create pattern node with accumulated metric name."""
|
|
2463
|
-
self.ohlc: MetricPattern1[T] = MetricPattern1(client, _m(acc, '
|
|
2464
|
-
self.split: SplitPattern2[T] = SplitPattern2(client, acc)
|
|
2447
|
+
self.ohlc: MetricPattern1[T] = MetricPattern1(client, _m(acc, 'ohlc_sats'))
|
|
2448
|
+
self.split: SplitPattern2[T] = SplitPattern2(client, _m(acc, 'sats'))
|
|
2465
2449
|
|
|
2466
|
-
class
|
|
2450
|
+
class OutputsPattern:
|
|
2467
2451
|
"""Pattern struct for repeated tree structure."""
|
|
2468
2452
|
|
|
2469
2453
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2470
2454
|
"""Create pattern node with accumulated metric name."""
|
|
2471
|
-
self.
|
|
2455
|
+
self.utxo_count: MetricPattern1[StoredU64] = MetricPattern1(client, acc)
|
|
2472
2456
|
|
|
2473
|
-
class
|
|
2457
|
+
class RealizedPriceExtraPattern:
|
|
2474
2458
|
"""Pattern struct for repeated tree structure."""
|
|
2475
2459
|
|
|
2476
2460
|
def __init__(self, client: BrkClientBase, acc: str):
|
|
2477
2461
|
"""Create pattern node with accumulated metric name."""
|
|
2478
|
-
self.
|
|
2462
|
+
self.ratio: MetricPattern4[StoredF32] = MetricPattern4(client, acc)
|
|
2479
2463
|
|
|
2480
2464
|
# Metrics tree classes
|
|
2481
2465
|
|
|
@@ -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
|
|
|
@@ -2799,6 +2797,34 @@ 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
|
|
|
@@ -2829,8 +2855,8 @@ 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:
|
|
@@ -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,27 @@ 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
|
+
|
|
3323
3370
|
class MetricsTree_Market_Dca_ClassDaysInLoss:
|
|
3324
3371
|
"""Metrics tree node."""
|
|
3325
3372
|
|
|
@@ -3337,23 +3384,6 @@ class MetricsTree_Market_Dca_ClassDaysInLoss:
|
|
|
3337
3384
|
self._2025: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2025_days_in_loss')
|
|
3338
3385
|
self._2026: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2026_days_in_loss')
|
|
3339
3386
|
|
|
3340
|
-
class MetricsTree_Market_Dca_ClassDaysInProfit:
|
|
3341
|
-
"""Metrics tree node."""
|
|
3342
|
-
|
|
3343
|
-
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3344
|
-
self._2015: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2015_days_in_profit')
|
|
3345
|
-
self._2016: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2016_days_in_profit')
|
|
3346
|
-
self._2017: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2017_days_in_profit')
|
|
3347
|
-
self._2018: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2018_days_in_profit')
|
|
3348
|
-
self._2019: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2019_days_in_profit')
|
|
3349
|
-
self._2020: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2020_days_in_profit')
|
|
3350
|
-
self._2021: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2021_days_in_profit')
|
|
3351
|
-
self._2022: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2022_days_in_profit')
|
|
3352
|
-
self._2023: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2023_days_in_profit')
|
|
3353
|
-
self._2024: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2024_days_in_profit')
|
|
3354
|
-
self._2025: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2025_days_in_profit')
|
|
3355
|
-
self._2026: MetricPattern4[StoredU32] = MetricPattern4(client, 'dca_class_2026_days_in_profit')
|
|
3356
|
-
|
|
3357
3387
|
class MetricsTree_Market_Dca_ClassMaxDrawdown:
|
|
3358
3388
|
"""Metrics tree node."""
|
|
3359
3389
|
|
|
@@ -3422,30 +3452,47 @@ class MetricsTree_Market_Dca_ClassStack:
|
|
|
3422
3452
|
self._2025: _2015Pattern = _2015Pattern(client, 'dca_class_2025_stack')
|
|
3423
3453
|
self._2026: _2015Pattern = _2015Pattern(client, 'dca_class_2026_stack')
|
|
3424
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
|
+
|
|
3425
3472
|
class MetricsTree_Market_Dca:
|
|
3426
3473
|
"""Metrics tree node."""
|
|
3427
3474
|
|
|
3428
3475
|
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3429
|
-
self.class_average_price:
|
|
3476
|
+
self.class_average_price: MetricsTree_Market_Dca_ClassAveragePrice = MetricsTree_Market_Dca_ClassAveragePrice(client)
|
|
3430
3477
|
self.class_days_in_loss: MetricsTree_Market_Dca_ClassDaysInLoss = MetricsTree_Market_Dca_ClassDaysInLoss(client)
|
|
3431
|
-
self.class_days_in_profit:
|
|
3478
|
+
self.class_days_in_profit: ClassDaysInLossPattern[StoredU32] = ClassDaysInLossPattern(client, 'dca_class')
|
|
3432
3479
|
self.class_max_drawdown: MetricsTree_Market_Dca_ClassMaxDrawdown = MetricsTree_Market_Dca_ClassMaxDrawdown(client)
|
|
3433
3480
|
self.class_max_return: MetricsTree_Market_Dca_ClassMaxReturn = MetricsTree_Market_Dca_ClassMaxReturn(client)
|
|
3434
3481
|
self.class_returns: MetricsTree_Market_Dca_ClassReturns = MetricsTree_Market_Dca_ClassReturns(client)
|
|
3435
3482
|
self.class_stack: MetricsTree_Market_Dca_ClassStack = MetricsTree_Market_Dca_ClassStack(client)
|
|
3436
|
-
self.period_average_price:
|
|
3483
|
+
self.period_average_price: MetricsTree_Market_Dca_PeriodAveragePrice = MetricsTree_Market_Dca_PeriodAveragePrice(client)
|
|
3437
3484
|
self.period_cagr: PeriodCagrPattern = PeriodCagrPattern(client, 'dca_cagr')
|
|
3438
|
-
self.period_days_in_loss:
|
|
3439
|
-
self.period_days_in_profit:
|
|
3440
|
-
self.period_lump_sum_days_in_loss:
|
|
3441
|
-
self.period_lump_sum_days_in_profit:
|
|
3442
|
-
self.period_lump_sum_max_drawdown:
|
|
3443
|
-
self.period_lump_sum_max_return:
|
|
3444
|
-
self.period_lump_sum_returns:
|
|
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')
|
|
3445
3492
|
self.period_lump_sum_stack: PeriodLumpSumStackPattern = PeriodLumpSumStackPattern(client, 'lump_sum_stack')
|
|
3446
|
-
self.period_max_drawdown:
|
|
3447
|
-
self.period_max_return:
|
|
3448
|
-
self.period_returns:
|
|
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')
|
|
3449
3496
|
self.period_stack: PeriodLumpSumStackPattern = PeriodLumpSumStackPattern(client, 'dca_stack')
|
|
3450
3497
|
|
|
3451
3498
|
class MetricsTree_Market_Indicators:
|
|
@@ -3472,6 +3519,24 @@ class MetricsTree_Market_Indicators:
|
|
|
3472
3519
|
self.stoch_rsi_d: MetricPattern6[StoredF32] = MetricPattern6(client, 'stoch_rsi_d')
|
|
3473
3520
|
self.stoch_rsi_k: MetricPattern6[StoredF32] = MetricPattern6(client, 'stoch_rsi_k')
|
|
3474
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
|
+
|
|
3475
3540
|
class MetricsTree_Market_MovingAverage:
|
|
3476
3541
|
"""Metrics tree node."""
|
|
3477
3542
|
|
|
@@ -3490,8 +3555,8 @@ class MetricsTree_Market_MovingAverage:
|
|
|
3490
3555
|
self.price_1y_sma: Price111dSmaPattern = Price111dSmaPattern(client, 'price_1y_sma')
|
|
3491
3556
|
self.price_200d_ema: Price111dSmaPattern = Price111dSmaPattern(client, 'price_200d_ema')
|
|
3492
3557
|
self.price_200d_sma: Price111dSmaPattern = Price111dSmaPattern(client, 'price_200d_sma')
|
|
3493
|
-
self.price_200d_sma_x0_8:
|
|
3494
|
-
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')
|
|
3495
3560
|
self.price_200w_ema: Price111dSmaPattern = Price111dSmaPattern(client, 'price_200w_ema')
|
|
3496
3561
|
self.price_200w_sma: Price111dSmaPattern = Price111dSmaPattern(client, 'price_200w_sma')
|
|
3497
3562
|
self.price_21d_ema: Price111dSmaPattern = Price111dSmaPattern(client, 'price_21d_ema')
|
|
@@ -3502,7 +3567,7 @@ class MetricsTree_Market_MovingAverage:
|
|
|
3502
3567
|
self.price_34d_ema: Price111dSmaPattern = Price111dSmaPattern(client, 'price_34d_ema')
|
|
3503
3568
|
self.price_34d_sma: Price111dSmaPattern = Price111dSmaPattern(client, 'price_34d_sma')
|
|
3504
3569
|
self.price_350d_sma: Price111dSmaPattern = Price111dSmaPattern(client, 'price_350d_sma')
|
|
3505
|
-
self.price_350d_sma_x2:
|
|
3570
|
+
self.price_350d_sma_x2: _0sdUsdPattern = _0sdUsdPattern(client, 'price_350d_sma_x2')
|
|
3506
3571
|
self.price_4y_ema: Price111dSmaPattern = Price111dSmaPattern(client, 'price_4y_ema')
|
|
3507
3572
|
self.price_4y_sma: Price111dSmaPattern = Price111dSmaPattern(client, 'price_4y_sma')
|
|
3508
3573
|
self.price_55d_ema: Price111dSmaPattern = Price111dSmaPattern(client, 'price_55d_ema')
|
|
@@ -3516,15 +3581,15 @@ class MetricsTree_Market_Range:
|
|
|
3516
3581
|
"""Metrics tree node."""
|
|
3517
3582
|
|
|
3518
3583
|
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3519
|
-
self.price_1m_max:
|
|
3520
|
-
self.price_1m_min:
|
|
3521
|
-
self.price_1w_max:
|
|
3522
|
-
self.price_1w_min:
|
|
3523
|
-
self.price_1y_max:
|
|
3524
|
-
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')
|
|
3525
3590
|
self.price_2w_choppiness_index: MetricPattern4[StoredF32] = MetricPattern4(client, 'price_2w_choppiness_index')
|
|
3526
|
-
self.price_2w_max:
|
|
3527
|
-
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')
|
|
3528
3593
|
self.price_true_range: MetricPattern6[StoredF32] = MetricPattern6(client, 'price_true_range')
|
|
3529
3594
|
self.price_true_range_2w_sum: MetricPattern6[StoredF32] = MetricPattern6(client, 'price_true_range_2w_sum')
|
|
3530
3595
|
|
|
@@ -3581,7 +3646,7 @@ class MetricsTree_Market:
|
|
|
3581
3646
|
self.ath: MetricsTree_Market_Ath = MetricsTree_Market_Ath(client)
|
|
3582
3647
|
self.dca: MetricsTree_Market_Dca = MetricsTree_Market_Dca(client)
|
|
3583
3648
|
self.indicators: MetricsTree_Market_Indicators = MetricsTree_Market_Indicators(client)
|
|
3584
|
-
self.lookback:
|
|
3649
|
+
self.lookback: MetricsTree_Market_Lookback = MetricsTree_Market_Lookback(client)
|
|
3585
3650
|
self.moving_average: MetricsTree_Market_MovingAverage = MetricsTree_Market_MovingAverage(client)
|
|
3586
3651
|
self.range: MetricsTree_Market_Range = MetricsTree_Market_Range(client)
|
|
3587
3652
|
self.returns: MetricsTree_Market_Returns = MetricsTree_Market_Returns(client)
|
|
@@ -3805,56 +3870,20 @@ class MetricsTree_Price_Cents:
|
|
|
3805
3870
|
self.ohlc: MetricPattern5[OHLCCents] = MetricPattern5(client, 'ohlc_cents')
|
|
3806
3871
|
self.split: MetricsTree_Price_Cents_Split = MetricsTree_Price_Cents_Split(client)
|
|
3807
3872
|
|
|
3808
|
-
class
|
|
3809
|
-
"""Metrics tree node."""
|
|
3810
|
-
|
|
3811
|
-
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3812
|
-
self.close_ohlc_cents: MetricPattern6[OHLCCents] = MetricPattern6(client, 'close_ohlc_cents')
|
|
3813
|
-
self.close_ohlc_dollars: MetricPattern6[OHLCDollars] = MetricPattern6(client, 'close_ohlc_dollars')
|
|
3814
|
-
self.height_to_first_pairoutputindex: MetricPattern11[PairOutputIndex] = MetricPattern11(client, 'height_to_first_pairoutputindex')
|
|
3815
|
-
self.mid_ohlc_cents: MetricPattern6[OHLCCents] = MetricPattern6(client, 'mid_ohlc_cents')
|
|
3816
|
-
self.mid_ohlc_dollars: MetricPattern6[OHLCDollars] = MetricPattern6(client, 'mid_ohlc_dollars')
|
|
3817
|
-
self.ohlc_cents: MetricPattern6[OHLCCents] = MetricPattern6(client, 'oracle_ohlc_cents')
|
|
3818
|
-
self.ohlc_dollars: MetricPattern6[OHLCDollars] = MetricPattern6(client, 'oracle_ohlc')
|
|
3819
|
-
self.output0_value: MetricPattern33[Sats] = MetricPattern33(client, 'pair_output0_value')
|
|
3820
|
-
self.output1_value: MetricPattern33[Sats] = MetricPattern33(client, 'pair_output1_value')
|
|
3821
|
-
self.pairoutputindex_to_txindex: MetricPattern33[TxIndex] = MetricPattern33(client, 'pairoutputindex_to_txindex')
|
|
3822
|
-
self.phase_daily_cents: PhaseDailyCentsPattern[Cents] = PhaseDailyCentsPattern(client, 'phase_daily')
|
|
3823
|
-
self.phase_daily_dollars: PhaseDailyCentsPattern[Dollars] = PhaseDailyCentsPattern(client, 'phase_daily_dollars')
|
|
3824
|
-
self.phase_histogram: MetricPattern11[OracleBins] = MetricPattern11(client, 'phase_histogram')
|
|
3825
|
-
self.phase_price_cents: MetricPattern11[Cents] = MetricPattern11(client, 'phase_price_cents')
|
|
3826
|
-
self.phase_v2_daily_cents: PhaseDailyCentsPattern[Cents] = PhaseDailyCentsPattern(client, 'phase_v2_daily')
|
|
3827
|
-
self.phase_v2_daily_dollars: PhaseDailyCentsPattern[Dollars] = PhaseDailyCentsPattern(client, 'phase_v2_daily_dollars')
|
|
3828
|
-
self.phase_v2_histogram: MetricPattern11[OracleBinsV2] = MetricPattern11(client, 'phase_v2_histogram')
|
|
3829
|
-
self.phase_v2_peak_daily_cents: PhaseDailyCentsPattern[Cents] = PhaseDailyCentsPattern(client, 'phase_v2_peak_daily')
|
|
3830
|
-
self.phase_v2_peak_daily_dollars: PhaseDailyCentsPattern[Dollars] = PhaseDailyCentsPattern(client, 'phase_v2_peak_daily_dollars')
|
|
3831
|
-
self.phase_v2_peak_price_cents: MetricPattern11[Cents] = MetricPattern11(client, 'phase_v2_peak_price_cents')
|
|
3832
|
-
self.phase_v2_price_cents: MetricPattern11[Cents] = MetricPattern11(client, 'phase_v2_price_cents')
|
|
3833
|
-
self.phase_v3_daily_cents: PhaseDailyCentsPattern[Cents] = PhaseDailyCentsPattern(client, 'phase_v3_daily')
|
|
3834
|
-
self.phase_v3_daily_dollars: PhaseDailyCentsPattern[Dollars] = PhaseDailyCentsPattern(client, 'phase_v3_daily_dollars')
|
|
3835
|
-
self.phase_v3_histogram: MetricPattern11[OracleBinsV2] = MetricPattern11(client, 'phase_v3_histogram')
|
|
3836
|
-
self.phase_v3_peak_daily_cents: PhaseDailyCentsPattern[Cents] = PhaseDailyCentsPattern(client, 'phase_v3_peak_daily')
|
|
3837
|
-
self.phase_v3_peak_daily_dollars: PhaseDailyCentsPattern[Dollars] = PhaseDailyCentsPattern(client, 'phase_v3_peak_daily_dollars')
|
|
3838
|
-
self.phase_v3_peak_price_cents: MetricPattern11[Cents] = MetricPattern11(client, 'phase_v3_peak_price_cents')
|
|
3839
|
-
self.phase_v3_price_cents: MetricPattern11[Cents] = MetricPattern11(client, 'phase_v3_price_cents')
|
|
3840
|
-
self.price_cents: MetricPattern11[Cents] = MetricPattern11(client, 'oracle_price_cents')
|
|
3841
|
-
self.tx_count: MetricPattern6[StoredU32] = MetricPattern6(client, 'oracle_tx_count')
|
|
3842
|
-
|
|
3843
|
-
class MetricsTree_Price_Sats:
|
|
3873
|
+
class MetricsTree_Price_Usd:
|
|
3844
3874
|
"""Metrics tree node."""
|
|
3845
3875
|
|
|
3846
3876
|
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3847
|
-
self.ohlc: MetricPattern1[
|
|
3848
|
-
self.split: SplitPattern2[
|
|
3877
|
+
self.ohlc: MetricPattern1[OHLCDollars] = MetricPattern1(client, 'price_ohlc')
|
|
3878
|
+
self.split: SplitPattern2[Dollars] = SplitPattern2(client, 'price')
|
|
3849
3879
|
|
|
3850
3880
|
class MetricsTree_Price:
|
|
3851
3881
|
"""Metrics tree node."""
|
|
3852
3882
|
|
|
3853
3883
|
def __init__(self, client: BrkClientBase, base_path: str = ''):
|
|
3854
3884
|
self.cents: MetricsTree_Price_Cents = MetricsTree_Price_Cents(client)
|
|
3855
|
-
self.
|
|
3856
|
-
self.
|
|
3857
|
-
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)
|
|
3858
3887
|
|
|
3859
3888
|
class MetricsTree_Scripts_Count:
|
|
3860
3889
|
"""Metrics tree node."""
|
|
@@ -4023,7 +4052,7 @@ class MetricsTree:
|
|
|
4023
4052
|
class BrkClient(BrkClientBase):
|
|
4024
4053
|
"""Main BRK client with metrics tree and API methods."""
|
|
4025
4054
|
|
|
4026
|
-
VERSION = "v0.1.0
|
|
4055
|
+
VERSION = "v0.1.0"
|
|
4027
4056
|
|
|
4028
4057
|
INDEXES = [
|
|
4029
4058
|
"dateindex",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: brk-client
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: Python client for the Bitcoin Research Kit
|
|
5
5
|
Project-URL: Homepage, https://bitcoinresearchkit.org
|
|
6
6
|
Project-URL: Repository, https://github.com/bitcoinresearchkit/brk
|
|
7
7
|
License-Expression: MIT
|
|
8
8
|
Keywords: analytics,bitcoin,blockchain,on-chain
|
|
9
|
-
Classifier: Development Status ::
|
|
9
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
10
10
|
Classifier: Intended Audience :: Developers
|
|
11
11
|
Classifier: License :: OSI Approved :: MIT License
|
|
12
12
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
brk_client/__init__.py,sha256=w2I4tdxkm_ZixMki_1M-b5Y01UD1PpaDDtnsSS0I3ws,270712
|
|
2
|
+
brk_client-0.1.1.dist-info/METADATA,sha256=MJlowdgjb70PcajgjzZeB2HtG7K4C25-DmKygEixXIM,1935
|
|
3
|
+
brk_client-0.1.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
4
|
+
brk_client-0.1.1.dist-info/RECORD,,
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
brk_client/__init__.py,sha256=KNVXeG83EvnqtRcXuDhUnB18SfLccYclPYBb8emFVDE,270747
|
|
2
|
-
brk_client-0.1.0b1.dist-info/METADATA,sha256=SQ7dQ1bqLvNmaOmn8YlLQn-98On24luSeZE9m2kaTMY,1924
|
|
3
|
-
brk_client-0.1.0b1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
4
|
-
brk_client-0.1.0b1.dist-info/RECORD,,
|
|
File without changes
|