eth-portfolio-temp 0.2.7.dev0__cp311-cp311-win32.whl → 0.2.8.dev0__cp311-cp311-win32.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.cp311-win32.pyd +0 -0
  2. eth_portfolio/_argspec.cp311-win32.pyd +0 -0
  3. eth_portfolio/_cache.py +2 -2
  4. eth_portfolio/_config.cp311-win32.pyd +0 -0
  5. eth_portfolio/_db/utils.py +6 -8
  6. eth_portfolio/_decimal.py +11 -10
  7. eth_portfolio/_loaders/_nonce.cp311-win32.pyd +0 -0
  8. eth_portfolio/_loaders/balances.cp311-win32.pyd +0 -0
  9. eth_portfolio/_loaders/utils.cp311-win32.pyd +0 -0
  10. eth_portfolio/_shitcoins.cp311-win32.pyd +0 -0
  11. eth_portfolio/_shitcoins.py +15 -0
  12. eth_portfolio/_stableish.cp311-win32.pyd +0 -0
  13. eth_portfolio/_utils.py +0 -4
  14. eth_portfolio/constants.cp311-win32.pyd +0 -0
  15. eth_portfolio/structs/structs.py +2 -2
  16. eth_portfolio/typing/__init__.py +4 -4
  17. eth_portfolio_scripts/balances.cp311-win32.pyd +0 -0
  18. eth_portfolio_scripts/docker/__init__.cp311-win32.pyd +0 -0
  19. eth_portfolio_scripts/docker/check.cp311-win32.pyd +0 -0
  20. eth_portfolio_scripts/docker/docker-compose.yaml +1 -1
  21. eth_portfolio_scripts/docker/docker_compose.cp311-win32.pyd +0 -0
  22. {eth_portfolio_temp-0.2.7.dev0.dist-info → eth_portfolio_temp-0.2.8.dev0.dist-info}/METADATA +1 -1
  23. {eth_portfolio_temp-0.2.7.dev0.dist-info → eth_portfolio_temp-0.2.8.dev0.dist-info}/RECORD +26 -26
  24. {eth_portfolio_temp-0.2.7.dev0.dist-info → eth_portfolio_temp-0.2.8.dev0.dist-info}/WHEEL +0 -0
  25. {eth_portfolio_temp-0.2.7.dev0.dist-info → eth_portfolio_temp-0.2.8.dev0.dist-info}/entry_points.txt +0 -0
  26. {eth_portfolio_temp-0.2.7.dev0.dist-info → eth_portfolio_temp-0.2.8.dev0.dist-info}/top_level.txt +0 -0
Binary file
Binary file
eth_portfolio/_cache.py CHANGED
@@ -30,7 +30,7 @@ def cache_to_disk(fn: Callable[P, T]) -> Callable[P, T]:
30
30
  cache_path_for_fn = f"{BASE_PATH}{fn.__module__.replace('.', '/')}/{name}"
31
31
  logger = getLogger(f"eth_portfolio.cache_to_disk.{name}")
32
32
 
33
- def get_cache_file_path(args, kwargs):
33
+ def get_cache_file_path(args: tuple[Any, ...], kwargs: dict[str, Any]) -> str:
34
34
  # Create a unique filename based on the function arguments
35
35
  key = md5(dumps((args, sorted(kwargs.items())))).hexdigest()
36
36
  return join(cache_path_for_fn, f"{key}.json")
@@ -46,7 +46,7 @@ def cache_to_disk(fn: Callable[P, T]) -> Callable[P, T]:
46
46
 
47
47
  queue: PriorityQueue = PriorityQueue()
48
48
 
49
- async def cache_deco_worker_coro(func) -> NoReturn:
49
+ async def cache_deco_worker_coro(func: Callable[..., Any]) -> NoReturn:
50
50
  try:
51
51
  while True:
52
52
  _, fut, cache_path, args, kwargs = await queue.get()
Binary file
@@ -7,8 +7,7 @@ import evmspec
7
7
  import y._db.common
8
8
  import y._db.config as config
9
9
  from a_sync import PruningThreadPoolExecutor, a_sync
