eth-portfolio-temp 0.0.29.dev0__cp312-cp312-macosx_11_0_arm64.whl → 0.0.31.dev0__cp312-cp312-macosx_11_0_arm64.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.

Potentially problematic release.


This version of eth-portfolio-temp might be problematic. Click here for more details.

Files changed (26) hide show
  1. 295eace8438df6ec133b__mypyc.cpython-312-darwin.so +0 -0
  2. eth_portfolio/_argspec.cpython-312-darwin.so +0 -0
  3. eth_portfolio/_config.cpython-312-darwin.so +0 -0
  4. eth_portfolio/_loaders/_nonce.cpython-312-darwin.so +0 -0
  5. eth_portfolio/_loaders/balances.cpython-312-darwin.so +0 -0
  6. eth_portfolio/_loaders/utils.cpython-312-darwin.so +0 -0
  7. eth_portfolio/_shitcoins.cpython-312-darwin.so +0 -0
  8. eth_portfolio/_shitcoins.py +4 -0
  9. eth_portfolio/_stableish.cpython-312-darwin.so +0 -0
  10. eth_portfolio/_stableish.py +36 -0
  11. eth_portfolio/buckets.py +24 -20
  12. eth_portfolio/constants.cpython-312-darwin.so +0 -0
  13. eth_portfolio/constants.py +1 -0
  14. eth_portfolio_scripts/balances.cpython-312-darwin.so +0 -0
  15. eth_portfolio_scripts/docker/.grafana/dashboards/{portfolio → Portfolio}/Balances.json +23 -23
  16. eth_portfolio_scripts/docker/.grafana/dashboards/dashboards.yaml +2 -2
  17. eth_portfolio_scripts/docker/__init__.cpython-312-darwin.so +0 -0
  18. eth_portfolio_scripts/docker/check.cpython-312-darwin.so +0 -0
  19. eth_portfolio_scripts/docker/docker-compose.yaml +0 -4
  20. eth_portfolio_scripts/docker/docker_compose.cpython-312-darwin.so +0 -0
  21. {eth_portfolio_temp-0.0.29.dev0.dist-info → eth_portfolio_temp-0.0.31.dev0.dist-info}/METADATA +1 -1
  22. {eth_portfolio_temp-0.0.29.dev0.dist-info → eth_portfolio_temp-0.0.31.dev0.dist-info}/RECORD +25 -23
  23. {eth_portfolio_temp-0.0.29.dev0.dist-info → eth_portfolio_temp-0.0.31.dev0.dist-info}/top_level.txt +1 -1
  24. bb56d21cd75f4f6de8f2__mypyc.cpython-312-darwin.so +0 -0
  25. {eth_portfolio_temp-0.0.29.dev0.dist-info → eth_portfolio_temp-0.0.31.dev0.dist-info}/WHEEL +0 -0
  26. {eth_portfolio_temp-0.0.29.dev0.dist-info → eth_portfolio_temp-0.0.31.dev0.dist-info}/entry_points.txt +0 -0
