yearn-treasury 0.0.39__tar.gz → 0.0.41__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 (88) hide show
  1. {yearn_treasury-0.0.39/yearn_treasury.egg-info → yearn_treasury-0.0.41}/PKG-INFO +2 -2
  2. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/pyproject.toml +2 -2
  3. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/setup.py +2 -0
  4. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/address_labels.yaml +6 -0
  5. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/main.py +2 -2
  6. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/__init__.py +1 -0
  7. yearn_treasury-0.0.41/yearn_treasury/rules/ignore/swaps/auctions.py +36 -0
  8. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/yfi.py +2 -1
  9. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/shitcoins.py +3 -0
  10. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41/yearn_treasury.egg-info}/PKG-INFO +2 -2
  11. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury.egg-info/SOURCES.txt +1 -0
  12. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury.egg-info/requires.txt +1 -1
  13. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/MANIFEST.in +0 -0
  14. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/README.md +0 -0
  15. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/setup.cfg +0 -0
  16. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/__init__.py +0 -0
  17. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/_db.py +0 -0
  18. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/_ens.py +0 -0
  19. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/_logging.py +0 -0
  20. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/budget/__init__.py +0 -0
  21. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/budget/_request.py +0 -0
  22. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/budget/_requests.py +0 -0
  23. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/constants.py +0 -0
  24. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/py.typed +0 -0
  25. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/__init__.py +0 -0
  26. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/constants.py +0 -0
  27. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/cost_of_revenue/__init__.py +0 -0
  28. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/cost_of_revenue/gas.py +0 -0
  29. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/cost_of_revenue/match_on_hash.yaml +0 -0
  30. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/expense/__init__.py +0 -0
  31. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/expense/general.py +0 -0
  32. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/expense/infrastructure.py +0 -0
  33. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/expense/match_on_hash.yaml +0 -0
  34. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/expense/match_on_to_address.yaml +0 -0
  35. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/expense/people.py +0 -0
  36. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/expense/security.py +0 -0
  37. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/__init__.py +0 -0
  38. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/general.py +0 -0
  39. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/maker.py +0 -0
  40. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/passthru.py +0 -0
  41. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/staking.py +0 -0
  42. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/_skip_tokens.py +0 -0
  43. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/aave.py +0 -0
  44. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/compound.py +0 -0
  45. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/conversion_factory.py +0 -0
  46. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/cowswap.py +0 -0
  47. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/curve.py +0 -0
  48. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/gearbox.py +0 -0
  49. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/iearn.py +0 -0
  50. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/otc.py +0 -0
  51. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/pooltogether.py +0 -0
  52. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/synthetix.py +0 -0
  53. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/uniswap.py +0 -0
  54. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/unwrapper.py +0 -0
  55. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/vaults.py +0 -0
  56. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/woofy.py +0 -0
  57. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/swaps/yla.py +0 -0
  58. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/unit.py +0 -0
  59. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/weth.py +0 -0
  60. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/ignore/ygov.py +0 -0
  61. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/other_expense/__init__.py +0 -0
  62. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/other_expense/boost.py +0 -0
  63. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/other_expense/bugs.py +0 -0
  64. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/other_expense/donations.py +0 -0
  65. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/other_expense/dyfi.py +0 -0
  66. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/other_expense/events.py +0 -0
  67. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/other_expense/match_on_hash.yaml +0 -0
  68. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/other_expense/match_on_to_address.yaml +0 -0
  69. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/other_expense/misc.py +0 -0
  70. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/other_expense/revshare.py +0 -0
  71. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/other_income/__init__.py +0 -0
  72. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/other_income/airdrops.py +0 -0
  73. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/other_income/match_on_hash.yaml +0 -0
  74. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/other_income/misc.py +0 -0
  75. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/revenue/__init__.py +0 -0
  76. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/revenue/bribes.py +0 -0
  77. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/revenue/farming.py +0 -0
  78. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/revenue/keepcoins.py +0 -0
  79. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/revenue/match_on_hash.yaml +0 -0
  80. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/revenue/seasolver.py +0 -0
  81. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/revenue/vaults.py +0 -0
  82. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/rules/revenue/yteams.py +0 -0
  83. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/vaults.py +0 -0
  84. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury/wallets.yaml +0 -0
  85. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury.egg-info/dependency_links.txt +0 -0
  86. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury.egg-info/entry_points.txt +0 -0
  87. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/yearn_treasury.egg-info/not-zip-safe +0 -0
  88. {yearn_treasury-0.0.39 → yearn_treasury-0.0.41}/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.39
