yearn-treasury 0.0.14__cp310-cp310-win_amd64.whl → 0.0.44__cp310-cp310-win_amd64.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 yearn-treasury might be problematic. Click here for more details.

Files changed (108) hide show
  1. yearn_treasury/__init__.py +12 -0
  2. yearn_treasury/_db.cp310-win_amd64.pyd +0 -0
  3. yearn_treasury/_db.py +28 -9
  4. yearn_treasury/_ens.cp310-win_amd64.pyd +0 -0
  5. yearn_treasury/_ens.py +14 -0
  6. yearn_treasury/_logging.cp310-win_amd64.pyd +0 -0
  7. yearn_treasury/_logging.py +43 -0
  8. yearn_treasury/{addresses.yaml → address_labels.yaml} +10 -0
  9. yearn_treasury/budget/__init__.cp310-win_amd64.pyd +0 -0
  10. yearn_treasury/budget/__init__.py +2 -2
  11. yearn_treasury/budget/_request.cp310-win_amd64.pyd +0 -0
  12. yearn_treasury/budget/_request.py +8 -0
  13. yearn_treasury/budget/_requests.cp310-win_amd64.pyd +0 -0
  14. yearn_treasury/budget/_requests.py +45 -14
  15. yearn_treasury/constants.py +24 -7
  16. yearn_treasury/main.py +72 -30
  17. yearn_treasury/rules/__init__.py +14 -0
  18. yearn_treasury/rules/constants.cp310-win_amd64.pyd +0 -0
  19. yearn_treasury/rules/cost_of_revenue/gas.cp310-win_amd64.pyd +0 -0
  20. yearn_treasury/rules/cost_of_revenue/gas.py +9 -1
  21. yearn_treasury/rules/expense/__init__.cp310-win_amd64.pyd +0 -0
  22. yearn_treasury/rules/expense/general.cp310-win_amd64.pyd +0 -0
  23. yearn_treasury/rules/expense/infrastructure.cp310-win_amd64.pyd +0 -0
  24. yearn_treasury/rules/expense/infrastructure.py +7 -0
  25. yearn_treasury/rules/expense/people.cp310-win_amd64.pyd +0 -0
  26. yearn_treasury/rules/expense/people.py +43 -0
  27. yearn_treasury/rules/expense/security.cp310-win_amd64.pyd +0 -0
  28. yearn_treasury/rules/expense/security.py +17 -0
  29. yearn_treasury/rules/ignore/__init__.py +2 -0
  30. yearn_treasury/rules/ignore/general.cp310-win_amd64.pyd +0 -0
  31. yearn_treasury/rules/ignore/general.py +3 -2
  32. yearn_treasury/rules/ignore/maker.py +40 -28
  33. yearn_treasury/rules/ignore/passthru.py +310 -0
  34. yearn_treasury/rules/ignore/swaps/__init__.py +14 -0
  35. yearn_treasury/rules/ignore/swaps/aave.py +39 -18
  36. yearn_treasury/rules/ignore/swaps/auctions.cp310-win_amd64.pyd +0 -0
  37. yearn_treasury/rules/ignore/swaps/auctions.py +31 -0
  38. yearn_treasury/rules/ignore/swaps/compound.py +32 -22
  39. yearn_treasury/rules/ignore/swaps/conversion_factory.cp310-win_amd64.pyd +0 -0
  40. yearn_treasury/rules/ignore/swaps/conversion_factory.py +21 -0
  41. yearn_treasury/rules/ignore/swaps/cowswap.py +87 -0
  42. yearn_treasury/rules/ignore/swaps/curve.py +170 -0
  43. yearn_treasury/rules/ignore/swaps/gearbox.cp310-win_amd64.pyd +0 -0
  44. yearn_treasury/rules/ignore/swaps/gearbox.py +37 -0
  45. yearn_treasury/rules/ignore/swaps/iearn.cp310-win_amd64.pyd +0 -0
  46. yearn_treasury/rules/ignore/swaps/iearn.py +43 -0
  47. yearn_treasury/rules/ignore/swaps/otc.cp310-win_amd64.pyd +0 -0
  48. yearn_treasury/rules/ignore/swaps/otc.py +58 -0
  49. yearn_treasury/rules/ignore/swaps/pooltogether.cp310-win_amd64.pyd +0 -0
  50. yearn_treasury/rules/ignore/swaps/pooltogether.py +23 -0
  51. yearn_treasury/rules/ignore/swaps/synthetix.cp310-win_amd64.pyd +0 -0
  52. yearn_treasury/rules/ignore/swaps/synthetix.py +10 -0
  53. yearn_treasury/rules/ignore/swaps/uniswap.py +29 -6
  54. yearn_treasury/rules/ignore/swaps/unwrapper.cp310-win_amd64.pyd +0 -0
  55. yearn_treasury/rules/ignore/swaps/unwrapper.py +17 -0
  56. yearn_treasury/rules/ignore/swaps/vaults.cp310-win_amd64.pyd +0 -0
  57. yearn_treasury/rules/ignore/swaps/vaults.py +263 -0
  58. yearn_treasury/rules/ignore/swaps/woofy.cp310-win_amd64.pyd +0 -0
  59. yearn_treasury/rules/ignore/swaps/woofy.py +80 -0
  60. yearn_treasury/rules/ignore/swaps/yfi.cp310-win_amd64.pyd +0 -0
  61. yearn_treasury/rules/ignore/swaps/yfi.py +111 -0
  62. yearn_treasury/rules/ignore/swaps/yla.cp310-win_amd64.pyd +0 -0
  63. yearn_treasury/rules/ignore/swaps/yla.py +28 -0
  64. yearn_treasury/rules/ignore/unit.cp310-win_amd64.pyd +0 -0
  65. yearn_treasury/rules/ignore/unit.py +40 -0
  66. yearn_treasury/rules/ignore/weth.cp310-win_amd64.pyd +0 -0
  67. yearn_treasury/rules/ignore/weth.py +12 -4
  68. yearn_treasury/rules/ignore/ygov.cp310-win_amd64.pyd +0 -0
  69. yearn_treasury/rules/other_expense/__init__.cp310-win_amd64.pyd +0 -0
  70. yearn_treasury/rules/other_expense/__init__.py +1 -0
  71. yearn_treasury/rules/other_expense/boost.cp310-win_amd64.pyd +0 -0
  72. yearn_treasury/rules/other_expense/bugs.cp310-win_amd64.pyd +0 -0
  73. yearn_treasury/rules/other_expense/donations.cp310-win_amd64.pyd +0 -0
  74. yearn_treasury/rules/other_expense/donations.py +43 -0
  75. yearn_treasury/rules/other_expense/dyfi.cp310-win_amd64.pyd +0 -0
  76. yearn_treasury/rules/other_expense/events.cp310-win_amd64.pyd +0 -0
  77. yearn_treasury/rules/other_expense/events.py +6 -0
  78. yearn_treasury/rules/other_expense/match_on_to_address.yaml +3 -2
  79. yearn_treasury/rules/other_expense/misc.cp310-win_amd64.pyd +0 -0
  80. yearn_treasury/rules/other_expense/misc.py +22 -0
  81. yearn_treasury/rules/other_expense/revshare.cp310-win_amd64.pyd +0 -0
  82. yearn_treasury/rules/other_income/__init__.cp310-win_amd64.pyd +0 -0
  83. yearn_treasury/rules/other_income/__init__.py +2 -77
  84. yearn_treasury/rules/other_income/airdrops.cp310-win_amd64.pyd +0 -0
  85. yearn_treasury/rules/other_income/airdrops.py +30 -0
  86. yearn_treasury/rules/other_income/match_on_hash.yaml +2 -0
  87. yearn_treasury/rules/other_income/misc.cp310-win_amd64.pyd +0 -0
  88. yearn_treasury/rules/other_income/misc.py +80 -0
  89. yearn_treasury/rules/revenue/bribes.cp310-win_amd64.pyd +0 -0
  90. yearn_treasury/rules/revenue/farming.cp310-win_amd64.pyd +0 -0
  91. yearn_treasury/rules/revenue/keepcoins.cp310-win_amd64.pyd +0 -0
  92. yearn_treasury/rules/revenue/seasolver.cp310-win_amd64.pyd +0 -0
  93. yearn_treasury/rules/revenue/vaults.py +12 -13
  94. yearn_treasury/rules/revenue/yteams.cp310-win_amd64.pyd +0 -0
  95. yearn_treasury/shitcoins.py +92 -2
  96. yearn_treasury/vaults.cp310-win_amd64.pyd +0 -0
  97. yearn_treasury/vaults.py +17 -4
  98. yearn_treasury/wallets.yaml +54 -0
  99. yearn_treasury/yteams.py +208 -0
  100. {yearn_treasury-0.0.14.dist-info → yearn_treasury-0.0.44.dist-info}/METADATA +23 -10
  101. yearn_treasury-0.0.44.dist-info/RECORD +128 -0
  102. yearn_treasury-0.0.44.dist-info/top_level.txt +2 -0
  103. yearn_treasury__mypyc.cp310-win_amd64.pyd +0 -0
  104. 3ddd27aee2f79379b6d9__mypyc.cp310-win_amd64.pyd +0 -0
  105. yearn_treasury-0.0.14.dist-info/RECORD +0 -85
  106. yearn_treasury-0.0.14.dist-info/top_level.txt +0 -2
  107. {yearn_treasury-0.0.14.dist-info → yearn_treasury-0.0.44.dist-info}/WHEEL +0 -0
  108. {yearn_treasury-0.0.14.dist-info → yearn_treasury-0.0.44.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,208 @@
1
+ # This is a loose copy of an old script and will not likely be refactored into something pretty
2
+ import os
3
+ from datetime import datetime, timedelta, timezone
4
+ from decimal import Decimal
5
+ from functools import lru_cache
6
+ from logging import getLogger
7
+ from typing import Any, Dict, Final, List, Set, Tuple
8
+
9
+ import a_sync
10
+ from brownie import chain
11
+ from eth_portfolio.structs import TokenTransfer
12
+ from eth_portfolio._ydb.token_transfers import InboundTokenTransfers
13
+ from pandas import DataFrame, MultiIndex
14
+ from y import Contract, Network, get_block_at_timestamp
15
+ from y.exceptions import ContractNotVerified
16
+
17
+ from yearn_treasury.constants import ZERO_ADDRESS
18
+
19
+
20
+ DATA_FOLDER: Final = os.path.join(".", "data")
21
+ OUTPUT_FILE: Final = os.path.join(DATA_FOLDER, f"teams_revenue_{chain.id}.csv")
22
+ NUMBER_OF_MONTHS_TO_INCLUDE_IN_REPORT: Final = 36
23
+
24
+ if not os.path.exists(DATA_FOLDER):
25
+ os.makedirs(DATA_FOLDER)
26
+
27
+
28
+ # TODO: maybe move this into constants for reuse
29
+ yteams_addresses = {
30
+ Network.Mainnet: {
31
+ "v3": {
32
+ "ms": "0x33333333D5eFb92f19a5F94a43456b3cec2797AE",
33
+ "splits": {"0x2A12CAA2c13Af03c117D836CA3811a5Ca946133B": 12.5},
34
+ },
35
+ "dinobots": {
36
+ "ms": "0x2C01B4AD51a67E2d8F02208F54dF9aC4c0B778B6",
37
+ "splits": {"0xC4f238633A85A854C4702d2c66264771D1fa7904": 17.5},
38
+ },
39
+ "ylockers": {
40
+ "ms": "0x4444AAAACDBa5580282365e25b16309Bd770ce4a",
41
+ "splits": {
42
+ "0xac580302548FCCBBf00020de20C3A8AA516821AD": 2.5,
43
+ "0x794f80E899c772de9E326eC83cCfD8D94e208B49": 6.25,
44
+ "0x5FF0f87b05806ce89967638CA727Af8309d92A89": 12.5,
45
+ "0x5A7575368797695BefD785f546C6b8B7e9D37f8c": 15.625,
46
+ },
47
+ },
48
+ # "ylockers others": {"ms": "0x4444AAAACDBa5580282365e25b16309Bd770ce4a","splits":{"0x5FF0f87b05806ce89967638CA727Af8309d92A89":12.5, "0x5A7575368797695BefD785f546C6b8B7e9D37f8c":15.625}},
49
+ "yaudit": {
50
+ "ms": "0x8973B848775a87a0D5bcf262C555859b87E6F7dA",
51
+ "splits": {
52
+ "0xd7A1DBe236A38528D54317415a530b2326068373": 35,
53
+ "0xF104F38592287e25868BD8C3dcCCa1a311916f88": 35,
54
+ "0x1a9D272C3b7fE427639702A332D51348213B0bC1": 20,
55
+ },
56
+ },
57
+ "yeth": {
58
+ "ms": "0xeEEEEeeeEe274C3CCe13f77C85d8eBd9F7fd4479",
59
+ "splits": {"0x14EFe6390C6758E3fE4379A14e3B329274b1b072": 25},
60
+ },
61
+ "yfarm": {
62
+ "ms": "0x55157997cb324a374cCd7c40914ff879Fd9D515C",
63
+ "splits": {"0x0B3cCe59E038373F6008D9266B6D6eB4d21689b1": 50},
64
+ },
65
+ "sms": {
66
+ "ms": "0x16388463d60FFE0661Cf7F1f31a7D658aC790ff7",
67
+ "splits": {"0xd6748776CF06a80EbE36cd83D325B31bb916bf54": 25},
68
+ },
69
+ }
70
+ }[Network(chain.id)]
71
+
72
+
73
+ logger: Final = getLogger(__name__)
74
+
75
+ _not_verified: Final[Set[str]] = set()
76
+ _warned: Final[Set[TokenTransfer]] = set()
77
+
78
+ _known_tokens_without_prices: Final = frozenset({"SAFE", "vCOW"})
79
+ """When there is a PriceError for these tokens, no logs will be emitted."""
80
+
81
+
82
+ @lru_cache(maxsize=None)
83
+ def transfers_for(wallet: str) -> InboundTokenTransfers:
84
+ return InboundTokenTransfers(wallet, 0, load_prices=True) # type: ignore [arg-type]
85
+
86
+
87
+ async def calculate_teams_revenue_expenses() -> None:
88
+ logger.info("Starting process to calculate teams revenues and expenses")
89
+ timestamps = get_timestamps_for_report()
90
+
91
+ async def get_coros_for_timestamp(dt: datetime) -> Dict[str, Dict[str, Decimal]]:
92
+ return await a_sync.gather(
93
+ {
94
+ label: total(label, wallet_info, dt)
95
+ for label, wallet_info in yteams_addresses.items()
96
+ }
97
+ )
98
+
99
+ all_data = await a_sync.gather({dt: get_coros_for_timestamp(dt) for dt in timestamps})
100
+
101
+ result = {
102
+ (dt, teams, movement): values
103
+ for dt, data in all_data.items()
104
+ for teams, info in data.items()
105
+ for movement, values in info.items()
106
+ }
107
+ df = DataFrame.from_dict(result, orient="index")
108
+ print("------------")
109
+ # print(df.index)
110
+ # print(df.head(10))
111
+ df.index = MultiIndex.from_tuples(df.index)
112
+ print("********")
113
+ # print(df.index)
114
+ df.reset_index(inplace=True)
115
+ df.columns = ["datetime", "team", "label", "value"]
116
+ df.to_csv(OUTPUT_FILE)
117
+ logger.info(
118
+ f"Finished processing yteams calculations and saved file to {os.path.abspath(OUTPUT_FILE)}"
119
+ )
120
+
121
+
122
+ def get_timestamps_for_report() -> List[datetime]:
123
+ now = datetime.now(tz=timezone.utc)
124
+ prev_month_end = datetime(
125
+ year=now.year,
126
+ month=now.month,
127
+ day=1,
128
+ hour=0,
129
+ minute=0,
130
+ second=0,
131
+ microsecond=0,
132
+ tzinfo=timezone.utc,
133
+ ) - timedelta(microseconds=1)
134
+ datetimes = []
135
+ print("Exporting report for timestamps:")
136
+ for _ in range(NUMBER_OF_MONTHS_TO_INCLUDE_IN_REPORT):
137
+ print(f" - {prev_month_end}")
138
+ datetimes.append(prev_month_end)
139
+ prev_month_end -= timedelta(days=prev_month_end.day)
140
+ return datetimes
141
+
142
+
143
+ async def total(label: str, wallet_info: Dict[str, Any], timestamp: datetime) -> Dict[str, Decimal]:
144
+ rev = await sum_revenue_transfers.sum(wallet_info["splits"].items(), timestamp=timestamp)
145
+ grants = await sum_grants_received(wallet_info["ms"], timestamp)
146
+ if rev > 10_000_000:
147
+ raise ValueError(rev)
148
+ if grants > 10_000_000:
149
+ raise ValueError(grants)
150
+ net = rev - grants
151
+ if label == "yaudit":
152
+ logger.info("--- %s thru %s ---", label, timestamp)
153
+ logger.info("inbound %s", rev)
154
+ logger.info("grants -%s", grants)
155
+ logger.info("net %s", net)
156
+ return {"revenue": rev, "grants": grants, "total": net}
157
+
158
+
159
+ @a_sync.a_sync(default="async")
160
+ async def sum_revenue_transfers(params: Tuple[str, Decimal], timestamp: datetime) -> Decimal:
161
+ wallet, rev_share = params
162
+ block = await get_block_at_timestamp(timestamp)
163
+ total = Decimal(0)
164
+ async for transfer in transfers_for(wallet).yield_thru_block(block):
165
+ transfer = await transfer
166
+ if transfer is None:
167
+ # failed to decode, probably shitcoin
168
+ continue
169
+ if not transfer.value:
170
+ # zero value transfer
171
+ continue
172
+ if transfer.price:
173
+ total += transfer.value * transfer.price
174
+ elif transfer not in _warned and transfer.token not in _known_tokens_without_prices:
175
+ logger.warning(f"BAD: {transfer}")
176
+ _warned.add(transfer)
177
+ return round(total * Decimal((100 - rev_share) / 100), 8)
178
+
179
+
180
+ async def sum_grants_received(wallet: str, timestamp: datetime) -> Decimal:
181
+ grants = Decimal(0)
182
+ block = await get_block_at_timestamp(timestamp)
183
+ async for transfer in transfers_for(wallet).yield_thru_block(block):
184
+ transfer = await transfer
185
+ if transfer is None:
186
+ # failed to decode, probably shitcoin
187
+ continue
188
+ if not transfer.value:
189
+ # zero value transfer
190
+ continue
191
+ if transfer.price:
192
+ if transfer.from_address != ZERO_ADDRESS:
193
+ try:
194
+ contract = await Contract.coroutine(transfer.from_address)
195
+ if (
196
+ hasattr(contract, "recipient") and await contract.recipient == wallet
197
+ ) or transfer.from_address == "0xFEB4acf3df3cDEA7399794D0869ef76A6EfAff52":
198
+ grants += transfer.value * transfer.price
199
+ except ContractNotVerified as e:
200
+ if str(e) not in _not_verified:
201
+ _not_verified.add(str(e))
202
+ logger.debug(f"{e.__class__.__name__}: {e}")
203
+ except Exception as e:
204
+ logger.warning(f"{e.__class__.__name__}: {e}")
205
+ elif transfer not in _warned and transfer.token not in _known_tokens_without_prices:
206
+ logger.warning(f"BAD: {transfer}")
207
+ _warned.add(transfer)
208
+ return round(grants, 8)
@@ -1,13 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yearn_treasury
3
- Version: 0.0.14
3
+ Version: 0.0.44
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
7
7
  Classifier: Intended Audience :: Science/Research
8
8
  Classifier: Intended Audience :: End Users/Desktop
9
9
  Classifier: Programming Language :: Python :: 3
10
- Classifier: Programming Language :: Python :: 3.9
11
10
  Classifier: Programming Language :: Python :: 3.10
12
11
  Classifier: Programming Language :: Python :: 3.11
13
12
  Classifier: Programming Language :: Python :: 3.12
@@ -16,7 +15,8 @@ Classifier: Operating System :: OS Independent
16
15
  Classifier: Topic :: Software Development :: Libraries
17
16
  Requires-Python: >=3.10,<3.13
18
17
  Description-Content-Type: text/markdown
19
- Requires-Dist: dao-treasury<0.1,>=0.0.21
18
+ Requires-Dist: dao-treasury==0.0.66
19
+ Requires-Dist: faster-async-lru<3,>=2.0.5
20
20
  Dynamic: classifier
21
21
  Dynamic: description
22
22
  Dynamic: description-content-type
@@ -24,7 +24,7 @@ Dynamic: requires-dist
24
24
  Dynamic: requires-python
25
25
  Dynamic: summary
26
26
 
27
- This WIP library runs the [eth-portfolio](https://github.com/BobTheBuidler/eth-portfolio) and [dao-treasury](https://github.com/BobTheBuidler/dao-treasury) exporters for the Yearn Finance treasury.
27
+ This WIP library runs the [dao-treasury](https://github.com/BobTheBuidler/dao-treasury) exporter for the [Yearn Finance](https://yearn.fi/) treasury.
28
28
 
29
29
  ## Installation
30
30
 
@@ -40,10 +40,17 @@ This WIP library runs the [eth-portfolio](https://github.com/BobTheBuidler/eth-p
40
40
  poetry install
41
41
  ```
42
42
 
43
+ ## Requirements
44
+ - Python 3.10 or higher.
45
+ - At least 16GB of RAM.
46
+ - All dependencies installed as specified in the project’s pyproject.toml file.
47
+
43
48
  ## Prerequisites
44
49
 
45
- You must have a [brownie network](https://eth-brownie.readthedocs.io/en/stable/network-management.html) configured to use your RPC.
46
- You will also need [Docker](https://www.docker.com/get-started/) installed on your system.
50
+ - First, you will need to bring your own archive node. This can be one you run yourself, or one from one of the common providers (Tenderly, Alchemy, QuickNode, etc.). Your archive node must have tracing enabled (free-tier Alchemy nodes do not support this option).
51
+ - You must configure a [brownie network](https://eth-brownie.readthedocs.io/en/stable/network-management.html) to use your RPC.
52
+ - You will need an auth token for [Etherscan](https://etherscan.io/)'s API. Follow their [guide](https://docs.etherscan.io/etherscan-v2/getting-an-api-key) to get your key, and set env var `ETHERSCAN_TOKEN` with its value.
53
+ - You'll also need [Docker](https://www.docker.com/get-started/) installed on your system. If on MacOS, you will need to leave Docker Desktop open while Yearn Treasury is running.
47
54
 
48
55
  ## Usage
49
56
 
@@ -51,23 +58,29 @@ Run the treasury export tool:
51
58
 
52
59
  ```bash
53
60
  # For pip installations:
54
- yearn-treasury run --network mainnet --interval 12h
61
+ yearn-treasury --network mainnet --interval 12h
55
62
  ```
56
63
 
57
64
  For local development (from source installation), use:
58
65
  ```bash
59
- poetry run yearn-treasury run --network mainnet --interval 12h
66
+ poetry run yearn-treasury --network mainnet --interval 12h
60
67
  ```
61
68
 
62
69
  **CLI Options:**
63
70
  - `--network`: The id of the brownie network the exporter will connect to (default: mainnet)
64
71
  - `--interval`: The time interval between each data snapshot (default: 12h)
65
72
  - `--daemon`: Run the export process in the background (default: False) (NOTE: currently unsupported)
66
- - `--grafana-port`: Set the port for the Grafana dashboard where you can view data (default: 3003)
73
+ - `--grafana-port`: Set the port for the Grafana dashboard where you can view data (default: 3004)
67
74
  - `--renderer-port`: Set the port for the report rendering service (default: 8080)
68
75
  - `--victoria-port`: Set the port for the Victoria metrics reporting endpoint (default: 8430)
69
76
 
70
77
  After running the command, the export script will run continuously until you close your terminal.
71
- To access the dashboard, open your browser and navigate to [http://localhost:3003](http://localhost:3003) for the [eth-portfolio](https://github.com/BobTheBuidler/eth-portfolio) dashboard and [http://localhost:3004](http://localhost:3004) for the [dao-treasury](https://github.com/BobTheBuidler/dao-treasury) dashboard. Soon I will combine them into one interface but for now you can check both.
78
+ To access the dashboard, open your browser and navigate to [http://localhost:3004](http://localhost:3004) for the [dao-treasury](https://github.com/BobTheBuidler/dao-treasury) dashboard.
72
79
 
73
80
  Enjoy!
81
+
82
+ ## Screenshots
83
+
84
+ #### [Transactions Dashboard](https://bobthebuidler.github.io/yearn-treasury/transactions.html)
85
+
86
+ ![image](https://github.com/user-attachments/assets/4293b62d-827a-4bae-af4f-014c99511f99)
@@ -0,0 +1,128 @@
1
+ yearn_treasury__mypyc.cp310-win_amd64.pyd,sha256=l36xgEHAzwaUNBJ9SCkoQG-Jt_BnE-QBkgVEAv2r13Y,419840
2
+ yearn_treasury/__init__.py,sha256=1G3sqPVtNq0SsOCLXjZ8NOMiRYfdQZuRezMEpyrNjmU,426
3
+ yearn_treasury/_db.cp310-win_amd64.pyd,sha256=lGpt3aH5MWHaMsQBqVQYZXO2XuG6EoPI5kt6PjfjOt0,10752
4
+ yearn_treasury/_db.py,sha256=L5DQolJAx1gg2FAJxEocgiJUVuhWV7zJw4p676dwPvQ,1616
5
+ yearn_treasury/_ens.cp310-win_amd64.pyd,sha256=fmGH0b88KYmR3FPgjcLWXjeTAqRS5sqzqUyVAPyX9Lg,10752
6
+ yearn_treasury/_ens.py,sha256=oBn-R1n8dLnM93xsq08p1jYPZRQez9ISVVXS0nJNuSc,1068
7
+ yearn_treasury/_logging.cp310-win_amd64.pyd,sha256=Gbm-EyPhrMQVUUddaiuHsafx_4l-04dxLi65sYJH7x8,10752
8
+ yearn_treasury/_logging.py,sha256=I4nWIxBC1ApCnSCS2vVztF-kl6LoGf0_yVxeBYF07Pw,1829
9
+ yearn_treasury/address_labels.yaml,sha256=R8XC7ATHxLxfR8g1Rl4YDXyOyO8w5a08iw-9_y50XuU,1529
10
+ yearn_treasury/constants.py,sha256=kz9lYQv3Z-O8YI3xfzwa__1FYI7TcTqMXMMwCKjg0UQ,3722
11
+ yearn_treasury/main.py,sha256=4ZWK926ujBOScRJ5QANMK8JMje6FEDAOXgNSLs8WlWc,6653
12
+ yearn_treasury/py.typed,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
13
+ yearn_treasury/shitcoins.py,sha256=s08VMGosNXdQy-7SOQvRUonl99hUd9GnxSCrCwkqv98,7700
14
+ yearn_treasury/vaults.cp310-win_amd64.pyd,sha256=UKBs-ZaJmC3Qj96Kz9Jjmy9fseNae_co-93DAa03zRc,10752
15
+ yearn_treasury/vaults.py,sha256=xv7am1RxU_O4RuWbgV0-1IqIOA1rwsvoaV5jiSnxpPA,1745
16
+ yearn_treasury/wallets.yaml,sha256=VP2A4S-W6R6k1yWDHM_ptrhNlO-dwXZhrJg0Bm8qz0w,1137
17
+ yearn_treasury/yteams.py,sha256=8YWXEueHT4MajTVmRRIPYFmQs6AIR0zUSdS2x9usCts,8201
18
+ yearn_treasury/budget/__init__.cp310-win_amd64.pyd,sha256=rwp_7a8Odz-1Nw6mOIlDDkVe3Z2ooHF-LA2XKhgZ2jI,10752
19
+ yearn_treasury/budget/__init__.py,sha256=LY4Isom1ARgNwIpaz9W0ZUcbxHfzw3hC0eLVjLwHdFs,264
20
+ yearn_treasury/budget/_request.cp310-win_amd64.pyd,sha256=vpdFa4nIraZtJYzfQLGmohSCIoMBjjyxZitGGvKdcGk,10752
21
+ yearn_treasury/budget/_request.py,sha256=3yw_HKHBy8ePqQytGFLSao9TOoYTHsXqPnap6odrNjk,1054
22
+ yearn_treasury/budget/_requests.cp310-win_amd64.pyd,sha256=BAQ8drMSd6swF4vVn5wlZfqw6-eQUqgOU2JPjl-W1q4,10752
23
+ yearn_treasury/budget/_requests.py,sha256=xhjf-Uj_1y2KMijrVrS_ZtSkLJUdww3W8LA7B2SNMKg,3541
24
+ yearn_treasury/rules/__init__.py,sha256=MUwQaDL-f-S3AB_YS3H4k_6Y1VFgPjNsIIVXpL-9Gko,591
25
+ yearn_treasury/rules/constants.cp310-win_amd64.pyd,sha256=8kqbjXYbfqTvtXvZt-3J2-oXhmaeiZHmdK6JBqqoQ7I,10752
26
+ yearn_treasury/rules/constants.py,sha256=LYme6yibxVEZR5CxTZkD0GOyjHO8HspPyDtQnwlOSzE,563
27
+ yearn_treasury/rules/cost_of_revenue/__init__.py,sha256=rWPI3t4FRk_QCkdA5fDmgEKRU3p9JACoQbn184AxGD8,56
28
+ yearn_treasury/rules/cost_of_revenue/gas.cp310-win_amd64.pyd,sha256=p1qqf7dNsLEi87Tud1B48ruuxHoB-ok9cbnN1rKD3V4,10752
29
+ yearn_treasury/rules/cost_of_revenue/gas.py,sha256=WUJ6SN-xSwLveYjwPGbjmMh-V4XB7qLslYDrx792gFY,2290
30
+ yearn_treasury/rules/cost_of_revenue/match_on_hash.yaml,sha256=Z7r1CIDzNsSoLWpmUUbXonqE4Vzo0-u8RzISDQGJmNk,562
31
+ yearn_treasury/rules/expense/__init__.cp310-win_amd64.pyd,sha256=VoTwTIaMHNGjaCoIQ4szsiwaPIn1lQmqy-hxWaGIZ4w,10752
32
+ yearn_treasury/rules/expense/__init__.py,sha256=3YzO4g2TOCNg4oWGd7nfWkl18J1A6nmqQF7zezLND8E,215
33
+ yearn_treasury/rules/expense/general.cp310-win_amd64.pyd,sha256=OnHjZQwl0Zj-00D421gNpQo3_AsTbKg5K76XYnayRvs,10752
34
+ yearn_treasury/rules/expense/general.py,sha256=Ale0ignb0wDN8RyyhMND3j7SUc4bLi39kmSVP-wsmus,377
35
+ yearn_treasury/rules/expense/infrastructure.cp310-win_amd64.pyd,sha256=Cr-v9JwR1tAVMgu4py8dZZJriu90UcXdcvyb7Q-j5yY,10752
36
+ yearn_treasury/rules/expense/infrastructure.py,sha256=rU-HJLFnk-AvwQFRrwNuP1xWaYZMd16LiD97HXqJ9VA,1677
37
+ yearn_treasury/rules/expense/match_on_hash.yaml,sha256=XVYA55_0qW8X99VOM7ojD6ttqW4fgnljXiQlaFU0c7Q,2770
38
+ yearn_treasury/rules/expense/match_on_to_address.yaml,sha256=zq0AB0TD2k87jQ39ZtUZNSyspuvzJy80fvcDh102zMI,213
39
+ yearn_treasury/rules/expense/people.cp310-win_amd64.pyd,sha256=53jm_I2NExeLQ310LBoYs5rBbQkbzl8I7FQPox4FGAI,10752
40
+ yearn_treasury/rules/expense/people.py,sha256=JKPAiCKHSBX2pqEZdWRt0yytI3kGcstskUz50K23EvE,3604
41
+ yearn_treasury/rules/expense/security.cp310-win_amd64.pyd,sha256=CzB9RxOdmx1eyyX6FMk6bYkEUTX5ySIe3LQqbt0tq2k,10752
42
+ yearn_treasury/rules/expense/security.py,sha256=uQVMejp_fptKHLeuaR7X9-Yh8Tgh125_qEGG7nzwi9s,4737
43
+ yearn_treasury/rules/ignore/__init__.py,sha256=8Wuwv6JO4VeMx8U4trNo3ZP5z3ZBIgQk9eFbZxvskPQ,396
44
+ yearn_treasury/rules/ignore/general.cp310-win_amd64.pyd,sha256=142rCxck7EPb8LlHpiUvrfVuf7pUqlABmE9kVCBD6Mw,10752
45
+ yearn_treasury/rules/ignore/general.py,sha256=DJEvcZUgfsPlJADu_dmXrWGiUguuiXG2Tid7tKKMDjE,452
46
+ yearn_treasury/rules/ignore/maker.py,sha256=Ll89KDgmBt3DcOxjk2GwfNROp3U4GKO0BM1UmXl1s0s,3549
47
+ yearn_treasury/rules/ignore/passthru.py,sha256=TLy98IufuImGKiJahU7CD6plwTf0a76vBQQzc5M8SJc,12338
48
+ yearn_treasury/rules/ignore/staking.py,sha256=RamaHJyGSmQZHzUEBIKemPIbeAMiUN4toW36AuxakiA,3793
49
+ yearn_treasury/rules/ignore/unit.cp310-win_amd64.pyd,sha256=emotTa4oGYtyNVnzTYQoYoTFCOLerqLJKIxUuulfn1I,10752
50
+ yearn_treasury/rules/ignore/unit.py,sha256=yAKzDrjbCBYyHGzNHAuF2U1r4Ru_59QXjRy4uVFDf38,1294
51
+ yearn_treasury/rules/ignore/weth.cp310-win_amd64.pyd,sha256=irYEMJdtEOrx3O49ebMHYiG_myWD4M2kvU83lRicLyM,10752
52
+ yearn_treasury/rules/ignore/weth.py,sha256=896V7Z5L553t0D02FZaj2c-y3QO-vN5ESWlIQzscfC4,1512
53
+ yearn_treasury/rules/ignore/ygov.cp310-win_amd64.pyd,sha256=vnvvJGjk514eUmhJLGR0YogFWn-Q6Jj8wi0RVmhH0VU,10752
54
+ yearn_treasury/rules/ignore/ygov.py,sha256=XioDvPA0wLtwvJ_Rdf1QRUa-ZhFvrZP7Jc0IFwfsfTM,422
55
+ yearn_treasury/rules/ignore/swaps/__init__.py,sha256=EMtAV7n-EIIEnghH_0JJen--EbLb2L1aV6Z0nAyIOfA,1136
56
+ yearn_treasury/rules/ignore/swaps/_skip_tokens.py,sha256=_ZtBUDgYmuAeqggA6QwiX1gUwaaPocXQWbkoHnI3s9o,161
57
+ yearn_treasury/rules/ignore/swaps/aave.py,sha256=JztS0Thqil5p15BO_ts-7MEqLHZ_lIQWjpNivRsgZS8,2890
58
+ yearn_treasury/rules/ignore/swaps/auctions.cp310-win_amd64.pyd,sha256=yhhnVt5X-vozb8hxEVVJwhouaXKOFVFqVXDIft-41_s,10752
59
+ yearn_treasury/rules/ignore/swaps/auctions.py,sha256=yKfPC-xhU95llOuR5ssNqg9_Q0nPGa4xOIn5YkmMEAQ,1068
60
+ yearn_treasury/rules/ignore/swaps/compound.py,sha256=guuz5LgpiLbToF0cS71mGv78AioSlvYNkKCiq7liwf8,2648
61
+ yearn_treasury/rules/ignore/swaps/conversion_factory.cp310-win_amd64.pyd,sha256=Hc_LIS4M1vS4qB1CYJbrfftgF6x8KEdBecwLurOQGMI,10752
62
+ yearn_treasury/rules/ignore/swaps/conversion_factory.py,sha256=eHD3koaUX9moWbRVNsenrwA-ABk7_SM2Q1-r9oZscKI,930
63
+ yearn_treasury/rules/ignore/swaps/cowswap.py,sha256=oqhiA2MsNCW5fhvgNCSr0II2zQjdcEdgEn80pnHE1uE,4145
64
+ yearn_treasury/rules/ignore/swaps/curve.py,sha256=xOj230gU5KN8XakqnYmk33uZDDm9Q7HeevMWmcaA2-E,7440
65
+ yearn_treasury/rules/ignore/swaps/gearbox.cp310-win_amd64.pyd,sha256=M3yvbkRrSGrnVdxFVrBqCl03WwEORFaTRV68dEgAl5Q,10752
66
+ yearn_treasury/rules/ignore/swaps/gearbox.py,sha256=mFxtrSPCQUi-U-tO7bRgdzLbG7DHISRaGWJplaLwJgY,1141
67
+ yearn_treasury/rules/ignore/swaps/iearn.cp310-win_amd64.pyd,sha256=MRSTBZeXCl8GSOZ8xPeAkDHpKGlaeNdwz1_cX3ZmJAc,10752
68
+ yearn_treasury/rules/ignore/swaps/iearn.py,sha256=apyG-7hFbPZqgPBn4r6TKnZpFTL3iBOJSEbQi7EEQE8,1623
69
+ yearn_treasury/rules/ignore/swaps/otc.cp310-win_amd64.pyd,sha256=acFhJ-9L6uuvj_i21lOCzvN5fJXzEeaBHXyn3CSMuWo,10752
70
+ yearn_treasury/rules/ignore/swaps/otc.py,sha256=v0ztjqmxyO0GpebeaTAR-ycoOGd6_0zjTNljcj9eXWQ,2692
71
+ yearn_treasury/rules/ignore/swaps/pooltogether.cp310-win_amd64.pyd,sha256=ZYWbLeaejZbHEXpa7Ju5Lt8IRMqpK7T4pHMQpBS2KpE,10752
72
+ yearn_treasury/rules/ignore/swaps/pooltogether.py,sha256=T42OdErDLoPV_hEEsxDz-Pa2pvIDvyRzMQnIprzRvw4,834
73
+ yearn_treasury/rules/ignore/swaps/synthetix.cp310-win_amd64.pyd,sha256=iEAlt7Yq2i07ku4iNo-hjsog5onuQ7FM6edsHHIhjX4,10752
74
+ yearn_treasury/rules/ignore/swaps/synthetix.py,sha256=USI34Jrfdjc9hKAvyy77m0JpXu0jvPJ-GTWTUNn_Te8,378
75
+ yearn_treasury/rules/ignore/swaps/uniswap.py,sha256=p6LqtiQRIFXBGw5hmY6Cppg286hAHLPW1xAF6OHpXug,13428
76
+ yearn_treasury/rules/ignore/swaps/unwrapper.cp310-win_amd64.pyd,sha256=CijE8M5FpKEyVgksVlfCENRr_EsnKs0bnW2O26DrjFg,10752
77
+ yearn_treasury/rules/ignore/swaps/unwrapper.py,sha256=FRVEq0jn7EWSp7Q_MvdJFLDXl-P2ujlVZXa1mqSvO0w,477
78
+ yearn_treasury/rules/ignore/swaps/vaults.cp310-win_amd64.pyd,sha256=paq_du-xH1eQjn18c7htXxGUEcWwbukO0JS6i27mFr0,10752
79
+ yearn_treasury/rules/ignore/swaps/vaults.py,sha256=MfjXLRsSMwDuiTGMftUABxfprs3FreAjl_nfqyJW51o,10982
80
+ yearn_treasury/rules/ignore/swaps/woofy.cp310-win_amd64.pyd,sha256=kZSimTo9vaWjsl3A1h47_8kLop1D9DmBjZ_Q9TslHIs,10752
81
+ yearn_treasury/rules/ignore/swaps/woofy.py,sha256=PWqrX7eH-IhD0PyhL-_zWEstDWNeC619gcnuFKp866U,3198
82
+ yearn_treasury/rules/ignore/swaps/yfi.cp310-win_amd64.pyd,sha256=t6BlwjZ8T5axtyNA7CkPUetqdXaxblAnWjmTIz6pIKc,10752
83
+ yearn_treasury/rules/ignore/swaps/yfi.py,sha256=kpWI0nqIKpAEWkXqNjr14lUCThkFS2p7GBAh2fTK78o,4862
84
+ yearn_treasury/rules/ignore/swaps/yla.cp310-win_amd64.pyd,sha256=tqb7J-_RuVZzxcIsJ0VBX8WIE6DRR3b9Rld2VqccLok,10752
85
+ yearn_treasury/rules/ignore/swaps/yla.py,sha256=I2_18sZBsIsYEhPCexX0EayNaPoRqzmMr6yylGNq1AU,916
86
+ yearn_treasury/rules/other_expense/__init__.cp310-win_amd64.pyd,sha256=qDNOu8Q35cMiK19kgFjSOdRQtD7s2YRDDzt89Op4Uj8,10752
87
+ yearn_treasury/rules/other_expense/__init__.py,sha256=K1lsFhNu4p7STAnuk_Bywbu45me5rBOTPRnuCJdcM8o,397
88
+ yearn_treasury/rules/other_expense/boost.cp310-win_amd64.pyd,sha256=Dktho2ORuhRR51q_y10LXbheSGCq3lazh59VMs_DDQ0,10752
89
+ yearn_treasury/rules/other_expense/boost.py,sha256=Ptd1Y-FI_pdNtQNavt4BMDw725kbvADirCva1ig4TQg,2741
90
+ yearn_treasury/rules/other_expense/bugs.cp310-win_amd64.pyd,sha256=hy9f8y_T5QsgFRrrVFHh95JhTN3ymv14HPr5oV1e-eI,10752
91
+ yearn_treasury/rules/other_expense/bugs.py,sha256=fxmOni4vM1D5hOkUVeQ-aIpIax015cF9W_Dt5zLvS1U,3095
92
+ yearn_treasury/rules/other_expense/donations.cp310-win_amd64.pyd,sha256=55aUUxaOLvK4yOhodHFBsfgTD7uYoSNZHQpkA_DSyQI,10752
93
+ yearn_treasury/rules/other_expense/donations.py,sha256=RP6SU_q4TwQP48x_AnU6lefRWPgPPhPJ6Kv6NGovAPI,1309
94
+ yearn_treasury/rules/other_expense/dyfi.cp310-win_amd64.pyd,sha256=_J_1IYBqHntItkYLTP8K05EWJmSdVySlQPYoKyrTCFY,10752
95
+ yearn_treasury/rules/other_expense/dyfi.py,sha256=xDTJlEywuYffKTBOdBlI0XeC4ZJw9wr4XWqgRc02mZg,948
96
+ yearn_treasury/rules/other_expense/events.cp310-win_amd64.pyd,sha256=Q2gdeLHnlJGr-mjOe07M-e4i1JisAUF-e6mSIW1HUY8,10752
97
+ yearn_treasury/rules/other_expense/events.py,sha256=LkNWmplmaLrre1IuaMBtCAmnaghZ7odIN5lIIJCYwy8,509
98
+ yearn_treasury/rules/other_expense/match_on_hash.yaml,sha256=t5uQPm5ShPJ54ehAQXotcLym-ttyvvqUy-Qr3HmkazY,2568
99
+ yearn_treasury/rules/other_expense/match_on_to_address.yaml,sha256=-vO99x1ULbHYtkdRjP8-9BFIZxAhAm6bxbpZuME5vg8,222
100
+ yearn_treasury/rules/other_expense/misc.cp310-win_amd64.pyd,sha256=UAM56yX5aCM77Fr-4Kolu0jwuYKL4Dc1LzOjD00xUBQ,10752
101
+ yearn_treasury/rules/other_expense/misc.py,sha256=3zWC5xp3ACF4ODD1nJyGPqrjhX82RoYBBYNSkODWHTU,1703
102
+ yearn_treasury/rules/other_expense/revshare.cp310-win_amd64.pyd,sha256=x06czjxatVBMm-d8X0nn9muAHYNEu3Uw8xGerW9Yij0,10752
103
+ yearn_treasury/rules/other_expense/revshare.py,sha256=PPihhs6TjeTCiRtWAAE-RO2rFIKmPA3f6--UYXi6p2I,531
104
+ yearn_treasury/rules/other_income/__init__.cp310-win_amd64.pyd,sha256=eRqR_KT30yHnCiBcvXWnaQjyEYrpj-GFHlR9zsxUvy8,10752
105
+ yearn_treasury/rules/other_income/__init__.py,sha256=TgUNNtZrU4tMilawg6mLoiNCQpPHlRFITCNJWlHQCW8,112
106
+ yearn_treasury/rules/other_income/airdrops.cp310-win_amd64.pyd,sha256=iyPk6QqcR4y9pROaOOFY89Y3zERkhHbnhdj0MEMTYks,10752
107
+ yearn_treasury/rules/other_income/airdrops.py,sha256=5uAccRiPiraKziHOTJ3f7JVbsWtMNDiHA9lYaz-2rcI,1214
108
+ yearn_treasury/rules/other_income/match_on_hash.yaml,sha256=r1BVF0OJSUO9PVvU2hssNJQ7MFv-uX-au_-5Aq_hSwg,1179
109
+ yearn_treasury/rules/other_income/misc.cp310-win_amd64.pyd,sha256=Wf8osaDsWqq9S0iaWsRF7w07VGRo7Y6OogBx0h9Xgxc,10752
110
+ yearn_treasury/rules/other_income/misc.py,sha256=sTMy4xoXDzhxIh4ls5J4AaTx0nwYh7AjKnvPj3tKBtU,2614
111
+ yearn_treasury/rules/revenue/__init__.py,sha256=OsK33eSraGuaE2dcfMsmShUWSH0BQnACIVHsZ_2G6Ok,313
112
+ yearn_treasury/rules/revenue/bribes.cp310-win_amd64.pyd,sha256=nDn9c2_57xeo44PzbQ085--puPYKGfaXGLfYy9LUR0I,10752
113
+ yearn_treasury/rules/revenue/bribes.py,sha256=oS5oWXNv8ScOH5ypKTdM4-bn9lF5XQ7p-gVSZZYk0Js,603
114
+ yearn_treasury/rules/revenue/farming.cp310-win_amd64.pyd,sha256=G4OoR74UyIFSzdcJTWz4wkq62mTqF_MG-yGURB-c8DY,10752
115
+ yearn_treasury/rules/revenue/farming.py,sha256=sACJwLdQb8TpWU4v7lAwuSuRY_BkXja1QmeO_z036rQ,1895
116
+ yearn_treasury/rules/revenue/keepcoins.cp310-win_amd64.pyd,sha256=o_f8r-m1c12sc8dM5sc69M8pdK-pmAc6dLojoqCrd3U,10752
117
+ yearn_treasury/rules/revenue/keepcoins.py,sha256=DYs0GzewhkO9LkgmAscqQUSQxi80R18vN-_8Gg_CMxk,2037
118
+ yearn_treasury/rules/revenue/match_on_hash.yaml,sha256=RjfnJygGXNFTFzXO7ClX_EpXovu2QUrDQ9Dw4EbRAFs,167
119
+ yearn_treasury/rules/revenue/seasolver.cp310-win_amd64.pyd,sha256=2hZbimJbrKcVia2f2zkd9_SAKfY89xgVOuGBzmHl0CQ,10752
120
+ yearn_treasury/rules/revenue/seasolver.py,sha256=w2OrfbmIKzuR6FlRhUYXAlO2Z076_vO8gTlzcLyQrUg,782
121
+ yearn_treasury/rules/revenue/vaults.py,sha256=hEeAqTSWFGq89O4sA67QiZtP7qcbhbUouGiA-_ys76A,5493
122
+ yearn_treasury/rules/revenue/yteams.cp310-win_amd64.pyd,sha256=AvR_cpnPAH9kKiHNM_idW3PMQ6VbMmY4e6ZkoVMANSA,10752
123
+ yearn_treasury/rules/revenue/yteams.py,sha256=K3QgNf8kz5mU97IU6rtXRV8gz0Gr69XhzyyyYo92BmE,637
124
+ yearn_treasury-0.0.44.dist-info/METADATA,sha256=ok79E73BzTkwhlDchyOknKP5QA4X79L84gu7jS6Rv9U,3746
125
+ yearn_treasury-0.0.44.dist-info/WHEEL,sha256=KUuBC6lxAbHCKilKua8R9W_TM71_-9Sg5uEP3uDWcoU,101
126
+ yearn_treasury-0.0.44.dist-info/entry_points.txt,sha256=SNx2hP429dAQDEjY93mQADPgbPbdSRKoF8mUUtvH3g8,60
127
+ yearn_treasury-0.0.44.dist-info/top_level.txt,sha256=m6UZasCg7vJZr-GyXS_TRPPIzcC2n18kr8ZKdr4qu4Q,37
128
+ yearn_treasury-0.0.44.dist-info/RECORD,,
@@ -0,0 +1,2 @@
1
+ yearn_treasury
2
+ yearn_treasury__mypyc
@@ -1,85 +0,0 @@
1
- 3ddd27aee2f79379b6d9__mypyc.cp310-win_amd64.pyd,sha256=PU0_W7JMQJmu5KUYGe23M0g3D7J1xZmWopyS6j7ojwo,225280
2
- yearn_treasury/__init__.py,sha256=4YhAUAg86ochbQM0Lt01Oi-npqI5qoNcyNg24oXjVKY,122
3
- yearn_treasury/_db.py,sha256=sVOSdEYtKrd6cDWMYtEtfCuYgi7_Rbsaw2HeJSyf45Q,916
4
- yearn_treasury/_ens.cp310-win_amd64.pyd,sha256=2BvCXpNwpnZVrGahom2Z5MzmTaj8KGv0tf7FvPX_hU0,10752
5
- yearn_treasury/_ens.py,sha256=gLRPQ4WcA_sYp9tMZOo6gV4I4u3uYEa_iDLU6OZMyS0,541
6
- yearn_treasury/addresses.yaml,sha256=9waThZzuHq6T9eafo20kWu3baPrd69ZnYwOqLDCm33s,1120
7
- yearn_treasury/constants.py,sha256=R_x6KxdiXF_O_3FGGp_61mUHVCP2SUjhg92UV4if7e4,3002
8
- yearn_treasury/main.py,sha256=X67RprmnorS-u_OrffcnX8HJg5jhfNSziM2LVao7NnY,4469
9
- yearn_treasury/py.typed,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
10
- yearn_treasury/shitcoins.py,sha256=YO50RoeeClgVBbeed-9Ud8QDiRWTOKfJp1XSCdDjk9M,2615
11
- yearn_treasury/vaults.cp310-win_amd64.pyd,sha256=lHcjenYU-SdKVxTauAcYCcsIoqiFtW0Ylz5FyXji3bY,10752
12
- yearn_treasury/vaults.py,sha256=VQExTUzKtJsmSUobLBfwUSx4gtjepVbf8Mpji_eICSc,1274
13
- yearn_treasury/budget/__init__.cp310-win_amd64.pyd,sha256=griJGYpcOj1VZKOezlDHX9_mb5DVFJKzkFlkbpqtbwA,10752
14
- yearn_treasury/budget/__init__.py,sha256=zWHguc1rbmSc5pYyTVUDrp8Go7FcZLKU7kIcDa9w8P8,250
15
- yearn_treasury/budget/_request.cp310-win_amd64.pyd,sha256=O6UZipaV-HzBycd-diL_gCosjSTYm6jtDxKGLsv60CM,10752
16
- yearn_treasury/budget/_request.py,sha256=ZAxsN-9WnvwD4MFIfgEbCp6B4bSyi5KDf-d99X4t2ug,795
17
- yearn_treasury/budget/_requests.cp310-win_amd64.pyd,sha256=ywgopDkwMK6oLV5Cb1n0SiP4FXTeUBXFciYxjjWlcdI,10752
18
- yearn_treasury/budget/_requests.py,sha256=xuhWwJOwkWSN2vMXAwTnKRji7An7PgQI_xjQKTs-D9E,2630
19
- yearn_treasury/rules/__init__.py,sha256=Nu7nzPUl1hutAMfTAqlAm1V1a8qO2wFoornMBbTH_SA,282
20
- yearn_treasury/rules/constants.cp310-win_amd64.pyd,sha256=eyW7EfLK9D5LU62HzlDJMDRwFUl0cl3lp8wdmCSMfzs,10752
21
- yearn_treasury/rules/constants.py,sha256=LYme6yibxVEZR5CxTZkD0GOyjHO8HspPyDtQnwlOSzE,563
22
- yearn_treasury/rules/cost_of_revenue/__init__.py,sha256=rWPI3t4FRk_QCkdA5fDmgEKRU3p9JACoQbn184AxGD8,56
23
- yearn_treasury/rules/cost_of_revenue/gas.cp310-win_amd64.pyd,sha256=Spy1IciMAx4s8JnA3ILKQjY8JDQM40L5IhVeky1fekU,10752
24
- yearn_treasury/rules/cost_of_revenue/gas.py,sha256=SKhYHRVaEuzD--nNLGrpyA5-5TRg8NBqP1Q4_paDAd4,2015
25
- yearn_treasury/rules/cost_of_revenue/match_on_hash.yaml,sha256=Z7r1CIDzNsSoLWpmUUbXonqE4Vzo0-u8RzISDQGJmNk,562
26
- yearn_treasury/rules/expense/__init__.cp310-win_amd64.pyd,sha256=-4EfrKeKBPvbnxoLtvZO3W7eUjINMgxuopHXwjNCl0A,10752
27
- yearn_treasury/rules/expense/__init__.py,sha256=3YzO4g2TOCNg4oWGd7nfWkl18J1A6nmqQF7zezLND8E,215
28
- yearn_treasury/rules/expense/general.cp310-win_amd64.pyd,sha256=T_UgOpvMn2BSB4iaoOY3e9Ovn4coRLAAFkJkOj5xt58,10752
29
- yearn_treasury/rules/expense/general.py,sha256=Ale0ignb0wDN8RyyhMND3j7SUc4bLi39kmSVP-wsmus,377
30
- yearn_treasury/rules/expense/infrastructure.cp310-win_amd64.pyd,sha256=ZbJWeXN3j5OoB1UBSIeT0x3-7wVsuvGCmYwIeABn6Ag,10752
31
- yearn_treasury/rules/expense/infrastructure.py,sha256=VArqShD8d6nV9X-X223O5E_qc_j0dOKcEbich7-zFaQ,1480
32
- yearn_treasury/rules/expense/match_on_hash.yaml,sha256=XVYA55_0qW8X99VOM7ojD6ttqW4fgnljXiQlaFU0c7Q,2770
33
- yearn_treasury/rules/expense/match_on_to_address.yaml,sha256=zq0AB0TD2k87jQ39ZtUZNSyspuvzJy80fvcDh102zMI,213
34
- yearn_treasury/rules/expense/people.cp310-win_amd64.pyd,sha256=wudf-e0RnJNs8IrrzBfNG2KmfZEoz62v93uNvMrRBrg,10752
35
- yearn_treasury/rules/expense/people.py,sha256=7kfHD8NzJPjvDZUfMTeQ82j5_4MgMrrlK3LAZXbl2t8,1988
36
- yearn_treasury/rules/expense/security.cp310-win_amd64.pyd,sha256=b0_wTE6L5Z3hTZUvyjuS_xXHc1Bz36YNXV29eVlgaHA,10752
37
- yearn_treasury/rules/expense/security.py,sha256=Uvt2glQEEgrD7NWauS4SerFtrD_4CKiKmgu92Grl2Tw,4209
38
- yearn_treasury/rules/ignore/__init__.py,sha256=EGKNN73mjx4wAuUCwsBQlUnfvHIyM68gbmvkDOSiZyU,296
39
- yearn_treasury/rules/ignore/general.py,sha256=6bh1ZzPFDoDO_spknOGcf2R5QpAxnI5gf8P-_Foq0zI,432
40
- yearn_treasury/rules/ignore/maker.py,sha256=u-p2dlOBEA2lMAmhXayHm-rcjt_zAgQ5V6JRKpNQUlM,2674
41
- yearn_treasury/rules/ignore/staking.py,sha256=RamaHJyGSmQZHzUEBIKemPIbeAMiUN4toW36AuxakiA,3793
42
- yearn_treasury/rules/ignore/weth.py,sha256=gxvklgspVWzxdzxD-S5u7Ux0jOMLPzIOb0uRYVOlqjs,1256
43
- yearn_treasury/rules/ignore/ygov.py,sha256=XioDvPA0wLtwvJ_Rdf1QRUa-ZhFvrZP7Jc0IFwfsfTM,422
44
- yearn_treasury/rules/ignore/swaps/__init__.py,sha256=jqagRIYHEk00x6lVS-Lqf8j_K7DnXWyN9sfVNN8lTYA,336
45
- yearn_treasury/rules/ignore/swaps/_skip_tokens.py,sha256=_ZtBUDgYmuAeqggA6QwiX1gUwaaPocXQWbkoHnI3s9o,161
46
- yearn_treasury/rules/ignore/swaps/aave.py,sha256=7K2D2m6xaqdR3QxSOS0eoA-tWfD3yQCQeA-fo8NXWFQ,1659
47
- yearn_treasury/rules/ignore/swaps/compound.py,sha256=Mk_dCzagrFXmIL6K-1OLItsWROv390frjIg2JvOe49Y,1648
48
- yearn_treasury/rules/ignore/swaps/uniswap.py,sha256=qE_PKBfp7s0vdC6DOTE9bI-QGwPb9N0numYOu-F_GQ8,11998
49
- yearn_treasury/rules/other_expense/__init__.cp310-win_amd64.pyd,sha256=XzDl9J3wNkWbqDLdHQ3MSzJTc4FckHWlvStjGkQrWvI,10752
50
- yearn_treasury/rules/other_expense/__init__.py,sha256=q2R0-RfcOcTPr90KNwoKg9j2nJbZJh50jzXiIL9N5lY,337
51
- yearn_treasury/rules/other_expense/boost.cp310-win_amd64.pyd,sha256=cq_6AGtLfGrb_JIne_tn-wog1uccA9_xNMbZro_symA,10752
52
- yearn_treasury/rules/other_expense/boost.py,sha256=Ptd1Y-FI_pdNtQNavt4BMDw725kbvADirCva1ig4TQg,2741
53
- yearn_treasury/rules/other_expense/bugs.cp310-win_amd64.pyd,sha256=HqrWtHXpQFXjL1iXwGSHMD94eIGuvxrmQc5pY-QhCi4,10752
54
- yearn_treasury/rules/other_expense/bugs.py,sha256=fxmOni4vM1D5hOkUVeQ-aIpIax015cF9W_Dt5zLvS1U,3095
55
- yearn_treasury/rules/other_expense/dyfi.cp310-win_amd64.pyd,sha256=GbCV6Une_sPMRjUniMvZclFPyQXh2vv0NrENostFdZA,10752
56
- yearn_treasury/rules/other_expense/dyfi.py,sha256=xDTJlEywuYffKTBOdBlI0XeC4ZJw9wr4XWqgRc02mZg,948
57
- yearn_treasury/rules/other_expense/events.cp310-win_amd64.pyd,sha256=v4M2_OjeHuzIzGFaZyM0-N2sKPAxB7M16ZjbbMwYPdU,10752
58
- yearn_treasury/rules/other_expense/events.py,sha256=EOLb5KUe7iRQx1J3xJ2MIEuork2mzrVvzgafqFLzM0Q,378
59
- yearn_treasury/rules/other_expense/match_on_hash.yaml,sha256=t5uQPm5ShPJ54ehAQXotcLym-ttyvvqUy-Qr3HmkazY,2568
60
- yearn_treasury/rules/other_expense/match_on_to_address.yaml,sha256=U8-elNBy2s15GhpCK2bM1bPEuF9rOhOKvgRvvkJJQHI,213
61
- yearn_treasury/rules/other_expense/misc.cp310-win_amd64.pyd,sha256=039brmkcssCwzOdNfyC64ChEVSHnlvE7qP7t1tGVpI0,10752
62
- yearn_treasury/rules/other_expense/misc.py,sha256=WwhLnf4EqYgMaiBa-GYiR2v8ih6EufcT8XRbZV788mk,807
63
- yearn_treasury/rules/other_expense/revshare.cp310-win_amd64.pyd,sha256=O9YPEu0diOOiPUscWsN3z_okPkJMVcVWB6dxmOw3fAY,10752
64
- yearn_treasury/rules/other_expense/revshare.py,sha256=PPihhs6TjeTCiRtWAAE-RO2rFIKmPA3f6--UYXi6p2I,531
65
- yearn_treasury/rules/other_income/__init__.cp310-win_amd64.pyd,sha256=CiNG4OSsndpujrmflsXH9ngklghI4k8huwJiQrw0TSM,10752
66
- yearn_treasury/rules/other_income/__init__.py,sha256=r-7EW79TJ2EyLiZPi6MKZ5VTznpPBn8KA-p2ugAB08E,2525
67
- yearn_treasury/rules/other_income/match_on_hash.yaml,sha256=GWBg4ul5JzMWsbVPXy3dcDA8Okao7bDmwzvnIpQ1GSM,1090
68
- yearn_treasury/rules/revenue/__init__.py,sha256=OsK33eSraGuaE2dcfMsmShUWSH0BQnACIVHsZ_2G6Ok,313
69
- yearn_treasury/rules/revenue/bribes.cp310-win_amd64.pyd,sha256=6aMBn5-4hC81AVz5BsUJ60K3bwiOdSSLlWIrUb_HFNM,10752
70
- yearn_treasury/rules/revenue/bribes.py,sha256=oS5oWXNv8ScOH5ypKTdM4-bn9lF5XQ7p-gVSZZYk0Js,603
71
- yearn_treasury/rules/revenue/farming.cp310-win_amd64.pyd,sha256=kcLftzbPeRNdEkKbKg7_2JTMCcGG9aumJjcYWhyXDcw,10752
72
- yearn_treasury/rules/revenue/farming.py,sha256=sACJwLdQb8TpWU4v7lAwuSuRY_BkXja1QmeO_z036rQ,1895
73
- yearn_treasury/rules/revenue/keepcoins.cp310-win_amd64.pyd,sha256=Uui8yimUdO20_OjevH7nlQvk3MR1FRiN8y3z5g8n5WU,10752
74
- yearn_treasury/rules/revenue/keepcoins.py,sha256=DYs0GzewhkO9LkgmAscqQUSQxi80R18vN-_8Gg_CMxk,2037
75
- yearn_treasury/rules/revenue/match_on_hash.yaml,sha256=RjfnJygGXNFTFzXO7ClX_EpXovu2QUrDQ9Dw4EbRAFs,167
76
- yearn_treasury/rules/revenue/seasolver.cp310-win_amd64.pyd,sha256=7mM6UkEd6bXLDllGXEOqNqISRN_iT0KVpU07qoM_J2A,10752
77
- yearn_treasury/rules/revenue/seasolver.py,sha256=w2OrfbmIKzuR6FlRhUYXAlO2Z076_vO8gTlzcLyQrUg,782
78
- yearn_treasury/rules/revenue/vaults.py,sha256=FDQMvHj6mpAFp7c8OdeA1K2qzriExgrm1CxpDZdhajo,5543
79
- yearn_treasury/rules/revenue/yteams.cp310-win_amd64.pyd,sha256=ds_xVBYkGlp-W_dj3BjCP1HJWUnO7om9I_LoRx6s0mk,10752
80
- yearn_treasury/rules/revenue/yteams.py,sha256=K3QgNf8kz5mU97IU6rtXRV8gz0Gr69XhzyyyYo92BmE,637
81
- yearn_treasury-0.0.14.dist-info/METADATA,sha256=3856qNSIb3n129kvYXL1mrqzAmnIsfAHqxvYHRaPEAA,3086
82
- yearn_treasury-0.0.14.dist-info/WHEEL,sha256=KUuBC6lxAbHCKilKua8R9W_TM71_-9Sg5uEP3uDWcoU,101
83
- yearn_treasury-0.0.14.dist-info/entry_points.txt,sha256=SNx2hP429dAQDEjY93mQADPgbPbdSRKoF8mUUtvH3g8,60
84
- yearn_treasury-0.0.14.dist-info/top_level.txt,sha256=DRHIYdT5QSNnMHq30n0AJsuLrhlNsmRdzP4akYBAAlI,43
85
- yearn_treasury-0.0.14.dist-info/RECORD,,
@@ -1,2 +0,0 @@
1
- 3ddd27aee2f79379b6d9__mypyc
2
- yearn_treasury