10
- from brownie import chain
11
- from eth_typing import ChecksumAddress
10
+ from eth_typing import ChecksumAddress, HexAddress
12
11
  from evmspec.data import _decode_hook
13
12
  from logging import getLogger
14
13
  from msgspec import ValidationError, json
@@ -32,7 +31,6 @@ from eth_portfolio._db.decorators import break_locks, requery_objs_on_diff_tx_er
32
31
  from eth_portfolio._db.entities import (
33
32
  AddressExtended,
34
33
  BlockExtended,
35
- ContractExtended,
36
34
  TokenExtended,
37
35
  )
38
36
  from eth_portfolio._decimal import Decimal
@@ -42,7 +40,7 @@ from eth_portfolio.typing import _P, _T, Fn
42
40
  logger = getLogger(__name__)
43
41
 
44
42
 
45
- def __bind():
43
+ def __bind() -> None:
46
44
  try:
47
45
  db.bind(**config.connection_settings)
48
46
  except BindingError as e:
@@ -176,7 +174,7 @@ def ensure_block(block: int) -> None:
176
174
  # )
177
175
 
178
176
 
179
- def is_token(address) -> bool:
177
+ def is_token(address: ChecksumAddress) -> bool:
180
178
  if address == EEE_ADDRESS:
181
179
  return False
182
180
  # with suppress(NonStandardERC20):
@@ -188,7 +186,7 @@ def is_token(address) -> bool:
188
186
  return get_event_loop().run_until_complete(_is_token(address))
189
187
 
190
188
 
191
- async def _is_token(address) -> bool:
189
+ async def _is_token(address: HexAddress) -> bool:
192
190
  # just breaking a weird lock, dont mind me
193
191
  if retval := await get_event_loop().run_in_executor(process, __is_token, address): # type: ignore [name-defined]
194
192
  logger.debug("%s is token")
@@ -197,7 +195,7 @@ async def _is_token(address) -> bool:
197
195
  return retval
198
196
 
199
197
 
200
- def __is_token(address) -> bool:
198
+ def __is_token(address: HexAddress) -> bool:
201
199
  with suppress(NonStandardERC20):
202
200
  erc = ERC20(address, asynchronous=True)