3
+ Version: 0.0.41
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.55
18
+ Requires-Dist: dao-treasury<0.1,>=0.0.57
19
19
  Requires-Dist: eth-brownie<1.23,>=1.21.0
20
20
  Requires-Dist: faster-async-lru<3,>=2.0.5
21
21
  Dynamic: classifier
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "yearn-treasury"
3
- version = "0.0.39"
3
+ version = "0.0.41"
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.55,<0.1"
25
+ dao-treasury = ">=0.0.57,<0.1"
26
26
  eth-brownie = ">=1.21.0,<1.23"
27
27
  faster-async-lru = ">=2.0.5,<3"
28
28
 
@@ -14,6 +14,7 @@ else:
14
14
  "yearn_treasury/rules/expense",
15
15
  # "yearn_treasury/rules/ignore",
16
16
  "yearn_treasury/rules/ignore/swaps/conversion_factory.py",
17
+ # "yearn_treasury/rules/ignore/swaps/auctions.py", enable with brownie 1.22.0
17
18
  # "yearn_treasury/rules/ignore/swaps/curve.py", enable with brownie 1.22.0
18
19
  "yearn_treasury/rules/ignore/swaps/gearbox.py",
19
20
  "yearn_treasury/rules/ignore/swaps/iearn.py",
@@ -48,6 +49,7 @@ else:
48
49
  "--disable-error-code=no-any-return",
49
50
  "--disable-error-code=misc", # TODO: drop support for 32bit systems
50
51
  ],
52
+ group_name="yearn_treasury",
51
53
  )
52
54
 
53
55
 
@@ -28,6 +28,12 @@
28
28
  - "0xC564EE9f21Ed8A2d8E7e76c085740d5e4c5FaFbE"
29
29
  yLockers Multisig:
30
30
  - "0x4444AAAACDBa5580282365e25b16309Bd770ce4a"
31
+ yRoboTreasury Treasury Contract:
32
+ - "0xEf77cc176c748d291EfB6CdC982c5744fC7211c8"
33
+ yRoboTreasury Stables Reserve:
34
+ - "0x278374fFb10B7D16E7633444c13e6E565EA57c28"
35
+ yearn.fi Dutch Auctions:
36
+ - "0x861fE45742f70054917B65bE18904662bD0dBd30"
31
37
  250:
32
38
  Yearn Strategist Multisig:
33
39
  - "0x72a34AbafAB09b15E7191822A679f28E067C4a16"
