dao-treasury 0.0.42__cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.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.
Files changed (51) hide show
  1. bf2b4fe1f86ad2ea158b__mypyc.cpython-311-i386-linux-gnu.so +0 -0
  2. dao_treasury/.grafana/provisioning/dashboards/dashboards.yaml +60 -0
  3. dao_treasury/.grafana/provisioning/dashboards/streams/LlamaPay.json +225 -0
  4. dao_treasury/.grafana/provisioning/dashboards/summary/Monthly.json +107 -0
  5. dao_treasury/.grafana/provisioning/dashboards/transactions/Treasury Transactions.json +387 -0
  6. dao_treasury/.grafana/provisioning/dashboards/treasury/Cashflow (Including Unsorted).json +835 -0
  7. dao_treasury/.grafana/provisioning/dashboards/treasury/Cashflow.json +615 -0
  8. dao_treasury/.grafana/provisioning/dashboards/treasury/Operating Cashflow.json +492 -0
  9. dao_treasury/.grafana/provisioning/dashboards/treasury/Treasury.json +2018 -0
  10. dao_treasury/.grafana/provisioning/datasources/datasources.yaml +17 -0
  11. dao_treasury/ENVIRONMENT_VARIABLES.py +20 -0
  12. dao_treasury/__init__.py +62 -0
  13. dao_treasury/_docker.cpython-311-i386-linux-gnu.so +0 -0
  14. dao_treasury/_docker.py +190 -0
  15. dao_treasury/_nicknames.cpython-311-i386-linux-gnu.so +0 -0
  16. dao_treasury/_nicknames.py +32 -0
  17. dao_treasury/_wallet.cpython-311-i386-linux-gnu.so +0 -0
  18. dao_treasury/_wallet.py +250 -0
  19. dao_treasury/constants.cpython-311-i386-linux-gnu.so +0 -0
  20. dao_treasury/constants.py +34 -0
  21. dao_treasury/db.py +1408 -0
  22. dao_treasury/docker-compose.yaml +41 -0
  23. dao_treasury/main.py +247 -0
  24. dao_treasury/py.typed +0 -0
  25. dao_treasury/sorting/__init__.cpython-311-i386-linux-gnu.so +0 -0
  26. dao_treasury/sorting/__init__.py +295 -0
  27. dao_treasury/sorting/_matchers.cpython-311-i386-linux-gnu.so +0 -0
  28. dao_treasury/sorting/_matchers.py +387 -0
  29. dao_treasury/sorting/_rules.cpython-311-i386-linux-gnu.so +0 -0
  30. dao_treasury/sorting/_rules.py +235 -0
  31. dao_treasury/sorting/factory.cpython-311-i386-linux-gnu.so +0 -0
  32. dao_treasury/sorting/factory.py +299 -0
  33. dao_treasury/sorting/rule.cpython-311-i386-linux-gnu.so +0 -0
  34. dao_treasury/sorting/rule.py +346 -0
  35. dao_treasury/sorting/rules/__init__.cpython-311-i386-linux-gnu.so +0 -0
  36. dao_treasury/sorting/rules/__init__.py +1 -0
  37. dao_treasury/sorting/rules/ignore/__init__.cpython-311-i386-linux-gnu.so +0 -0
  38. dao_treasury/sorting/rules/ignore/__init__.py +1 -0
  39. dao_treasury/sorting/rules/ignore/llamapay.cpython-311-i386-linux-gnu.so +0 -0
  40. dao_treasury/sorting/rules/ignore/llamapay.py +20 -0
  41. dao_treasury/streams/__init__.cpython-311-i386-linux-gnu.so +0 -0
  42. dao_treasury/streams/__init__.py +0 -0
  43. dao_treasury/streams/llamapay.cpython-311-i386-linux-gnu.so +0 -0
  44. dao_treasury/streams/llamapay.py +388 -0
  45. dao_treasury/treasury.py +191 -0
  46. dao_treasury/types.cpython-311-i386-linux-gnu.so +0 -0
  47. dao_treasury/types.py +133 -0
  48. dao_treasury-0.0.42.dist-info/METADATA +119 -0
  49. dao_treasury-0.0.42.dist-info/RECORD +51 -0
  50. dao_treasury-0.0.42.dist-info/WHEEL +7 -0
  51. dao_treasury-0.0.42.dist-info/top_level.txt +2 -0