203
201
  if all(
@@ -322,7 +320,7 @@ async def get_transaction(sender: ChecksumAddress, nonce: int) -> Optional[Trans
322
320
  _decoded = 0
323
321
 
324
322
 
325
- async def _yield_to_loop():
323
+ async def _yield_to_loop() -> None:
326
324
  """dont let the event loop get congested, let your rpc begin work asap"""
327
325
  global _decoded
328
326
  _decoded += 1
eth_portfolio/_decimal.py CHANGED
@@ -3,6 +3,7 @@ import logging
3
3
  from typing import Union
4
4
 
5
5
  from evmspec.data import Wei
6
+ from typing_extensions import Self
6
7
 
7
8
 
8
9
  logger = logging.getLogger(__name__)
@@ -69,61 +70,61 @@ class Decimal(decimal.Decimal):
69
70
 
70
71
  return string
71
72
 
72
- def __add__(self, other):
73
+ def __add__(self, other) -> Self:
73
74
  try:
74
75
  return type(self)(super().__add__(other))
75
76
  except TypeError as e:
76
77
  raise TypeError(str(e), other) from e.__cause__
77
78
 
78
- def __radd__(self, other):
79
+ def __radd__(self, other) -> Self:
79
80
  try:
80
81
  return type(self)(super().__radd__(other))
81
82
  except TypeError as e:
82
83
  raise TypeError(str(e), other) from e.__cause__
83
84
 
84
- def __sub__(self, other):
85
+ def __sub__(self, other) -> Self:
85
86
  try:
86
87
  return type(self)(super().__sub__(other))
87
88
  except TypeError as e:
88
89
  raise TypeError(str(e), other) from e.__cause__
89
90
 
90
- def __rsub__(self, other):
91
+ def __rsub__(self, other) -> Self:
91
92
  try:
92
93
  return type(self)(super().__rsub__(other))
93
94
  except TypeError as e:
94
95
  raise TypeError(str(e), other) from e.__cause__
95
96
 
96
- def __mul__(self, other):
97
+ def __mul__(self, other) -> Self:
97
98
  try:
98
99
  return type(self)(super().__mul__(other))
99
100
  except TypeError as e:
100
101
  raise TypeError(str(e), other) from e.__cause__
101
102
 
102
- def __rmul__(self, other):
103
+ def __rmul__(self, other) -> Self:
103
104
  try:
104
105
  return type(self)(super().__rmul__(other))
105
106
  except TypeError as e:
106
107
  raise TypeError(str(e), other) from e.__cause__
107
108
 
108
- def __truediv__(self, other):
109
+ def __truediv__(self, other) -> Self:
109
110
  try:
110
111
  return type(self)(super().__truediv__(other))
111
112
  except TypeError as e:
112
113
  raise TypeError(str(e), other) from e.__cause__
113
114
 
114
- def __rtruediv__(self, other):
115
+ def __rtruediv__(self, other) -> Self:
115
116
  try:
116
117
  return type(self)(super().__rtruediv__(other))
117
118
  except TypeError as e:
118
119
  raise TypeError(str(e), other) from e.__cause__
119
120
 
120
- def __floordiv__(self, other):
121
+ def __floordiv__(self, other) -> Self:
121
122
  try:
122
123
  return type(self)(super().__floordiv__(other))
123
124
  except TypeError as e:
124
125
  raise TypeError(str(e), other) from e.__cause__
125
126
 
126
- def __rfloordiv__(self, other):
127
+ def __rfloordiv__(self, other) -> Self:
127
128
  try:
128
129
  return type(self)(super().__rfloordiv__(other))
129
130
  except TypeError as e:
Binary file
@@ -97,6 +97,21 @@ shitcoins: Final = {
97
97
  "0x0e1CD6d2715432e4DBedFE969b0Eb2867FF61d5b",
98
98
  "0x9aE357521153FB07bE6F5792CE7a49752638fbb7",
99
99
  # Generally looks like shit
100
+ "0xE8ED1fca5af1c7dd46A3D5bbDFf7e99749D9e0aa",
101
+ "0x00d0F0250364C431376cC64AADd3aa13c6A8998D",
102
+ "0x256099A072ea5fd35eC134758440413095967109",
103
+ "0xe975ACEb3b61a88A355B066D9cCC910CAb8b4853",
104
+ "0x59fF00f75b49089385377c7f7D905E193c9eb5e2",
105
+ "0x99304A346F8FD562336Fd3485301c02cEbE4F0ae",
106
+ "0x74b1C36268B5dC659aEEA588cb1683E96DaaB71a",
107
+ "0x92BF340B2c67be6911095675f744F9a3aD22d8F0",
108
+ "0xa635305B4a6A1E4A55Eb6A6B54a8D2a55e914F6f",
109
+ "0xC76f77Bff99Ec269050Ca929F4d37B00f012c65F",
110
+ "0x56BcBef8f5Ca4Fc224fE58187c66EA34d3A1ef4a",
111
+ "0xdc6050Ec75Bc4692333A1C301eB799e348d0b77e",
112
+ "0x0542e502cec25bD51b4f3461f4F704807FA1A6D8",
113
+ "0xc01e807Cc73469e9983B614A96847BC01332447d",
114
+ "0x87D38d662A4aae29BB60057e71AFf923C7523DC3",
100
115
  "0xDFC01a7956C0d151ae197274B974fA7527EbAFB9",
101
116
  "0xE256CF1C7caEff4383DabafEe6Dd53910F97213D",
102
117
  "0x7CD6143B8781dC7e0667e50DB02Eb6539799722F",
Binary file
eth_portfolio/_utils.py CHANGED
@@ -79,10 +79,6 @@ class Decimal(_decimal.Decimal):
79
79
 
80
80
  # TODO i forget why I had this lol, should I delete?
81
81
 
82
- def __init__(self, v) -> None:
83
- # assert not isinstance(v, _decimal.Decimal)
84
- super().__init__()
85
-
86
82
 
87
83
  async def _describe_err(token: AddressOrContract, block: Optional[Block]) -> str:
88
84
  """
Binary file
@@ -80,7 +80,7 @@ class _LedgerEntryBase(DictStruct, kw_only=True, frozen=True, omit_defaults=True
80
80
  The USD value of the cryptocurrency transferred in the {cls_name}, if price is known.
81
81
  """
82
82
 
83
- def __init_subclass__(cls, **kwargs):
83
+ def __init_subclass__(cls, **kwargs: Any) -> None:
84
84
  super().__init_subclass__(**kwargs)
85
85
 
86
86
  # Replace {cls_name} in attribute-level docstrings
@@ -273,7 +273,7 @@ class _TransactionBase(
273
273
  return self.transaction.yParity
274
274
 
275
275
  @property
276
- def __db_primary_key__(self):
276
+ def __db_primary_key__(self) -> Dict[str, tuple[int, Address] | int]:
277
277
  return {"from_address": (chain.id, self.from_address), "nonce": self.nonce}
278
278
 
279
279
 
@@ -43,7 +43,7 @@ from typing import (
43
43
  )
44
44
 
45
45
  from checksum_dict import DefaultChecksumDict
46
- from eth_typing import BlockNumber
46
+ from eth_typing import BlockNumber, HexAddress
47
47
  from pandas import DataFrame, concat
48
48
  from typing_extensions import ParamSpec, Self
49
49
  from y import Contract, ERC20
@@ -159,10 +159,10 @@ class TokenBalances(DefaultChecksumDict[Balance], _SummableNonNumericMixin): #
159
159
  raise
160
160
  self[token.address] += balance
161
161
 
162
- def __getitem__(self, key) -> Balance:
162
+ def __getitem__(self, key: HexAddress) -> Balance:
163
163
  return super().__getitem__(key) if key in self else Balance(token=key, block=self.block)
164
164
 
165
- def __setitem__(self, key, value):
165
+ def __setitem__(self, key: HexAddress, value: Balance) -> None:
166
166
  """
167
167
  Sets the balance for a given token address.
168
168
 
@@ -911,7 +911,7 @@ class PortfolioBalances(DefaultChecksumDict[WalletBalances], _SummableNonNumeric
911
911
  )
912
912
  self[wallet] += balances
913
913
 
914
- def __setitem__(self, key, value):
914
+ def __setitem__(self, key: HexAddress, value: WalletBalances) -> None:
915
915
  if not isinstance(value, WalletBalances):
916
916
  raise TypeError(
917
917
  f"value must be a `WalletBalances` object. You passed {value}"
@@ -47,7 +47,7 @@ services:
47
47
  restart: always
48
48
 
49
49
  victoria-metrics:
50
- image: victoriametrics/victoria-metrics:v1.125.1
50
+ image: victoriametrics/victoria-metrics:v1.126.0
51
51
  volumes:
52
52
  - ~/.eth-portfolio/data/victoria/:/victoria-metrics-data
53
53
  command:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: eth_portfolio_temp
3
- Version: 0.2.7.dev0
3
+ Version: 0.2.8.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,40 +1,40 @@
1
- 295eace8438df6ec133b__mypyc.cp311-win32.pyd,sha256=NpPeL3qh0BFfJHK6D9Qr4Q0RFTuQhNsZKKi1jo4CR8U,230912
1
+ 295eace8438df6ec133b__mypyc.cp311-win32.pyd,sha256=xTOtPaesXnm7NTiKpyzoHdimUNm0CJDErUpxp4zHqCw,232448
2
2
  eth_portfolio/__init__.py,sha256=5GmHYzhUX2gOC4MScgXnqS8x2MawbpWOuWPmqlvCotA,525
3
- eth_portfolio/_argspec.cp311-win32.pyd,sha256=yQw83HH206HoiRnNlyJsAkbhH0xnKPgagl4-p29IS-k,9216
3
+ eth_portfolio/_argspec.cp311-win32.pyd,sha256=dX9UXZkjwSjaY0BhKn9ZSHpo-mrCEv4xzc0mhE9tft4,9216
4
4
  eth_portfolio/_argspec.py,sha256=au8ycJ56-7UzbQVzYUOoMX9sToH0QNi2tS1O820xB3A,1637
5
- eth_portfolio/_cache.py,sha256=H8n8x0Xo-iHQ8Q-NPuk57mmbIG6qDj4Wal6_-tK9Pfs,4866
6
- eth_portfolio/_config.cp311-win32.pyd,sha256=z7cQoVbzJ4nKOPyz5JsK-Wi388dbdgQragqBXWJPXaY,9216
5
+ eth_portfolio/_cache.py,sha256=OntwbiDOrBV5JzHHDzJlxcEVrmKK5GG0uXeLeoDDbpA,4926
6
+ eth_portfolio/_config.cp311-win32.pyd,sha256=OR7JXhGtRmvSh858s3fT2TcUgp7xT5yhHR_Ew_xt15I,9216
7
7
  eth_portfolio/_config.py,sha256=BSOvFS4D0oqgVTtBbtW2g2kpL8Mk6xiP0PipfXs_91A,102
8
- eth_portfolio/_decimal.py,sha256=XhuxnVTAhJF6OILJ1MpbdwkAiy1D5NuS9jRmDRpCSYg,4886
8
+ eth_portfolio/_decimal.py,sha256=DwLUg8pzeTIREG2sHgRK48hoWmjelWNvpEKj10Ra7to,5002
9
9
  eth_portfolio/_decorators.py,sha256=AvB-q69MvaFe0Ykh1os6hSewcUujURQ9onqobMaONOM,2899
10
10
  eth_portfolio/_exceptions.py,sha256=xb5VmCtBtXy9WXu_1ofoG4j9BJsMQXMVydCJNUulrNY,2500
11
- eth_portfolio/_shitcoins.cp311-win32.pyd,sha256=uEunlyg6QbysELEKdU5JUyjUVO2Zwg14gSLTZ4TXD_s,9216
12
- eth_portfolio/_shitcoins.py,sha256=iKDhRsq0qtSm0nal1zyJp6Ny13UAZEW4C8xU5_lfse0,15866
13
- eth_portfolio/_stableish.cp311-win32.pyd,sha256=eg1r7iFMFgqxF7fzebTnd_cIVaOsjmQHV9k-HGkIEPs,9216
11
+ eth_portfolio/_shitcoins.cp311-win32.pyd,sha256=aRokuAN3Czn_eHhl84VoHk_bfY_rgtBNhmxNYWkYx14,9216
12
+ eth_portfolio/_shitcoins.py,sha256=3LhVzMg8CkYDIClF1jIcrwT9Tofj4vZW7YjQchadpjk,16691
13
+ eth_portfolio/_stableish.cp311-win32.pyd,sha256=GQzK08SkzT9u7eGizvgLxuazu17HYMy-kSgRDCCeNgs,9216
14
14
  eth_portfolio/_stableish.py,sha256=8pdlYe2YcZ8rTzdCzg-ihRQLPtSFXBNDjtnvuTgPRcQ,2063
15
15
  eth_portfolio/_submodules.py,sha256=zne-2YyVFoKHwkLuHx8cdz5lpcwwSDw1edJ9v8G4c1A,2263
16
- eth_portfolio/_utils.py,sha256=ZOSA_pBR0f_Qfsi-iV9EuScc2WkqV_fx7pBtHvdnz_U,7999
16
+ eth_portfolio/_utils.py,sha256=MO5TyOyRGQMScScNFHzHNdT2xxoslS0DOXwqD37XeA8,7879
17
17
  eth_portfolio/address.py,sha256=RrFIWSx6jSITwh16Hqs6W6S9fz1KEaebQEk1vqL3HwI,14536
18
18
  eth_portfolio/buckets.py,sha256=pm2-_8VbGKpe6hHM6eysj17JK7Rhngr9-_gpVi-J1uA,6889
19
- eth_portfolio/constants.cp311-win32.pyd,sha256=a0-HVvzUxCnj_jqyC7MpF_90tkXHfrg1WiTsAf0EFpU,9216
19
+ eth_portfolio/constants.cp311-win32.pyd,sha256=WFYTVUIXzy963y4nCsvxn6lbdxnnyzhlWgqcWksHV7A,9216
20
20
  eth_portfolio/constants.py,sha256=rUXWFaCGrrF_qzIdDvVzakQJsLnrGtFNn2EgRbZh8fQ,3741
21
21
  eth_portfolio/portfolio.py,sha256=FSJ1_FG120dN5vWSPyhbHfyuFHdmFqTHJ5_Ci-4Rts4,24909
22
22
  eth_portfolio/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  eth_portfolio/_db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
24
  eth_portfolio/_db/decorators.py,sha256=RS-RiuOAgbrMKQpCwwAtP3lPRs8vKM6aPhh9LP4SwtI,5308
25
25
  eth_portfolio/_db/entities.py,sha256=1Z1AsR400SJYzDrDGxUJt1HuSKB3ErvxIytFtju7UHU,10345
26
- eth_portfolio/_db/utils.py,sha256=j3bPtbbhFQ0wARkZwOnsmaxS-TY72HaWJSYno5N4iZI,21567
26
+ eth_portfolio/_db/utils.py,sha256=3P4EVQ5cHLbDrAnBESAIKhoDpJLXLS8IDJNnsh7T2Sc,21586
27
27
  eth_portfolio/_ledgers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
28
  eth_portfolio/_ledgers/address.py,sha256=ZI4lVsxtXoffDHFBm0pUrSKU42KleBKThNdDHm1Nqtg,33823
29
29
  eth_portfolio/_ledgers/portfolio.py,sha256=rAr5S1tksgLPUOK1J1FbIWgvTQNzTqrRp8oukiP2BTo,13427
30
30
  eth_portfolio/_loaders/__init__.py,sha256=YrBeRuA48cN2Bg2R2nXiNt1CsUIG_7N6ENIpY6aISPo,1735
31
- eth_portfolio/_loaders/_nonce.cp311-win32.pyd,sha256=r-RsxLFxrN61v080yAW57cU9iQPF9e1Xo7_JITSLXew,9216
31
+ eth_portfolio/_loaders/_nonce.cp311-win32.pyd,sha256=AwT2Xj-OIQFry_fxNqj3xkD-VFMxaYcy3cfQcrMYRag,9216
32
32
  eth_portfolio/_loaders/_nonce.py,sha256=bA-5fZG8ALuADgQGrnoxt6p6j7QEwI6vIGnZRF1Zx7M,6481
33
- eth_portfolio/_loaders/balances.cp311-win32.pyd,sha256=0a6SsqEs5DK0FjiuStt2fSqBONEZTAiJWLEgzwMFDUk,9216
33
+ eth_portfolio/_loaders/balances.cp311-win32.pyd,sha256=OLWnpJGecLvZjw0zqKUaV2MhHUo8iTHD3NfeoZLwnHk,9216
34
34
  eth_portfolio/_loaders/balances.py,sha256=_v-x1M3lzDHPt8svHmCcpxZKw0BaGHfZimhkwgphY8A,3226
35
35
  eth_portfolio/_loaders/token_transfer.py,sha256=58NoMc28CRSjuxP-_kNmXL7jS1oEFZayTZ9VAKQcVow,8741
36
36
  eth_portfolio/_loaders/transaction.py,sha256=WXsiNahcb5jNbXCX2-ceao3Cybfi-7_th8bnw9elmP0,9386
37
- eth_portfolio/_loaders/utils.cp311-win32.pyd,sha256=INhDBixJSY6mhSItSxDIuIPBIin24cRGMvAYkQardkY,9216
37
+ eth_portfolio/_loaders/utils.cp311-win32.pyd,sha256=g2gFsya5q0Kz6BVquqD--NEsmFkJD1Y86X2_VL6zpdY,9216
38
38
  eth_portfolio/_loaders/utils.py,sha256=_nhPmGq_h_y_JPU9vXvhzqoKAWtgLRhYy_PdJXbyUdw,2326
39
39
  eth_portfolio/_ydb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
40
  eth_portfolio/_ydb/token_transfers.py,sha256=HUTeWShcQD4IzocTHmBOreml0jbVttLcaed1fNiJ2qg,5297
@@ -52,32 +52,32 @@ eth_portfolio/protocols/lending/maker.py,sha256=CoQhaD7cJwfvIlXa7g9c9oHPPZcsgfd_
52
52
  eth_portfolio/protocols/lending/unit.py,sha256=OQGDZWdsTOUL4jOKJ1xef6wXhWLHnsRFJjAzn0XSBmM,2011
53
53
  eth_portfolio/structs/__init__.py,sha256=x-9CdKe8XMukp8Kjr_lD49ohrSd0iGEvvsMAHtAPrLI,1486
54
54
  eth_portfolio/structs/modified.py,sha256=QIuFh-u5VTHe0oborn3oHAiAGD0wqhUQW7XFJVZu2KI,1853
55
- eth_portfolio/structs/structs.py,sha256=3y-evrdOqNme51OnOsOR7s7PZLeqX_pFqBCzhZLIE_o,20437
56
- eth_portfolio/typing/__init__.py,sha256=wRJFZzXCPS8EOcDgvI3gYQdbqqYtrQ5aMw7YGnMeUno,58674
55
+ eth_portfolio/structs/structs.py,sha256=TDJ4u3E_H8uG7iX-C1Pux8TesY2zXRhQUJxmN7cp4cc,20490
56
+ eth_portfolio/typing/__init__.py,sha256=v_KbOgqTKcR4y-05Bel_mg6uAV-IsGurGR-jDW46SMg,58763
57
57
  eth_portfolio/typing/balance/single.py,sha256=NmtWXqCWMIkaoyvfL67Rh0wWurLf55fVaDkyUxZ27oY,6501
58
58
  eth_portfolio_scripts/__init__.py,sha256=DIBnQmjmhmNL1lO9Lq4QptrZmC7u6_N3p9zRjcZ9vbY,281
59
59
  eth_portfolio_scripts/_args.py,sha256=M33vPkja62XEJeCZAqacNSBCqbzse07wepwyBOtkvVo,682
60
60
  eth_portfolio_scripts/_logging.py,sha256=EgW8ozQZLAgt_cUgqe5BYZLMVQwB6X-0gq0T-BvqlTY,369
61
61
  eth_portfolio_scripts/_portfolio.py,sha256=u_mdXLKbrYj1OEra24RovM0Lg9ZcMFthHYdVCjGTa4M,7334
62
62
  eth_portfolio_scripts/_utils.py,sha256=lj2B79G8YX21ATNp_v-onsU_kNFZF3unBclCVp3AIn8,3163
63
- eth_portfolio_scripts/balances.cp311-win32.pyd,sha256=xU9jBnX71PUo1Euzo10Bs4rn1UulfRaZyy0q5_K9MCM,9216
63
+ eth_portfolio_scripts/balances.cp311-win32.pyd,sha256=SnqmWH-A3FNAM-8ACGrOwrxuNkN-6k2M9OzVLIblcxc,9216
64
64
  eth_portfolio_scripts/balances.py,sha256=Fr8NGCt5yhvu7LnLH27oOVKcL2XwowmAVezXUOIEzd0,1640
65
65
  eth_portfolio_scripts/main.py,sha256=upkr0Vc758qti___5kyDsE0zcfwiZju4xvAQsKsu9iw,3804
66
66
  eth_portfolio_scripts/py.typed,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
67
- eth_portfolio_scripts/docker/__init__.cp311-win32.pyd,sha256=BWf__T_zVutT4f0UjY67-Q5Wt32926zPe7j9gdc3GX0,9216
67
+ eth_portfolio_scripts/docker/__init__.cp311-win32.pyd,sha256=iYq-KlF8X7vr1Jpj0DWvWA7ErtAARl2oJwsCODZijfs,9216
68
68
  eth_portfolio_scripts/docker/__init__.py,sha256=R27uZPLUEK2--fb9IrxrDUk6R5_IVFJSv7s_ia7p5Xk,409
69
- eth_portfolio_scripts/docker/check.cp311-win32.pyd,sha256=ggk51F_zqDos4989-piZh_ap9iNvEH0VCRiJ1dXKf8w,9216
69
+ eth_portfolio_scripts/docker/check.cp311-win32.pyd,sha256=czAT4WfQAs7vhgCWZRmmBLMvkUYpbb6omyzuVDjEUaA,9216
70
70
  eth_portfolio_scripts/docker/check.py,sha256=JFxUxGRSz20EgjKqCLBkCqR4N1ihzO_3ykU3jPzp_UU,1801
71
- eth_portfolio_scripts/docker/docker-compose.yaml,sha256=P2ZJAQBXRQX-nZ5CoNm__R2KihsA0njoTwJcIWn1_s0,1870
72
- eth_portfolio_scripts/docker/docker_compose.cp311-win32.pyd,sha256=0MfUzARmkSmpTD_KGJGqgM4exp_JTcrvPv4f-v4EgIw,9216
71
+ eth_portfolio_scripts/docker/docker-compose.yaml,sha256=uFoU1B9r7M-sDr2k6In417XVHiP7j0_omcmDoWj7kDE,1870
72
+ eth_portfolio_scripts/docker/docker_compose.cp311-win32.pyd,sha256=1gkP2eneCaxre-h03fCXbM-K6m59la09aDn7G8KAX7I,9216
73
73
  eth_portfolio_scripts/docker/docker_compose.py,sha256=tewgCWZP6g9sVFHbQnGC1au-bTnvuvXMZgTKKgpmeOc,2304
74
74
  eth_portfolio_scripts/docker/.grafana/dashboards/dashboards.yaml,sha256=wktTI-OAdF_khhbciZFo4Gt2V9bUjbe7GLqwdzTKf0U,212
75
75
  eth_portfolio_scripts/docker/.grafana/dashboards/Portfolio/Balances.json,sha256=XGMV8e4tDak53e9bmymwAB4uqZmAIcU5JlRT3OiwTeU,70750
76
76
  eth_portfolio_scripts/docker/.grafana/datasources/datasources.yml,sha256=8PPH_QDhfbRRh3IidskW46rifJejloa1a9I1KCw2FTk,199
77
77
  eth_portfolio_scripts/victoria/__init__.py,sha256=R0VvKiAC0e57zZNihcCptVkFO5CBHIbp2trFYuyY01M,2038
78
78
  eth_portfolio_scripts/victoria/types.py,sha256=KNq8aIiNXeiDnCKL7xycmouo0YeKI-sbQkIcTymcSYk,745
79
- eth_portfolio_temp-0.2.7.dev0.dist-info/METADATA,sha256=xkrxuKfdWCyxLdHGlNd9KvMgxDAGXUENBG2B8C56jms,804
80
- eth_portfolio_temp-0.2.7.dev0.dist-info/WHEEL,sha256=Ri8zddKrjGdgjlj1OpSsvpDnvHfnQhMQWi3E_v2pqng,97
81
- eth_portfolio_temp-0.2.7.dev0.dist-info/entry_points.txt,sha256=yqoC6X3LU1NA_-oJ6mloEYEPNmS-0hPS9OtEwgIeDGU,66
82
- eth_portfolio_temp-0.2.7.dev0.dist-info/top_level.txt,sha256=CmTLi8Lvs3RulV5ZNdziaDVvF_WRsgRpM17GSMECxrg,64
83
- eth_portfolio_temp-0.2.7.dev0.dist-info/RECORD,,
79
+ eth_portfolio_temp-0.2.8.dev0.dist-info/METADATA,sha256=MSkWtmQZ80QwW1_fslbkp-bDbkHgMJbvBNTLUQs0ZQs,804
80
+ eth_portfolio_temp-0.2.8.dev0.dist-info/WHEEL,sha256=Ri8zddKrjGdgjlj1OpSsvpDnvHfnQhMQWi3E_v2pqng,97
81
+ eth_portfolio_temp-0.2.8.dev0.dist-info/entry_points.txt,sha256=yqoC6X3LU1NA_-oJ6mloEYEPNmS-0hPS9OtEwgIeDGU,66
82
+ eth_portfolio_temp-0.2.8.dev0.dist-info/top_level.txt,sha256=CmTLi8Lvs3RulV5ZNdziaDVvF_WRsgRpM17GSMECxrg,64
83
+ eth_portfolio_temp-0.2.8.dev0.dist-info/RECORD,,