dao-treasury 0.0.38__tar.gz → 0.0.39__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/PKG-INFO +1 -1
  2. dao_treasury-0.0.39/dao_treasury/sorting/rules/ignore/__init__.py +2 -0
  3. dao_treasury-0.0.39/dao_treasury/sorting/rules/ignore/shitcoins.py +24 -0
  4. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/streams/llamapay.py +14 -2
  5. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury.egg-info/PKG-INFO +1 -1
  6. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury.egg-info/SOURCES.txt +1 -0
  7. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/pyproject.toml +1 -1
  8. dao_treasury-0.0.38/dao_treasury/sorting/rules/ignore/__init__.py +0 -1
  9. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/MANIFEST.in +0 -0
  10. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/README.md +0 -0
  11. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/.grafana/provisioning/dashboards/dashboards.yaml +0 -0
  12. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/.grafana/provisioning/dashboards/streams/LlamaPay.json +0 -0
  13. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/.grafana/provisioning/dashboards/summary/Monthly.json +0 -0
  14. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/.grafana/provisioning/dashboards/transactions/Treasury Transactions.json +0 -0
  15. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/.grafana/provisioning/dashboards/treasury/Cashflow (Including Unsorted).json +0 -0
  16. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/.grafana/provisioning/dashboards/treasury/Cashflow.json +0 -0
  17. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/.grafana/provisioning/dashboards/treasury/Operating Cashflow.json +0 -0
  18. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/.grafana/provisioning/dashboards/treasury/Treasury.json +0 -0
  19. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/.grafana/provisioning/datasources/datasources.yaml +0 -0
  20. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/ENVIRONMENT_VARIABLES.py +0 -0
  21. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/__init__.py +0 -0
  22. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/_docker.py +0 -0
  23. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/_nicknames.py +0 -0
  24. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/_wallet.py +0 -0
  25. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/constants.py +0 -0
  26. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/db.py +0 -0
  27. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/docker-compose.yaml +0 -0
  28. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/main.py +0 -0
  29. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/py.typed +0 -0
  30. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/sorting/__init__.py +0 -0
  31. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/sorting/_matchers.py +0 -0
  32. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/sorting/_rules.py +0 -0
  33. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/sorting/factory.py +0 -0
  34. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/sorting/rule.py +0 -0
  35. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/sorting/rules/__init__.py +0 -0
  36. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/sorting/rules/ignore/llamapay.py +0 -0
  37. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/streams/__init__.py +0 -0
  38. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/treasury.py +0 -0
  39. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury/types.py +0 -0
  40. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury.egg-info/dependency_links.txt +0 -0
  41. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury.egg-info/not-zip-safe +0 -0
  42. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury.egg-info/requires.txt +0 -0
  43. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/dao_treasury.egg-info/top_level.txt +0 -0
  44. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/setup.cfg +0 -0
  45. {dao_treasury-0.0.38 → dao_treasury-0.0.39}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dao_treasury
3
- Version: 0.0.38
3
+ Version: 0.0.39
4
4
  Summary: Produce comprehensive financial reports for your on-chain org
5
5
  Classifier: Development Status :: 3 - Alpha
6
6
  Classifier: Intended Audience :: Developers
@@ -0,0 +1,2 @@
1
+ from dao_treasury.sorting.rules.ignore.llamapay import *
2
+ from dao_treasury.sorting.rules.ignore.shitcoins import *
@@ -0,0 +1,24 @@
1
+ """This module is used to ignore any transactions that involve shitcoins in the :obj:`~eth_portfolio.SHITCOINS` mapping."""
2
+
3
+ from typing import Final
4
+
5
+ import eth_portfolio
6
+
7
+ from dao_treasury import TreasuryTx
8
+ from dao_treasury.constants import CHAINID
9
+ from dao_treasury.sorting.factory import ignore
10
+
11
+
12
+ SHITCOINS: Final = eth_portfolio.SHITCOINS[CHAINID]
13
+
14
+
15
+ @ignore("Shitcoin")
16
+ def is_shitcoin(tx: TreasuryTx) -> bool:
17
+ """
18
+ This category is for any token transfers involving any shitcoin which was added
19
+ to your database before the shitcoin was added to :obj:`eth_portfolio.SHITCOINS`.
20
+
21
+ Since the tx would now be excluded from the db entirely if you did a clean pull,
22
+ we can safely ignore it.
23
+ """
24
+ return tx.token.address.address in SHITCOINS
@@ -22,7 +22,7 @@ from eth_typing import BlockNumber, ChecksumAddress, HexAddress, HexStr
22
22
  from tqdm.asyncio import tqdm_asyncio
23
23
 
24
24
  import y
25
- from y.time import UnixTimestamp
25
+ from y.time import NoBlockFound, UnixTimestamp
26
26
  from y.utils.events import decode_logs, get_logs_asap
27
27
 
28
28
  from dao_treasury import constants
@@ -338,7 +338,19 @@ class LlamaPayProcessor:
338
338
  check_at = date_obj + timedelta(days=1) - timedelta(seconds=1)
339
339
  if check_at > now(tz=_UTC):
340
340
  await sleep((check_at - now(tz=_UTC)).total_seconds())
341
- block = await get_block_at_timestamp(check_at, sync=False)
341
+
342
+ while True:
343
+ try:
344
+ block = await get_block_at_timestamp(check_at, sync=False)
345
+ except NoBlockFound:
346
+ sleep_time = (check_at - now(tz=_UTC)).total_seconds()
347
+ logger.debug(
348
+ "no block found for %s, sleeping %ss", check_at, sleep_time
349
+ )
350
+ await sleep(sleep_time)
351
+ else:
352
+ break
353
+
342
354
  price_fut = create_task(get_price(stream_token, block, sync=False))
343
355
  start_timestamp = await _get_start_timestamp(stream_id, block)
344
356
  if start_timestamp == 0:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dao-treasury
3
- Version: 0.0.38
3
+ Version: 0.0.39
4
4
  Summary: Produce comprehensive financial reports for your on-chain org
5
5
  Classifier: Development Status :: 3 - Alpha
6
6
  Classifier: Intended Audience :: Developers
@@ -37,5 +37,6 @@ dao_treasury/sorting/rule.py
37
37
  dao_treasury/sorting/rules/__init__.py
38
38
  dao_treasury/sorting/rules/ignore/__init__.py
39
39
  dao_treasury/sorting/rules/ignore/llamapay.py
40
+ dao_treasury/sorting/rules/ignore/shitcoins.py
40
41
  dao_treasury/streams/__init__.py
41
42
  dao_treasury/streams/llamapay.py
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "dao-treasury"
3
- version = "0.0.38"
3
+ version = "0.0.39"
4
4
  description = "Produce comprehensive financial reports for your on-chain org"
5
5
  authors = ["BobTheBuidler <bobthebuidlerdefi@gmail.com>"]
6
6
  license = "MIT"
@@ -1 +0,0 @@
1
- from dao_treasury.sorting.rules.ignore.llamapay import *
File without changes
File without changes
File without changes
File without changes