dao_treasury/types.py ADDED
@@ -0,0 +1,133 @@
1
+ from typing import TYPE_CHECKING, Awaitable, Callable, Iterable, Literal, NewType, Union
2
+
3
+ from y import Network
4
+
5
+ if TYPE_CHECKING:
6
+ from dao_treasury.db import TreasuryTx
7
+ from dao_treasury.sorting.rule import (
8
+ CostOfRevenueSortRule,
9
+ ExpenseSortRule,
10
+ IgnoreSortRule,
11
+ OtherExpenseSortRule,
12
+ OtherIncomeSortRule,
13
+ RevenueSortRule,
14
+ )
15
+
16
+
17
+ Networks = Union[Network, Iterable[Network]]
18
+ """Type alias for specifying one or more blockchain networks.
19
+
20
+ This can be a single :class:`~y.networks.Network` enum member or any iterable
21
+ of such members. It is used to restrict operations to specific networks when
22
+ configuring or querying treasury data.
23
+
24
+ Examples:
25
+ Specify a single network:
26
+ >>> net: Networks = Network.Mainnet
27
+
28
+ Specify multiple networks:
29
+ >>> nets: Networks = [Network.Mainnet, Network.Optimism]
30
+
31
+ See Also:
32
+ :class:`~y.networks.Network`
33
+ """
34
+
35
+
36
+ TopLevelCategory = Literal[
37
+ "Revenue",
38
+ "Cost of Revenue",
39
+ "Expenses",
40
+ "Other Income",
41
+ "Other Expenses",
42
+ "Ignore",
43
+ ]
44
+ """Literal type defining the allowed top‐level categories for treasury transactions.
45
+
46
+ Each transaction must be assigned to one of these categories in order to
47
+ generate financial reports.
48
+
49
+ Examples:
50
+ Grouping a transaction as revenue:
51
+ >>> cat: TopLevelCategory = "Revenue"
52
+
53
+ Ignoring a transaction:
54
+ >>> cat: TopLevelCategory = "Ignore"
55
+ """
56
+
57
+
58
+ TxGroupDbid = NewType("TxGroupDbid", int)
59
+ """NewType representing the primary key of a transaction group in the database.
60
+
61
+ This is the integer identifier returned by
62
+ :meth:`~dao_treasury.db.TxGroup.get_dbid`.
63
+
64
+ Examples:
65
+ Get the database ID for the "Expenses" group:
66
+ >>> dbid: TxGroupDbid = TxGroupDbid(3)
67
+ """
68
+
69
+
70
+ TxGroupName = str
71
+ """Alias for the human‐readable name of a transaction group.
72
+
73
+ Names are passed to
74
+ :meth:`~dao_treasury.db.TxGroup.get_dbid`
75
+ to retrieve or create groups in the database.
76
+
77
+ Examples:
78
+ Creating or retrieving the "Other Income" group:
79
+ >>> name: TxGroupName = "Other Income"
80
+ >>> dbid = TxGroup.get_dbid(name)
81
+ """
82
+
83
+
84
+ SortFunction = Union[
85
+ Callable[["TreasuryTx"], bool],
86
+ Callable[["TreasuryTx"], Awaitable[bool]],
87
+ ]
88
+ """Type for a function or coroutine that determines if a transaction matches a rule.
89
+
90
+ A sorting function takes a single :class:`~dao_treasury.db.TreasuryTx`
91
+ instance and returns a boolean or an awaitable resolving to a boolean to
92
+ indicate whether the rule applies.
93
+
94
+ Examples:
95
+ Synchronous matcher:
96
+ >>> def is_large(tx: TreasuryTx) -> bool:
97
+ ... return tx.amount > 1000
98
+
99
+ Asynchronous matcher:
100
+ >>> async def has_tag(tx: TreasuryTx) -> bool:
101
+ ... return await some_external_check(tx.hash)
102
+
103
+ See Also:
104
+ :class:`~dao_treasury.sorting.rule._SortRule.match`
105
+ """
106
+
107
+
108
+ SortRule = Union[
109
+ "RevenueSortRule",
110
+ "CostOfRevenueSortRule",
111
+ "ExpenseSortRule",
112
+ "OtherIncomeSortRule",
113
+ "OtherExpenseSortRule",
114
+ "IgnoreSortRule",
115
+ ]
116
+ """Union of all built‐in sort rule classes.
117
+
118
+ Each rule assigns transactions to a specific category by matching on
119
+ transaction attributes or by invoking a custom function.
120
+
121
+ Examples:
122
+ Define a list of available sort rules:
123
+ >>> from dao_treasury.sorting.rule import SORT_RULES
124
+ >>> rules: list[SortRule] = SORT_RULES
125
+
126
+ See Also:
127
+ :class:`~dao_treasury.sorting.rule.RevenueSortRule`
128
+ :class:`~dao_treasury.sorting.rule.ExpenseSortRule`
129
+ :class:`~dao_treasury.sorting.rule.IgnoreSortRule`
130
+ :class:`~dao_treasury.sorting.rule.CostOfRevenueSortRule`
131
+ :class:`~dao_treasury.sorting.rule.OtherIncomeSortRule`
132
+ :class:`~dao_treasury.sorting.rule.OtherExpenseSortRule`
133
+ """
@@ -0,0 +1,119 @@
1
+ Metadata-Version: 2.4
2
+ Name: dao_treasury
3
+ Version: 0.0.42
4
+ Summary: Produce comprehensive financial reports for your on-chain org
5
+ Classifier: Development Status :: 3 - Alpha
6
+ Classifier: Intended Audience :: Developers
7
+ Classifier: Intended Audience :: Science/Research
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.10
10
+ Classifier: Programming Language :: Python :: 3.11
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Classifier: Programming Language :: Python :: Implementation :: CPython
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Topic :: Software Development :: Libraries
15
+ Requires-Python: >=3.10,<3.13
16
+ Description-Content-Type: text/markdown
17
+ Requires-Dist: eth-portfolio-temp<0.1,>=0.0.38.dev0
18
+ Dynamic: classifier
19
+ Dynamic: description
20
+ Dynamic: description-content-type
21
+ Dynamic: requires-dist
22
+ Dynamic: requires-python
23
+ Dynamic: summary
24
+
25
+ DAO Treasury is a comprehensive financial reporting and treasury management solution designed specifically for decentralized organizations. Built as an extension to [eth-portfolio](https://github.com/BobTheBuidler/eth-portfolio)'s [Portfolio Exporter](https://bobthebuidler.github.io/eth-portfolio/exporter.html), DAO Treasury automates the collection and visualization of financial data, enabling organizations to monitor and report on treasury activities with clarity and transparency.
26
+
27
+ ## Key Features
28
+
29
+ - **Financial Reporting for DAOs:** Extends core portfolio functionalities to generate detailed reports tailored for on-chain organizations.
30
+ - **Dashboard Provisioning:** Utilizes [Grafana](https://grafana.com/) dashboards—defined in JSON files within the .grafana/provisioning directories—to offer real-time, dynamic visualizations of treasury data.
31
+ - **Automated Data Export:** Features a treasury export tool that, once configured (with a supported [brownie network](https://eth-brownie.readthedocs.io/en/stable/network-management.html) and [Docker](https://www.docker.com/get-started/)), continuously captures financial snapshots at set intervals.
32
+ - **Ease of Contribution:** Non-technical users can easily update or create dashboard visuals using Grafana’s intuitive UI. The [Contributing Guidelines](https://github.com/BobTheBuidler/dao-treasury/blob/master/CONTRIBUTING.md) document provides a step-by-step guide to defining new visuals and dashboards and integrating those changes into the repository, ensuring that anyone can contribute to the visual reporting aspect of the project.
33
+
34
+ ## Requirements
35
+ - Python 3.10 or higher.
36
+ - At least 16GB of RAM.
37
+ - All dependencies installed as specified in the project’s pyproject.toml file.
38
+
39
+ ## Prerequisites
40
+
41
+ - 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).
42
+ - You must configure a [brownie network](https://eth-brownie.readthedocs.io/en/stable/network-management.html) to use your RPC.
43
+ - 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.
44
+ - 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.
45
+
46
+ ## Installation
47
+
48
+ ```bash
49
+ pip install dao-treasury
50
+ ```
51
+
52
+ ## Usage
53
+
54
+ Run the treasury export tool:
55
+
56
+ ```bash
57
+ # For pip installations:
58
+ dao-treasury run --wallet 0x123 --network mainnet --interval 12h
59
+ ```
60
+
61
+ For local development (from source installation), use:
62
+ ```bash
63
+ poetry run dao-treasury run --wallet 0x123 --network mainnet --interval 12h
64
+ ```
65
+
66
+ **CLI Options:**
67
+ - `--network`: The id of the brownie network the exporter will connect to (default: mainnet)
68
+ - `--interval`: The time interval between each data snapshot (default: 12h)
69
+ - `--daemon`: Run the export process in the background (default: False) (NOTE: currently unsupported)
70
+ - `--grafana-port`: Set the port for the Grafana dashboard where you can view data (default: 3004)
71
+ - `--renderer-port`: Set the port for the report rendering service (default: 8091)
72
+ - `--victoria-port`: Set the port for the Victoria metrics reporting endpoint (default: 8430)
73
+ - `--start-renderer`: If set, both the Grafana and renderer containers will be started for dashboard image export. By default, only the grafana container is started.
74
+
75
+ After running the command, the export script will run continuously until you close your terminal.
76
+ To view the dashboards, just open your browser and navigate to [http://localhost:3004](http://localhost:3004)!
77
+
78
+ ## Docker
79
+
80
+ When you run DAO Treasury, [eth-portfolio](https://github.com/BobTheBuidler/eth-portfolio) will build and start 4 [required Docker containers](https://bobthebuidler.github.io/eth-portfolio/exporter.html#docker-containers) on your system. Additionally, DAO Treasury will build and start 2 more required containers:
81
+
82
+ - **grafana**
83
+ - Provides a web-based dashboard for visualizing your treasury data.
84
+ - Pre-configured with dashboards and plugins for real-time monitoring.
85
+ - Uses persistent storage to retain dashboard settings and data.
86
+ - Accessible locally (default port `3004`, configurable via `--grafana-port`).
87
+ - Supports anonymous access for convenience.
88
+ - Integrates with the renderer container for dashboard image export.
89
+ - Loads dashboards and data sources automatically via provisioning files.
90
+
91
+ - **renderer**
92
+ - Runs the official Grafana image renderer service.
93
+ - Enables Grafana to export dashboards as images for reporting or sharing.
94
+ - Operates on port `8091` by default (configurable via `--renderer-port`).
95
+ - Tightly integrated with the Grafana container for seamless image rendering.
96
+ - **Note:** The renderer container is only started if you pass the `--start-renderer` CLI flag.
97
+
98
+ **How it works:**
99
+ 1. DAO Treasury collects and exports treasury data.
100
+ 2. Grafana displays this data in pre-built dashboards for analysis and reporting.
101
+ 3. The renderer container allows dashboards to be exported as images directly from Grafana (if enabled).
102
+
103
+ **Additional Information:**
104
+ - All containers are orchestrated via Docker Compose and started automatically as needed.
105
+ - Grafana provisioning ensures dashboards and data sources are set up out-of-the-box.
106
+ - All dashboard data and settings are persisted for durability.
107
+ - Dashboard images can be generated for reporting via the renderer (if enabled).
108
+
109
+ ## Screenshots
110
+
111
+ #### [DAO Transactions Dashboard](https://bobthebuidler.github.io/dao-treasury/transactions.html)
112
+
113
+ ![image](https://github.com/user-attachments/assets/64eb8947-bdd9-490e-a9ea-c9a8e4194df2)
114
+
115
+ ## Contributing
116
+
117
+ We welcome contributions to DAO Treasury! For detailed guidelines on how to contribute, please see the [Contributing Guidelines](https://github.com/BobTheBuidler/dao-treasury/blob/master/CONTRIBUTING.md).
118
+
119
+ Enjoy!
@@ -0,0 +1,51 @@
1
+ bf2b4fe1f86ad2ea158b__mypyc.cpython-311-i386-linux-gnu.so,sha256=7YuvT0PcUu4_uq_E82OnYm6eLt2saoEr9xIvrOKI9Rg,1367100
2
+ dao_treasury/ENVIRONMENT_VARIABLES.py,sha256=LEczR1MSWTY00sLHnFs3j_Jm8WZNJCxjwEzrvjbwl2E,636
3
+ dao_treasury/__init__.py,sha256=W4syl9-cNhHOdD25ye9U7aBJTLE_R-uP49FXC_6CUOE,1477
4
+ dao_treasury/_docker.cpython-311-i386-linux-gnu.so,sha256=BLsQRJ9kPkatGXpgrRi819XOdDsMhcNzO4dp0EQTCmE,16248
5
+ dao_treasury/_docker.py,sha256=b3exLlhtaC9S3osrLQsL8SIOLKUtSoop2uue0cSP9WM,5908
6
+ dao_treasury/_nicknames.cpython-311-i386-linux-gnu.so,sha256=BiXjUEyJGH0xGeJdTs1CScn7FW1bY38Y6uaJ6C7RLj4,16268
7
+ dao_treasury/_nicknames.py,sha256=bvz0b8C31tFQ0pGtpSJW86OwjUF_qMBal4VXVT5UyLo,1017
8
+ dao_treasury/_wallet.cpython-311-i386-linux-gnu.so,sha256=2oymfcmqZilYzRHC9XF8CagwoOpuFI9sT8bR3oh4sHg,16248
9
+ dao_treasury/_wallet.py,sha256=epV8LVuwHlOzc9UkA66js7HfEiZBOSAGJMtWbDTzmjU,10462
10
+ dao_treasury/constants.cpython-311-i386-linux-gnu.so,sha256=t8-D2gkSRV8aF1W9qO5-Sa9DszC6AiR-5nGe6DbtMZU,16260
11
+ dao_treasury/constants.py,sha256=MM4X4TK2RD1JaTNMg7zdo6QjKZTTvep6g7TgckE7M-8,1220
12
+ dao_treasury/db.py,sha256=PfXCm8v4sLWdj3lenLJBA_076in300qKUSN9xdBEOCE,48013
13
+ dao_treasury/docker-compose.yaml,sha256=E6KE-IjWDisAM19PPDi4ApR6Eu7jmMTM6J9DhtgJvR4,1309
14
+ dao_treasury/main.py,sha256=31EA10Fpaj9y-cRJPnNnvCBI38UM0848xlzn7A0BzC4,8047
15
+ dao_treasury/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ dao_treasury/treasury.py,sha256=taTvwTH_Zdu2M61TrUCENcIUjxdQO3vryrZ2iVb6suM,7223
17
+ dao_treasury/types.cpython-311-i386-linux-gnu.so,sha256=dLltBTZEVhXquDI-QkYh7R2C-VsrGBEWxqTf2dgacTU,16240
18
+ dao_treasury/types.py,sha256=dJDx0hYfDDL3slcUzRnCgrzFFsgCzoqg8uaTtLaT4kk,3685
19
+ dao_treasury/.grafana/provisioning/dashboards/dashboards.yaml,sha256=tr6FBJeAAPX76db8E3qBBVWnq2-yrWDXDGuclMDg6dw,1277
20
+ dao_treasury/.grafana/provisioning/dashboards/streams/LlamaPay.json,sha256=9OzlVtq0wRBDw3MhoaYLrT_hd7w_V3c_B7bYNmX4TJo,7023
21
+ dao_treasury/.grafana/provisioning/dashboards/summary/Monthly.json,sha256=O6ghjzBf333baPjuMuUNguxF2v6rvPCiOu39sm1zxxY,6533
22
+ dao_treasury/.grafana/provisioning/dashboards/transactions/Treasury Transactions.json,sha256=gCWQTzawn5w9LVsxCi4SbobcVXK8IxXrZdk2syH4Ubg,13230
23
+ dao_treasury/.grafana/provisioning/dashboards/treasury/Cashflow (Including Unsorted).json,sha256=4TpUdEmo40EneKldjeNxaiNLW2-IsIBRiy5jz-nqFdY,25664
24
+ dao_treasury/.grafana/provisioning/dashboards/treasury/Cashflow.json,sha256=DOpO3leNVyUUQD5ou5FkdGCGc1xJmCRQjuzSUCvBnGU,18139
25
+ dao_treasury/.grafana/provisioning/dashboards/treasury/Operating Cashflow.json,sha256=tKtUeBp9p-g21MOaFMPItUoXF_coHMM000yNipNB_RU,14352
26
+ dao_treasury/.grafana/provisioning/dashboards/treasury/Treasury.json,sha256=p9bupL06-CKqkqCOb6KkgP1LCa6P1VMkq3yhkyqMAzI,70178
27
+ dao_treasury/.grafana/provisioning/datasources/datasources.yaml,sha256=mjQs8or651NgD_bZnKBm8vSghzjw_g3enL01YPt0dik,327
28
+ dao_treasury/sorting/__init__.cpython-311-i386-linux-gnu.so,sha256=-LAV5uxGNowx64yMQvfTwUS7Ysq8ObYfzkhd1xSoKRc,16248
29
+ dao_treasury/sorting/__init__.py,sha256=vKj3NPB7EWbX7_fSUWKXk-NsyPasOkFhJvJVGclBOAE,10371
30
+ dao_treasury/sorting/_matchers.cpython-311-i386-linux-gnu.so,sha256=pWnHtTW-YYrDlXiQFQrGLnYel_kOmb-Bmtxj0aCK3SQ,16276
31
+ dao_treasury/sorting/_matchers.py,sha256=u0GfPYiODr_NtzbfyLxEKDuXmWRiaeuZulDj9FPDOH8,14005
32
+ dao_treasury/sorting/_rules.cpython-311-i386-linux-gnu.so,sha256=mq17RitfgGl3JExMnG-bVAf-j47x0zDsHb8lyLNNc7Y,16264
33
+ dao_treasury/sorting/_rules.py,sha256=vWkqJVA8yCHKRv9sw872Jq6G0zpM-v_J1jCz-Mgleec,8994
34
+ dao_treasury/sorting/factory.cpython-311-i386-linux-gnu.so,sha256=eNpb3alin4cieY2MRbU-xpnfhJMvJnlF8r3cNVx_7EE,16264
35
+ dao_treasury/sorting/factory.py,sha256=pFD6luc0bKxOTT1hlAp3ZwJw6R0wN8pjIZrqMZwhsko,10185
36
+ dao_treasury/sorting/rule.cpython-311-i386-linux-gnu.so,sha256=p2Bc96hIVK4i3yqPobHHi57yxGYzk1NkNhuZ_BLWNSk,16252
37
+ dao_treasury/sorting/rule.py,sha256=-4dokQbRJ2GPJLEwtpgGG0aXAM1pW4jI17aezo--Z5g,11491
38
+ dao_treasury/sorting/rules/__init__.cpython-311-i386-linux-gnu.so,sha256=RcQ1KUkY8zO6KYwW9LeV0xZO3GS10rQ77NO8A4Ryga8,16256
39
+ dao_treasury/sorting/rules/__init__.py,sha256=ofzIsW0P74kuKr6DlScZIF8p7hBh6guRpe1uOq6oLLA,48
40
+ dao_treasury/sorting/rules/ignore/__init__.cpython-311-i386-linux-gnu.so,sha256=Q5yb_H2lbTsTzwJu9rHlP2pZW4k7e1HzkkA9h6apI-o,16276
41
+ dao_treasury/sorting/rules/ignore/__init__.py,sha256=dJ4oKSLe7fal1Ct7XtMCfVJAtvZXcyIomf8HF3gWUhQ,57
42
+ dao_treasury/sorting/rules/ignore/llamapay.cpython-311-i386-linux-gnu.so,sha256=UfSSqn0gQu7gCj0pyQit292HEHHIGIBeb48quHARQK0,16300
43
+ dao_treasury/sorting/rules/ignore/llamapay.py,sha256=NgiVt9MRtI-f4mw9U5_gqttdPqDa3vt_z5XWJP_UYWs,763
44
+ dao_treasury/streams/__init__.cpython-311-i386-linux-gnu.so,sha256=KIIOB5QSN6mhxxJm6U939Chf052ek03xWUDolitbNh4,16248
45
+ dao_treasury/streams/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
+ dao_treasury/streams/llamapay.cpython-311-i386-linux-gnu.so,sha256=hEHuVvkd5nuYaRr-VzTPCWvjpnaDCE1N4n1D2vFZJZ8,16272
47
+ dao_treasury/streams/llamapay.py,sha256=yn37gwVfqGFF9fOhHuj9_t7KlHGyrdekF2TUmVDyg64,13147
48
+ dao_treasury-0.0.42.dist-info/METADATA,sha256=85p3P6VAMpOINstFqJ4y84mLiaxe6pjQb6SXFz5ejcc,7030
49
+ dao_treasury-0.0.42.dist-info/WHEEL,sha256=TVIpuzrcH5e35TaRIjz3w0RzSOv44d8cwjiur4qemmA,180
50
+ dao_treasury-0.0.42.dist-info/top_level.txt,sha256=Gw-ri_26lZA_3hwhnOX48mffUbmBGr8NhtoQ0XoMeF8,41
51
+ dao_treasury-0.0.42.dist-info/RECORD,,
@@ -0,0 +1,7 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: false
4
+ Tag: cp311-cp311-manylinux_2_5_i686
5
+ Tag: cp311-cp311-manylinux1_i686
6
+ Tag: cp311-cp311-manylinux_2_28_i686
7
+
@@ -0,0 +1,2 @@
1
+ bf2b4fe1f86ad2ea158b__mypyc
2
+ dao_treasury