@@ -42,8 +42,8 @@ run_parser.add_argument(
42
42
  run_parser.add_argument(
43
43
  "--concurrency",
44
44
  type=int,
45
- help="The max number of historical blocks to export concurrently. default: 40",
46
- default=40,
45
+ help="The max number of historical blocks to export concurrently. default: 30",
46
+ default=30,
47
47
  )
48
48
  run_parser.add_argument(
49
49
  "--daemon",
@@ -7,6 +7,7 @@ swaps: Final[SortRuleFactory[IgnoreSortRule]] = ignore("Swaps")
7
7
 
8
8
 
9
9
  from yearn_treasury.rules.ignore.swaps.aave import *
10
+ from yearn_treasury.rules.ignore.swaps.auctions import *
10
11
  from yearn_treasury.rules.ignore.swaps.compound import *
11
12
  from yearn_treasury.rules.ignore.swaps.conversion_factory import *
12
13
  from yearn_treasury.rules.ignore.swaps.cowswap import *
@@ -0,0 +1,36 @@
1
+ from typing import Final
2
+
3
+ from dao_treasury import TreasuryTx
4
+ from y import Network
5
+
6
+ from yearn_treasury.rules.ignore.swaps import swaps
7
+
8
+
9
+ auctions: Final = swaps("Auctions")
10
+
11
+ YEARNFI_DUTCH_AUCTIONS: Final = "0x861fE45742f70054917B65bE18904662bD0dBd30"
12
+
13
+
14
+ @auctions("Auction Proceeds", Network.Mainnet)
15
+ def is_auction_proceeds(tx: TreasuryTx) -> bool:
16
+ # NOTE: the other side of these swaps is currently recorded under
17
+ # 'Ignore:Internal Transfer' when it goes to the Generic bucket contract
18
+ if tx.from_nickname != "Contract: GPv2Settlement":
19
+ return False
20
+
21
+ try:
22
+ if "Trade" not in tx.events:
23
+ return False
24
+ except KeyError as e:
25
+ if "components" in str(e):
26
+ return False
27
+ raise
28
+
29
+ for trade in tx.get_events("Trade"):
30
+ if trade["owner"] != YEARNFI_DUTCH_AUCTIONS or tx.token != trade["buyToken"]:
31
+ continue
32
+ buy_amount = tx.token.scale_value(trade["buyAmount"])
33
+ if round(buy_amount, 14) == round(tx.amount, 14):
34
+ return True
35
+
36
+ return False
@@ -104,7 +104,8 @@ def is_buying_with_auction(tx: TreasuryTx) -> bool:
104
104
  if tx.from_address != receiver:
105
105
  print(f"Transfer does not match auction taker: taker={tx.from_address.address} transfer={receiver}") # type: ignore [union-attr]
106
106
  continue
107
- if amount == event["taken"]: # type: ignore [call-overload]
107
+ # TODO get rid of this rounding once we've swapped out sqlite for postgres
108
+ if round(amount, 14) == round(event["taken"], 14): # type: ignore [call-overload]
108
109
  return True
109
110
  print(f"AuctionTaken: {event} amount does not match Transfer: {transfer}")
110
111
  return False
@@ -54,6 +54,9 @@ _SHITCOINS: Final = {
54
54
  "0xe2549E429B78458fa60BC7B1b284d4411E1D5105",
55
55
  "0xCfdD747d041397bcE08B0Fe6ebF7Ef65E9F46795",
56
56
  "0x9745969171a38B40db05c506fe2DA2C36f317627",
57
+ "0x6051C1354Ccc51b4d561e43b02735DEaE64768B8",
58
+ "0xf0814d0E47F2390a8082C4a1BD819FDDe50f9bFc",
59
+ "0x2DBd330bC9B7f3A822a9173aB52172BdDDcAcE2A",
57
60
  # just andre tinkering
58
61
  "0x5cB5e2d7Ab9Fd32021dF8F1D3E5269bD437Ec3Bf",
59
62
  # these arent shitcoins per se but we can't price them and dont expect to in the future, lets save cpu cycles
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yearn_treasury
3
- Version: 0.0.39
3
+ Version: 0.0.41
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.55
18
+ Requires-Dist: dao-treasury<0.1,>=0.0.57
19
19
  Requires-Dist: eth-brownie<1.23,>=1.21.0
20
20
  Requires-Dist: faster-async-lru<3,>=2.0.5
21
21
  Dynamic: classifier
@@ -46,6 +46,7 @@ yearn_treasury/rules/ignore/ygov.py
46
46
  yearn_treasury/rules/ignore/swaps/__init__.py
47
47
  yearn_treasury/rules/ignore/swaps/_skip_tokens.py
48
48
  yearn_treasury/rules/ignore/swaps/aave.py
49
+ yearn_treasury/rules/ignore/swaps/auctions.py
49
50
  yearn_treasury/rules/ignore/swaps/compound.py
50
51
  yearn_treasury/rules/ignore/swaps/conversion_factory.py
51
52
  yearn_treasury/rules/ignore/swaps/cowswap.py
@@ -1,3 +1,3 @@
1
- dao-treasury<0.1,>=0.0.55
1
+ dao-treasury<0.1,>=0.0.57
2
2
  eth-brownie<1.23,>=1.21.0
3
3
  faster-async-lru<3,>=2.0.5