yearn-treasury 0.0.33__tar.gz → 0.0.34__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.

Potentially problematic release.


This version of yearn-treasury might be problematic. Click here for more details.

Files changed (87) hide show
  1. {yearn_treasury-0.0.33/yearn_treasury.egg-info → yearn_treasury-0.0.34}/PKG-INFO +2 -2
  2. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/pyproject.toml +2 -2
  3. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/_db.py +8 -0
  4. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/_logging.py +15 -1
  5. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/shitcoins.py +21 -6
  6. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34/yearn_treasury.egg-info}/PKG-INFO +2 -2
  7. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury.egg-info/requires.txt +1 -1
  8. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/MANIFEST.in +0 -0
  9. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/README.md +0 -0
  10. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/setup.cfg +0 -0
  11. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/setup.py +0 -0
  12. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/__init__.py +0 -0
  13. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/_ens.py +0 -0
  14. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/address_labels.yaml +0 -0
  15. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/budget/__init__.py +0 -0
  16. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/budget/_request.py +0 -0
  17. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/budget/_requests.py +0 -0
  18. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/constants.py +0 -0
  19. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/main.py +0 -0
  20. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/py.typed +0 -0
  21. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/__init__.py +0 -0
  22. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/constants.py +0 -0
  23. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/cost_of_revenue/__init__.py +0 -0
  24. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/cost_of_revenue/gas.py +0 -0
  25. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/cost_of_revenue/match_on_hash.yaml +0 -0
  26. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/expense/__init__.py +0 -0
  27. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/expense/general.py +0 -0
  28. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/expense/infrastructure.py +0 -0
  29. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/expense/match_on_hash.yaml +0 -0
  30. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/expense/match_on_to_address.yaml +0 -0
  31. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/expense/people.py +0 -0
  32. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/expense/security.py +0 -0
  33. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/__init__.py +0 -0
  34. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/general.py +0 -0
  35. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/maker.py +0 -0
  36. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/passthru.py +0 -0
  37. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/staking.py +0 -0
  38. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/__init__.py +0 -0
  39. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/_skip_tokens.py +0 -0
  40. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/aave.py +0 -0
  41. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/compound.py +0 -0
  42. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/conversion_factory.py +0 -0
  43. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/cowswap.py +0 -0
  44. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/curve.py +0 -0
  45. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/gearbox.py +0 -0
  46. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/iearn.py +0 -0
  47. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/otc.py +0 -0
  48. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/pooltogether.py +0 -0
  49. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/synthetix.py +0 -0
  50. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/uniswap.py +0 -0
  51. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/unwrapper.py +0 -0
  52. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/vaults.py +0 -0
  53. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/woofy.py +0 -0
  54. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/yfi.py +0 -0
  55. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/swaps/yla.py +0 -0
  56. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/unit.py +0 -0
  57. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/weth.py +0 -0
  58. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/ignore/ygov.py +0 -0
  59. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/other_expense/__init__.py +0 -0
  60. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/other_expense/boost.py +0 -0
  61. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/other_expense/bugs.py +0 -0
  62. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/other_expense/donations.py +0 -0
  63. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/other_expense/dyfi.py +0 -0
  64. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/other_expense/events.py +0 -0
  65. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/other_expense/match_on_hash.yaml +0 -0
  66. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/other_expense/match_on_to_address.yaml +0 -0
  67. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/other_expense/misc.py +0 -0
  68. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/other_expense/revshare.py +0 -0
  69. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/other_income/__init__.py +0 -0
  70. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/other_income/airdrops.py +0 -0
  71. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/other_income/match_on_hash.yaml +0 -0
  72. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/other_income/misc.py +0 -0
  73. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/revenue/__init__.py +0 -0
  74. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/revenue/bribes.py +0 -0
  75. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/revenue/farming.py +0 -0
  76. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/revenue/keepcoins.py +0 -0
  77. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/revenue/match_on_hash.yaml +0 -0
  78. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/revenue/seasolver.py +0 -0
  79. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/revenue/vaults.py +0 -0
  80. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/rules/revenue/yteams.py +0 -0
  81. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/vaults.py +0 -0
  82. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury/wallets.yaml +0 -0
  83. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury.egg-info/SOURCES.txt +0 -0
  84. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury.egg-info/dependency_links.txt +0 -0
  85. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury.egg-info/entry_points.txt +0 -0
  86. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury.egg-info/not-zip-safe +0 -0
  87. {yearn_treasury-0.0.33 → yearn_treasury-0.0.34}/yearn_treasury.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yearn_treasury