Binary file
@@ -89,6 +89,8 @@ shitcoins: Final = {
89
89
  "0xF01f7A348681776c1FC9A066c6973882B693cdC6",
90
90
  "0x0e1CD6d2715432e4DBedFE969b0Eb2867FF61d5b",
91
91
  # Generally looks like shit
92
+ "0xDFC01a7956C0d151ae197274B974fA7527EbAFB9",
93
+ "0xE256CF1C7caEff4383DabafEe6Dd53910F97213D",
92
94
  "0x7CD6143B8781dC7e0667e50DB02Eb6539799722F",
93
95
  "0x174Cd3359C6a4E6B64D2995Da4E2E4631379526E",
94
96
  "0x85E199607eb8aEef775Ae6424b42d20616267852",
@@ -222,12 +224,14 @@ shitcoins: Final = {
222
224
  # fake USDT
223
225
  "0x9257Cf49802E00048A30a6429e9c4d86210F4253",
224
226
  "0x6b1b80b4b3228060EA21C292a3b9c576691Ca6cC",
227
+ "0xfCDFf724385Dcb47f2E62f7F2E383a7822Ed9718",
225
228
  # fake ETH
226
229
  "0x225795bb6D20773a4A34c682Ae8457D00C80F955",
227
230
  "0x25741E94782d3EaA7fb0A02D78256bf065AEC3B9",
228
231
  # fake AERO
229
232
  "0x3C78E3391C47fB9310BDB9085955934E1622442f",
230
233
  "0x1f186De364a56e741Fcb188d37a393d409D08AeA",
234
+ "0xDd62542e9Be4390147f8c1f5b417f50ec4F834B7",
231
235
  ],
232
236
  Network.Fantom: [
233
237
  # generally looks like shit
@@ -0,0 +1,36 @@
1
+ from collections import defaultdict
2
+ from typing import DefaultDict, Final, Set
3
+
4
+ from eth_typing import ChecksumAddress
5
+ from y import Network, convert
6
+
7
+ stableish: Final = {
8
+ Network.Mainnet: [
9
+ "0x674C6Ad92Fd080e4004b2312b45f796a192D27a0", # USDN
10
+ "0x1456688345527bE1f37E9e627DA0837D6f08C925", # USDP
11
+ "0x865377367054516e17014CcdED1e7d814EDC9ce4", # DOLA
12
+ "0x5f98805A4E8be255a32880FDeC7F6728C6568bA0", # LUSD
13
+ "0x4Fabb145d64652a948d72533023f6E7A623C7C53", # BUSD
14
+ "0x853d955aCEf822Db058eb8505911ED77F175b99e", # FRAX
15
+ "0x5BC25f649fc4e26069dDF4cF4010F9f706c23831", # DUSD
16
+ "0x99D8a9C45b2ecA8864373A26D1459e3Dff1e17F3", # MIM
17
+ "0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd", # GUSD
18
+ "0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919", # RAI
19
+ "0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86", # OUSD
20
+ "0x57Ab1ec28D129707052df4dF418D58a2D46d5f51", # sUSD
21
+ "0xe2f2a5C287993345a840Db3B0845fbC70f5935a5", # mUSD
22
+ "0x5B3b5DF2BF2B6543f78e053bD91C4Bdd820929f1", # USDM
23
+ "0xdF574c24545E5FfEcb9a659c229253D4111d87e1", # HUSD
24
+ "0xa47c8bf37f92aBed4A126BDA807A7b7498661acD", # UST
25
+ ],
26
+ }
27
+
28
+ STABLEISH_COINS: DefaultDict[int, Set[ChecksumAddress]] = defaultdict(set)
29
+ """
30
+ A dictionary that contains, for each chain, a set of 'stable-ish' coins that are considered stable by the wider market but not by ypriceamgic.
31
+
32
+ These coins, and wrapper tokens that contain them, will be considered stablecoins on all dashboards.
33
+ """
34
+
35
+ for chain, tokens in stableish.items():
36
+ STABLEISH_COINS[chain].update(convert.to_address(token) for token in tokens)
eth_portfolio/buckets.py CHANGED
@@ -3,19 +3,23 @@ from typing import Optional, Set
3
3
 
4
4
  from a_sync import igather
5
5
  from async_lru import alru_cache
6
- from brownie import chain
7
- from y.constants import STABLECOINS, WRAPPED_GAS_COIN
6
+ from eth_typing import ChecksumAddress
7
+ from y.constants import CHAINID, STABLECOINS, WRAPPED_GAS_COIN
8
+ from y.convert import to_address
8
9
  from y.datatypes import Address, AnyAddressType
10
+ from y.exceptions import ContractNotVerified
9
11
  from y.prices.lending.aave import aave
10
12
  from y.prices.lending.compound import CToken, compound
11
13
  from y.prices.stable_swap.curve import curve
12
14
  from y.prices.yearn import YearnInspiredVault, is_yearn_vault
13
15
 
14
16
  from eth_portfolio.constants import BTC_LIKE, ETH_LIKE, INTL_STABLECOINS
17
+ from eth_portfolio._stableish import STABLEISH_COINS
15
18
 
16
19
  logger = logging.getLogger(__name__)
17
20
 
18
- OTHER_LONG_TERM_ASSETS: Set[Address] = {}.get(chain.id, set())
21
+ STABLEISH = STABLEISH_COINS[CHAINID]
22
+ OTHER_LONG_TERM_ASSETS: Set[Address] = {}.get(CHAINID, set())
19
23
 
20
24
 
21
25
  async def get_token_bucket(token: AnyAddressType) -> str:
@@ -53,27 +57,25 @@ async def get_token_bucket(token: AnyAddressType) -> str:
53
57
  - :func:`_unwrap_token`
54
58
  - :func:`_is_stable`
55
59
  """
56
- token = str(token)
60
+ token_address = to_address(token)
57
61
  try:
58
- token = str(await _unwrap_token(token))
59
- except ValueError as e:
60
- if str(e).startswith("Source for") and str(e).endswith("has not been verified"):
61
- return "Other short term assets"
62
- raise
62
+ token_address = await _unwrap_token(token_address)
63
+ except ContractNotVerified as e:
64
+ return "Other short term assets"
63
65
 
64
- if _is_stable(token):
66
+ if _is_stable(token_address):
65
67
  return "Cash & cash equivalents"
66
- if token in ETH_LIKE:
68
+ if token_address in ETH_LIKE:
67
69
  return "ETH"
68
- if token in BTC_LIKE:
70
+ if token_address in BTC_LIKE:
69
71
  return "BTC"
70
- if token in OTHER_LONG_TERM_ASSETS:
72
+ if token_address in OTHER_LONG_TERM_ASSETS:
71
73
  return "Other long term assets"
72
74
  return "Other short term assets"
73
75
 
74
76
 
75
77
  @alru_cache(maxsize=None)
76
- async def _unwrap_token(token) -> str:
78
+ async def _unwrap_token(token) -> ChecksumAddress:
77
79
  """
78
80
  Recursively unwrap a token to its underlying asset.
79
81
 
@@ -158,18 +160,19 @@ def _pool_bucket(pool_tokens: set) -> Optional[str]:
158
160
  return list(INTL_STABLECOINS)[0] if pool_tokens < INTL_STABLECOINS else None
159
161
 
160
162
 
161
- def _is_stable(token: Address) -> bool:
163
+ def _is_stable(token: ChecksumAddress) -> bool:
162
164
  """
163
- Check if a token is a stablecoin.
165
+ Check if a token is a stablecoin or stable-ish coin.
164
166
 
165
- This function checks if a given token is present in the :data:`STABLECOINS` or
166
- :data:`INTL_STABLECOINS` sets, indicating that it is a stablecoin.
167
+ This function checks if a given token is present in the :data:`STABLECOINS`,
168
+ :data:`INTL_STABLECOINS`, or :data:`STABLEISH_COINS` sets, indicating that it is
169
+ a stablecoin or considered stable by the wider market.
167
170
 
168
171
  Args:
169
172
  token: The address of the token to check.
170
173
 
171
174
  Example:
172
- Check if a token is a stablecoin:
175
+ Check if a token is a stablecoin or stable-ish coin:
173
176
 
174
177
  >>> _is_stable("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48")
175
178
  True
@@ -177,5 +180,6 @@ def _is_stable(token: Address) -> bool:
177
180
  See Also:
178
181
  - :data:`STABLECOINS`
179
182
  - :data:`INTL_STABLECOINS`
183
+ - :data:`STABLEISH_COINS`
180
184
  """
181
- return token in STABLECOINS or token in INTL_STABLECOINS
185
+ return token in STABLECOINS or token in INTL_STABLECOINS or token in STABLEISH
@@ -52,6 +52,7 @@ INTL_STABLECOINS: Final = {
52
52
  "0xC581b735A1688071A1746c968e0798D642EDE491", # EURT
53
53
  "0xdB25f211AB05b1c97D595516F45794528a807ad8", # EURS
54
54
  "0x96E61422b6A9bA0e068B6c5ADd4fFaBC6a4aae27", # ibEUR
55
+ "0x9fcf418B971134625CdF38448B949C8640971671", # EURN
55
56
  "0x269895a3dF4D73b077Fc823dD6dA1B95f72Aaf9B", # sKRW
56
57
  "0x3F1B0278A9ee595635B61817630cC19DE792f506", # sAUD
57
58
  "0x97fe22E7341a0Cd8Db6F6C021A24Dc8f4DAD855F", # sGBP
@@ -103,7 +103,7 @@
103
103
  {
104
104
  "id": "calculateField",
105
105
  "options": {
106
- "alias": "yfi price",
106
+ "alias": "YFI Price",
107
107
  "binary": {
108
108
  "left": "YFI Value",
109
109
  "operator": "/",
@@ -125,7 +125,7 @@
125
125
  "left": "yvYFI Value",
126
126
  "operator": "/",
127
127
  "reducer": "sum",
128
- "right": "yfi price"
128
+ "right": "YFI Price"
129
129
  },
130
130
  "mode": "binary",
131
131
  "reduce": {
@@ -653,15 +653,15 @@
653
653
  "targets": [
654
654
  {
655
655
  "exemplar": true,
656
- "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket!=\"YFI\", bucket!=\"Other long term assets\"}) by (bucket)",
656
+ "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket!=\"YFI\", bucket!=\"Other long term assets\"}) by (Bucket)",
657
657
  "hide": false,
658
658
  "interval": "",
659
- "legendFormat": "{{bucket}}",
659
+ "legendFormat": "{{Bucket}}",
660
660
  "refId": "A"
661
661
  },
662
662
  {
663
663
  "exemplar": true,
664
- "expr": "sum(my_portfolio_assets{param=\"usd value\",token=\"YFI\"}) by (bucket)",
664
+ "expr": "sum(my_portfolio_assets{param=\"usd value\",token=\"YFI\"}) by (Bucket)",
665
665
  "hide": true,
666
666
  "interval": "",
667
667
  "legendFormat": "",
@@ -746,9 +746,9 @@
746
746
  "targets": [
747
747
  {
748
748
  "exemplar": true,
749
- "expr": "sum(my_portfolio_debt{param=\"usd value\"}) by (token)",
749
+ "expr": "sum(my_portfolio_debt{param=\"usd value\"}) by (Token)",
750
750
  "interval": "",
751
- "legendFormat": "{{token}}",
751
+ "legendFormat": "{{Token}}",
752
752
  "refId": "A"
753
753
  }
754
754
  ],
@@ -1048,10 +1048,10 @@
1048
1048
  "targets": [
1049
1049
  {
1050
1050
  "exemplar": true,
1051
- "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket=\"Cash & cash equivalents\"}) by (token)",
1051
+ "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket=\"Cash & cash equivalents\"}) by (Token)",
1052
1052
  "hide": false,
1053
1053
  "interval": "",
1054
- "legendFormat": "{{token}}",
1054
+ "legendFormat": "{{Token}}",
1055
1055
  "refId": "A"
1056
1056
  }
1057
1057
  ],
@@ -1168,10 +1168,10 @@
1168
1168
  "targets": [
1169
1169
  {
1170
1170
  "exemplar": true,
1171
- "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket=\"ETH\"}) by (token)",
1171
+ "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket=\"ETH\"}) by (Token)",
1172
1172
  "hide": false,
1173
1173
  "interval": "",
1174
- "legendFormat": "{{token}}",
1174
+ "legendFormat": "{{Token}}",
1175
1175
  "refId": "A"
1176
1176
  }
1177
1177
  ],
@@ -1288,10 +1288,10 @@
1288
1288
  "targets": [
1289
1289
  {
1290
1290
  "exemplar": true,
1291
- "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket=\"BTC\"}) by (token)",
1291
+ "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket=\"BTC\"}) by (Token)",
1292
1292
  "hide": false,
1293
1293
  "interval": "",
1294
- "legendFormat": "{{token}}",
1294
+ "legendFormat": "{{Token}}",
1295
1295
  "refId": "A"
1296
1296
  }
1297
1297
  ],
@@ -1408,10 +1408,10 @@
1408
1408
  "targets": [
1409
1409
  {
1410
1410
  "exemplar": true,
1411
- "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket=\"Other short term assets\", token=\"yvCurve-sdCRVv2-f\", token=\"OGV\", token=\"NEWO\", token=\"yvCurve-pUSD-FRAXBP-f\", token=\"yvCurve-yETH-f\", token=\"GUSD\"}) by (token)",
1411
+ "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket=\"Other short term assets\", token=\"yvCurve-sdCRVv2-f\", token=\"OGV\", token=\"NEWO\", token=\"yvCurve-pUSD-FRAXBP-f\", token=\"yvCurve-yETH-f\", token=\"GUSD\"}) by (Token)",
1412
1412
  "hide": false,
1413
1413
  "interval": "",
1414
- "legendFormat": "{{token}}",
1414
+ "legendFormat": "{{Token}}",
1415
1415
  "refId": "A"
1416
1416
  }
1417
1417
  ],
@@ -1528,10 +1528,10 @@
1528
1528
  "targets": [
1529
1529
  {
1530
1530
  "exemplar": true,
1531
- "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket=\"Cash & cash equivalents\"}) by (token,wallet)",
1531
+ "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket=\"Cash & cash equivalents\"}) by (Token,Wallet)",
1532
1532
  "hide": false,
1533
1533
  "interval": "",
1534
- "legendFormat": "{{token}} | {{wallet}}",
1534
+ "legendFormat": "{{Token}} | {{Wallet}}",
1535
1535
  "refId": "A"
1536
1536
  }
1537
1537
  ],
@@ -1648,10 +1648,10 @@
1648
1648
  "targets": [
1649
1649
  {
1650
1650
  "exemplar": true,
1651
- "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket=\"ETH\"}) by (token,wallet)",
1651
+ "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket=\"ETH\"}) by (Token,Wallet)",
1652
1652
  "hide": false,
1653
1653
  "interval": "",
1654
- "legendFormat": "{{token}} | {{wallet}}",
1654
+ "legendFormat": "{{Token}} | {{Wallet}}",
1655
1655
  "refId": "A"
1656
1656
  }
1657
1657
  ],
@@ -1768,10 +1768,10 @@
1768
1768
  "targets": [
1769
1769
  {
1770
1770
  "exemplar": true,
1771
- "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket=\"BTC\"}) by (token, wallet)",
1771
+ "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket=\"BTC\"}) by (Token,Wallet)",
1772
1772
  "hide": false,
1773
1773
  "interval": "",
1774
- "legendFormat": "{{token}} | {{wallet}}",
1774
+ "legendFormat": "{{Token}} | {{Wallet}}",
1775
1775
  "refId": "A"
1776
1776
  }
1777
1777
  ],
@@ -1888,10 +1888,10 @@
1888
1888
  "targets": [
1889
1889
  {
1890
1890
  "exemplar": true,
1891
- "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket=\"Other short term assets\", token=\"yvCurve-sdCRVv2-f\", token=\"OGV\", token=\"NEWO\", token=\"yvCurve-pUSD-FRAXBP-f\", token=\"yvCurve-yETH-f\", token=\"GUSD\"}) by (token, wallet)",
1891
+ "expr": "sum(my_portfolio_assets{param=\"usd value\",bucket=\"Other short term assets\", token=\"yvCurve-sdCRVv2-f\", token=\"OGV\", token=\"NEWO\", token=\"yvCurve-pUSD-FRAXBP-f\", token=\"yvCurve-yETH-f\", token=\"GUSD\"}) by (Token,Wallet)",
1892
1892
  "hide": false,
1893
1893
  "interval": "",
1894
- "legendFormat": "{{token}} | {{wallet}}",
1894
+ "legendFormat": "{{Token}} | {{Wallet}}",
1895
1895
  "refId": "A"
1896
1896
  }
1897
1897
  ],
@@ -2,9 +2,9 @@ apiVersion: 1
2
2
 
3
3
  providers:
4
4
  - name: 'Portfolio dashboards'
5
- folder: 'portfolio'
5
+ folder: 'Portfolio'
6
6
  type: file
7
7
  disableDeletion: true
8
8
  editable: false
9
9
  options:
10
- path: /etc/grafana/provisioning/dashboards/portfolio
10
+ path: /etc/grafana/provisioning/dashboards/Portfolio
@@ -1,9 +1,6 @@
1
1
  networks:
2
2
  eth_portfolio:
3
3
 
4
- volumes:
5
- grafana_data: {}
6
-
7
4
  services:
8
5
  grafana:
9
6
  image: grafana/grafana:10.2.0
@@ -22,7 +19,6 @@ services:
22
19
  #command: >
23
20
  # sh -c "grafana-cli plugins install frser-sqlite-datasource && /run.sh"
24
21
  volumes:
25
- - grafana_data:/var/lib/grafana
26
22
  - ./.grafana/:/etc/grafana/provisioning/
27
23
  networks:
28
24
  - eth_portfolio
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: eth_portfolio_temp
3
- Version: 0.0.29.dev0
3
+ Version: 0.0.31.dev0
4
4
  Summary: eth-portfolio makes it easy to analyze your portfolio.
5
5
  Home-page: https://github.com/BobTheBuidler/eth-portfolio
6
6
  Author: BobTheBuidler
@@ -1,30 +1,32 @@
1
- bb56d21cd75f4f6de8f2__mypyc.cpython-312-darwin.so,sha256=M68vKQJ433LakR3teitJj2p_CfddMgvdP8D6WiuJJGc,485984
1
+ 295eace8438df6ec133b__mypyc.cpython-312-darwin.so,sha256=O_yrfQw1T6GrH7t3h2f5SlOA2mEratptLhSivna_QAw,486752
2
2
  eth_portfolio/address.py,sha256=HQICTWIesTZgEbLTH7bQlehBIX5m_ZbppA5bAlnONhI,14091
3
3
  eth_portfolio/_cache.py,sha256=PYkR-yExjuwd_t7swv4euxL2daJ-VFwh3EMb3MciRJE,4745
4
- eth_portfolio/_shitcoins.cpython-312-darwin.so,sha256=dMYBPSWnkgX10hMKNsG147X9EoVWzkPzk02-vQZ-Obc,50656
4
+ eth_portfolio/_shitcoins.cpython-312-darwin.so,sha256=tPAZRVWm38HNq6wfyNli4tflGWOW2x0aNi7uc0DFHOw,50656
5
5
  eth_portfolio/_argspec.py,sha256=VzUZkbDkmOSgNUZBGbGblqtxBfDcmBAB89dY2OX0j-U,1595
6
- eth_portfolio/constants.cpython-312-darwin.so,sha256=Wa0iJdG0lhBCJCoLVw3_3gTjJDMU3Iu1UanQJCXa0ZQ,50656
6
+ eth_portfolio/constants.cpython-312-darwin.so,sha256=FkhSQLgzCeFUOL-xhqXPFV-lmTWNH0DxuRqZ9b7lceg,50656
7
7
  eth_portfolio/_submodules.py,sha256=J8ht9bAAvblUXqwOGN7UIOXUPxrTiq7m1RWiB0-ObaE,2190
8
- eth_portfolio/constants.py,sha256=arJcI-_N8rcFBQTTHsobRdc8FkxRfP8LZk_5LBGzrBQ,2399
8
+ eth_portfolio/constants.py,sha256=mnJRzVpBqBumLBxNUH4-qbt9CGXOqv-UtG82BHQdMpE,2461
9
9
  eth_portfolio/__init__.py,sha256=0sO4cSJaLYwJfnfVOJRFw7p5_Lzhsr95YuJ1aNQM83A,500
10
10
  eth_portfolio/_decimal.py,sha256=nuUl6DZHCtrbBN7snwvs4LLaoJ5k7mn3dt4qmlFCkTU,4731
11
- eth_portfolio/buckets.py,sha256=JXRJ7zg0ELeggqmb10-pr1MqMGQW3rccGFu_Oz-RepQ,5893
11
+ eth_portfolio/buckets.py,sha256=KEPK-ecZl4GMt5Layqdh0vMtCrd7uWIVJiZ697PRLFw,6227
12
12
  eth_portfolio/_decorators.py,sha256=_ZSurUFEIwZRiMFMhLcIXkD-Ey1CqfBqGaE24hLzOuA,2815
13
+ eth_portfolio/_stableish.cpython-312-darwin.so,sha256=pWvNm-sRUjr6wDrZR1-iGZnPFKX_x_Al2SV4mLNp4rs,50656
14
+ eth_portfolio/_stableish.py,sha256=BJUhGhJ9bci96ydcTjVeLR-DbvUaFgnXBP59FdZqg6I,1644
13
15
  eth_portfolio/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- eth_portfolio/_shitcoins.py,sha256=RQWk6vlb7ldKQ8J1ZDznR_oRo1tE-eF4-ZnducB9Y8A,13784
16
+ eth_portfolio/_shitcoins.py,sha256=eyWkQGx6HpQGf1HsNOMtGjRLvqP3uh3hwO9Ubw8eUSY,14000
15
17
  eth_portfolio/_config.py,sha256=mw-OA3M8rUA2hqy5wNt30AZRHkWFgR8K2sJg0o5Baxg,98
16
18
  eth_portfolio/_exceptions.py,sha256=bw3IdXhqrWxeFqYLm7pJZqRHKZas_cCg8A5Ih1WQEqQ,2433
17
19
  eth_portfolio/portfolio.py,sha256=KljK3FZQMtRQLs1D-HHgCN-DVoZ6ZzEdmclmF3__oz0,24243
18
20
  eth_portfolio/_utils.py,sha256=j1LncNsKQWAC3mnnXtGIr-A7PXUEOPKB7zS995YW0yo,7360
19
- eth_portfolio/_config.cpython-312-darwin.so,sha256=RmNj5LuGSg0nXgf-xliuTFEnQEB0h9cIYQ_yLI1bMBM,50640
20
- eth_portfolio/_argspec.cpython-312-darwin.so,sha256=CxM4Dd2pjg5uCGEr0HN62EzCXUsskV988pGHgatmY8A,50640
21
- eth_portfolio/_loaders/balances.cpython-312-darwin.so,sha256=fQMFIGz_G7BPRALnT7ZqRps8h17b-uCi0Bt61ABwI6k,50656
21
+ eth_portfolio/_config.cpython-312-darwin.so,sha256=ZagTVjmAudtTwpR1EB4dArKrmbSpW75s_Mn0U3vhYnc,50640
22
+ eth_portfolio/_argspec.cpython-312-darwin.so,sha256=LVjx-xE1Tyz9dlWUOwgAkqcMoRRZmdDbfFXihDDixbY,50640
23
+ eth_portfolio/_loaders/balances.cpython-312-darwin.so,sha256=tKFRRqBD3ktAOxvDkIZrzg_posoyb7LjNh3YFjwJRyU,50656
22
24
  eth_portfolio/_loaders/transaction.py,sha256=FEYdoNDCgD6-mqZT9MuyYIEkdhG3iUwyNeMmqjpMGJw,9146
23
- eth_portfolio/_loaders/utils.cpython-312-darwin.so,sha256=T__Ojkp0z2b-w3qmXmgcb3v43tLzwFDFJapume3nklE,50648
25
+ eth_portfolio/_loaders/utils.cpython-312-darwin.so,sha256=6bRCKEP7uthZGeKI8zl-P1VEIBBG9XsgTlDUGsQJh_4,50648
24
26
  eth_portfolio/_loaders/__init__.py,sha256=lb45_0ak32Z7N3-Nx1CAoRKiZ1_w-_YGbmSCNuunro8,1702
25
27
  eth_portfolio/_loaders/_nonce.py,sha256=RQlsfycYxKe26Fjh_H7p-WHUJxScMgXU7a2FesfTD9s,6239
26
28
  eth_portfolio/_loaders/utils.py,sha256=my3Wg2Ip5gSWuzAWcoLQQEmVmAPhIHbBzQQc0iP1iCA,2258
27
- eth_portfolio/_loaders/_nonce.cpython-312-darwin.so,sha256=lmuwo0XaYyqPDLL-J51W9lAwZV6GR7KgyVUutorrYvY,50656
29
+ eth_portfolio/_loaders/_nonce.cpython-312-darwin.so,sha256=cVTBoS_B6lwwaYKSQpfsmIGbs4GkJThb9hsvKRDBD0s,50656
28
30
  eth_portfolio/_loaders/balances.py,sha256=BTWfkJIoSraUMe94Wuj8NPyg5EO0OByIjbXu7j6PZEo,3132
29
31
  eth_portfolio/_loaders/token_transfer.py,sha256=MEw95D2iKBYa_9vIatCHJGe7zEJuYUEC8P1mTjjRXlo,8524
30
32
  eth_portfolio/_ydb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -54,7 +56,7 @@ eth_portfolio/protocols/lending/README.md,sha256=OhZfsW8e-aD-q02g0maG9QGgW0Iietk
54
56
  eth_portfolio/protocols/lending/compound.py,sha256=bqnIevm7NWhk6nMfkMZUKlQuVWr-tXnuntX-4De1YZM,7252
55
57
  eth_portfolio/protocols/lending/unit.py,sha256=7oRvIkoKUm8IOnDv59pILSSJWFNNjwr4CR1gg2psW9M,1965
56
58
  eth_portfolio_scripts/_logging.py,sha256=B_rQMYt_1PhpwCOLBRpkKK6M1ljcF0wAIgqfPIsFUGU,354
57
- eth_portfolio_scripts/balances.cpython-312-darwin.so,sha256=uFf_3rTRwtcu4oIpk8H1jS7ELD76OxcnEGPdORrMciA,50656
59
+ eth_portfolio_scripts/balances.cpython-312-darwin.so,sha256=Pkp0C9NIA64jniXdscDFwRtTkFtYv3mvknSA0_vVnIY,50656
58
60
  eth_portfolio_scripts/_args.py,sha256=k6J6XkRe1VuN1DiyGuXLCR7NBSvzH5jnVChfzodKuB8,656
59
61
  eth_portfolio_scripts/__init__.py,sha256=TC5c4WZdzSHhTIBYuwzrAyzFuGzBmHiDX_g6ghO09jQ,261
60
62
  eth_portfolio_scripts/_portfolio.py,sha256=fDodXRCUo9EoGWEFBKMfWHCxo8ItAqqsWqD9X0jZYR0,6640
@@ -62,20 +64,20 @@ eth_portfolio_scripts/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVG
62
64
  eth_portfolio_scripts/balances.py,sha256=o94uA4FVgPE-chbaoQgQazfXQ0O8k6W_yk9JY2bgRpQ,1524
63
65
  eth_portfolio_scripts/main.py,sha256=A7N78d2hxoU-Xu-dITCRqZ7yRL2l5r26WWzXzMdbeYo,3520
64
66
  eth_portfolio_scripts/_utils.py,sha256=qyct1Mwf2-1DYj7BUWt2bocUfGKMap1l9sxUfHAjER0,2538
65
- eth_portfolio_scripts/docker/__init__.cpython-312-darwin.so,sha256=k8aLszYJuOaZ0uqk59gOFj-GpePLCZ22202648Tc9w0,50656
66
- eth_portfolio_scripts/docker/docker-compose.yaml,sha256=384qUv3SuBd3uUl2QUlzHCtUhhdvk9_2Z9sIZQczLMk,1875
67
+ eth_portfolio_scripts/docker/__init__.cpython-312-darwin.so,sha256=c6aTGe1nIOf6dkVJ6DFM9iWwimyDKuDOJ6_hcMyJI6o,50656
68
+ eth_portfolio_scripts/docker/docker-compose.yaml,sha256=wITbD5P28WM0dEgQeTD_7ZOXnKIArDzR4siIoyFdb9I,1808
67
69
  eth_portfolio_scripts/docker/docker_compose.py,sha256=K7_Y_8NeN5s0pb9WUamgfi9OppjpaU0Mlz2nDzewcRA,2226
68
70
  eth_portfolio_scripts/docker/check.py,sha256=E6_Ar4dr6HfVAgpwoDPcObIolikHKQr8VFkH01sOuIM,1745
69
71
  eth_portfolio_scripts/docker/__init__.py,sha256=ZXSIYcjp94c0O9o39BDGWju3YrCMLl4gtov7YChc9Ig,393
70
- eth_portfolio_scripts/docker/docker_compose.cpython-312-darwin.so,sha256=HV_EP_NZTKek4wz3PbUWkPdeyc5uApWKNmFi8zadVjg,50712
71
- eth_portfolio_scripts/docker/check.cpython-312-darwin.so,sha256=QL7Wse_GtvSv1aGkHij09UdL5yvnMd9XRmDRXQMhmWs,50664
72
+ eth_portfolio_scripts/docker/docker_compose.cpython-312-darwin.so,sha256=VLDPlW39RIwGBzHzvVeNB9bpHcP1L1AczjDKI9CiK1Y,50712
73
+ eth_portfolio_scripts/docker/check.cpython-312-darwin.so,sha256=UEy-vr_SNNfhRSb5nq__ePt2T8BpuF_iUqLYC6UsAxU,50664
72
74
  eth_portfolio_scripts/docker/.grafana/datasources/datasources.yml,sha256=pBE_0Nh_J7d9Fiy3Xu6vuac_HWCBcFsJJSV-ryjQR1Y,188
73
- eth_portfolio_scripts/docker/.grafana/dashboards/dashboards.yaml,sha256=EuZIcn-M_IgIS5ypqq1dzatZ6oABUnemV3TtFVcLQOE,202
74
- eth_portfolio_scripts/docker/.grafana/dashboards/portfolio/Balances.json,sha256=VjR4iokDM2TGrU8RucycMwcO_CzjOY-ipLJj7LSaxCI,68790
75
+ eth_portfolio_scripts/docker/.grafana/dashboards/dashboards.yaml,sha256=MynNDOk69IihoYdd2bL7j8CnRb2Co4gdqW7T4m6AaEU,202
76
+ eth_portfolio_scripts/docker/.grafana/dashboards/Portfolio/Balances.json,sha256=dBmjogLJRuixCHWSs4ROE0_FXb-PUbqWBHEdLoP-1MU,68788
75
77
  eth_portfolio_scripts/victoria/__init__.py,sha256=IUBwX_CRYWFchMf_S-IaLOKP2Vh6sxNIIhhy7YEOmeA,1922
76
78
  eth_portfolio_scripts/victoria/types.py,sha256=FJossvAvwNGkufmEk3JD_I10EEaCsOb-m6aeX_vGsUg,707
77
- eth_portfolio_temp-0.0.29.dev0.dist-info/RECORD,,
78
- eth_portfolio_temp-0.0.29.dev0.dist-info/WHEEL,sha256=V1loQ6TpxABu1APUg0MoTRBOzSKT5xVc3skizX-ovCU,136
79
- eth_portfolio_temp-0.0.29.dev0.dist-info/entry_points.txt,sha256=yqoC6X3LU1NA_-oJ6mloEYEPNmS-0hPS9OtEwgIeDGU,66
80
- eth_portfolio_temp-0.0.29.dev0.dist-info/top_level.txt,sha256=RFDADjpLoCyoOexqChHlvRDt5rzZtjEscRPIISyJCRc,64
81
- eth_portfolio_temp-0.0.29.dev0.dist-info/METADATA,sha256=vvfj6Ay7p7s7qidz9NX3Ea3YSmYltJYLQVJqrjCua34,775
79
+ eth_portfolio_temp-0.0.31.dev0.dist-info/RECORD,,
80
+ eth_portfolio_temp-0.0.31.dev0.dist-info/WHEEL,sha256=V1loQ6TpxABu1APUg0MoTRBOzSKT5xVc3skizX-ovCU,136
81
+ eth_portfolio_temp-0.0.31.dev0.dist-info/entry_points.txt,sha256=yqoC6X3LU1NA_-oJ6mloEYEPNmS-0hPS9OtEwgIeDGU,66
82
+ eth_portfolio_temp-0.0.31.dev0.dist-info/top_level.txt,sha256=CmTLi8Lvs3RulV5ZNdziaDVvF_WRsgRpM17GSMECxrg,64
83
+ eth_portfolio_temp-0.0.31.dev0.dist-info/METADATA,sha256=-Lagsr2on5gWi33WrI4Bv5IqG2_Hexlp_KVEIKOuHNA,775
@@ -1,3 +1,3 @@
1
- bb56d21cd75f4f6de8f2__mypyc
1
+ 295eace8438df6ec133b__mypyc
2
2
  eth_portfolio
3
3
  eth_portfolio_scripts