3
- Version: 0.0.33
3
+ Version: 0.0.34
4
4
  Summary: This WIP library runs the eth-portfolio and dao-treasury exporters for the Yearn Finance treasury.
5
5
  Classifier: Development Status :: 3 - Alpha
6
6
  Classifier: Intended Audience :: Developers
@@ -15,7 +15,7 @@ Classifier: Operating System :: OS Independent
15
15
  Classifier: Topic :: Software Development :: Libraries
16
16
  Requires-Python: >=3.10,<3.13
17
17
  Description-Content-Type: text/markdown
18
- Requires-Dist: dao-treasury<0.1,>=0.0.50
18
+ Requires-Dist: dao-treasury<0.1,>=0.0.51
19
19
  Requires-Dist: eth-brownie<1.23,>=1.21.0
20
20
  Dynamic: classifier
21
21
  Dynamic: description
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "yearn-treasury"
3
- version = "0.0.33"
3
+ version = "0.0.34"
4
4
  description = "This WIP library runs the eth-portfolio and dao-treasury exporters for the Yearn Finance treasury."
5
5
  authors = ["Bob The Buidler <you@example.com>"]
6
6
  packages = [{ include = "yearn_treasury/*" }]
@@ -22,7 +22,7 @@ yearn-treasury = "yearn_treasury.main:main"
22
22
 
23
23
  [tool.poetry.dependencies]
24
24
  python = ">=3.10,<3.13"
25
- dao-treasury = ">=0.0.50,<0.1"
25
+ dao-treasury = ">=0.0.51,<0.1"
26
26
  eth-brownie = ">=1.21.0,<1.23"
27
27
 
28
28
  [tool.poetry.group.dev.dependencies]
@@ -20,6 +20,14 @@ from yearn_treasury import constants
20
20
 
21
21
 
22
22
  def prepare_db() -> None:
23
+ """
24
+ Set up address nicknames in the Yearn Treasury database.
25
+
26
+ Maps key Yearn Treasury addresses to human-readable labels for improved
27
+ clarity in analytics and reporting. This function is typically called
28
+ during database preparation to ensure wallet addresses are labeled
29
+ within the DAO Treasury database entity system.
30
+ """
23
31
  chad = {Network.Mainnet: "y", Network.Fantom: "f"}[CHAINID] # type: ignore [index]
24
32
 
25
33
  labels = {
@@ -1,6 +1,13 @@
1
1
  # mypy: disable-error-code="list-item"
2
2
  """
3
- This file contains logic for suppressing eth-portfolio error logs where desired.
3
+ Error log suppression utilities for the Yearn Treasury exporter.
4
+
5
+ This module suppresses noisy or irrelevant eth-portfolio error logs for specific
6
+ token addresses that are known to be deprecated or otherwise unpricable.
7
+
8
+ To suppress logs for additional tokens, add their addresses to the
9
+ `suppress_logs_for[Network.<chain>]` mapping. The rest will be done
10
+ automatically on package import.
4
11
  """
5
12
 
6
13
  from typing import Dict, Final, List
@@ -23,5 +30,12 @@ suppress_logs_for: Final[Dict[Network, List[HexAddress]]] = {
23
30
 
24
31
 
25
32
  def setup_eth_portfolio_logging() -> None:
33
+ """
34
+ Suppress eth-portfolio error logs for specific tokens on the current chain.
35
+
36
+ Appends token addresses from the suppress_logs_for mapping (for the current
37
+ CHAINID) to the SUPPRESS_ERROR_LOGS list, preventing error logs for these
38
+ tokens from being emitted during analytics and reporting.
39
+ """
26
40
  for token in suppress_logs_for.get(CHAINID, []): # type: ignore [call-overload]
27
41
  SUPPRESS_ERROR_LOGS.append(to_checksum_address(token))
@@ -9,14 +9,16 @@ which contains the logic that prevents these shitcoins from being included in
9
9
  any Yearn Treasury outputs.
10
10
 
11
11
  Since these tokens do nothing but add noise to the outputs, transactions
12
- involving them are excluded from portfolio calculations, reports, and dashboards.
12
+ involving them are excluded from treasury calculations, reports, and dashboards.
13
13
  """
14
14
 
15
+ from typing import Final
16
+
15
17
  from y import Network, convert
16
18
  from y.constants import CHAINID
17
19
 
18
20
 
19
- _SHITCOINS = {
21
+ _SHITCOINS: Final = {
20
22
  Network.Mainnet: (
21
23
  "0xC36442b4a4522E871399CD717aBDD847Ab11FE88", # UNI-V3 NFT, not shitcoin but not pricable
22
24
  "0x0329b631464C43f4e8132df7B4ac29a2D89FFdC7",
@@ -98,6 +100,8 @@ _SHITCOINS = {
98
100
  "0xa3Efa0929569c15c20f89B591931899Fb05B4663", # GPT-5
99
101
  "0x0A953979fdCfD82B08C77dB29705327BeC39ff13", # GROK4 AI
100
102
  "0xc83377b9eE3CEe4Cc03CCd58AfdE1FB12864aEE3", # E AI
103
+ "0x927402ab67c0CDA3c187E9DFE34554AC581441f2", # SAITABIT
104
+ "0x691539810DF6e879A377C24CfEE130BBE92708d8", # NVIDIA AI
101
105
  # matt furry spam
102
106
  "0x73228b3D33cC71cB721Fc62950577bE63bd9c8C9", # Maskman by Matt Furie
103
107
  "0x7c28e66436C93BB9F657dDF2BA0eeeCf61369b92", # Bloodboy by Matt Furie
@@ -105,11 +109,22 @@ _SHITCOINS = {
105
109
  "0xBd6555eC87C8A9a2280dCD6df45b9b074fC93Df2", # Bork by Matt Furie
106
110
  # test token
107
111
  "0x2F375Ce83EE85e505150d24E85A1742fd03cA593", # TEST
108
- # generally looks like shit (move to eth-portfolio)
109
- "0xE8ED1fca5af1c7dd46A3D5bbDFf7e99749D9e0aa", # Hachi
110
- "0x00d0F0250364C431376cC64AADd3aa13c6A8998D", # SMEGMA
111
112
  ),
112
113
  }
114
+ """
115
+ Mapping of blockchain networks to tuples of token addresses that should be
116
+ ignored in Yearn Treasury analytics. These tokens are considered unpricable,
117
+ spam, or otherwise unwanted for reporting and analytics purposes.
118
+
119
+ Each tuple contains token contract addresses that will be excluded from
120
+ treasury calculations, reports, and dashboards for the corresponding network.
121
+ """
122
+
113
123
 
124
+ SHITCOINS: Final = {convert.to_address(shitcoin) for shitcoin in _SHITCOINS.get(CHAINID, ())} # type: ignore [call-overload]
125
+ """Set of checksummed token addresses to ignore for the current chain.
114
126
 
115
- SHITCOINS = {convert.to_address(shitcoin) for shitcoin in _SHITCOINS.get(CHAINID, ())} # type: ignore [call-overload]
127
+ This set is derived from the _SHITCOINS mapping for the current CHAINID,
128
+ and is used to filter out unpricable, spam, or otherwise unwanted tokens
129
+ from all Yearn Treasury analytics and reporting.
130
+ """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yearn_treasury
3
- Version: 0.0.33
3
+ Version: 0.0.34
4
4
  Summary: This WIP library runs the eth-portfolio and dao-treasury exporters for the Yearn Finance treasury.
5
5
  Classifier: Development Status :: 3 - Alpha
6
6
  Classifier: Intended Audience :: Developers
@@ -15,7 +15,7 @@ Classifier: Operating System :: OS Independent
15
15
  Classifier: Topic :: Software Development :: Libraries
16
16
  Requires-Python: >=3.10,<3.13
17
17
  Description-Content-Type: text/markdown
18
- Requires-Dist: dao-treasury<0.1,>=0.0.50
18
+ Requires-Dist: dao-treasury<0.1,>=0.0.51
19
19
  Requires-Dist: eth-brownie<1.23,>=1.21.0
20
20
  Dynamic: classifier
21
21
  Dynamic: description
@@ -1,2 +1,2 @@
1
- dao-treasury<0.1,>=0.0.50
1
+ dao-treasury<0.1,>=0.0.51
2
2
  eth-brownie<1.23,>=1.21.0