dao-treasury 0.0.42__cp311-cp311-macosx_11_0_arm64.whl → 0.0.69__cp311-cp311-macosx_11_0_arm64.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.
- dao_treasury/.grafana/provisioning/dashboards/breakdowns/Expenses.json +551 -0
- dao_treasury/.grafana/provisioning/dashboards/breakdowns/Revenue.json +551 -0
- dao_treasury/.grafana/provisioning/dashboards/dashboards.yaml +7 -57
- dao_treasury/.grafana/provisioning/dashboards/streams/LlamaPay.json +11 -16
- dao_treasury/.grafana/provisioning/dashboards/summary/Monthly.json +15 -15
- dao_treasury/.grafana/provisioning/dashboards/transactions/Treasury Transactions.json +38 -61
- dao_treasury/.grafana/provisioning/dashboards/treasury/Cashflow (Including Unsorted).json +122 -149
- dao_treasury/.grafana/provisioning/dashboards/treasury/Cashflow.json +87 -100
- dao_treasury/.grafana/provisioning/dashboards/treasury/Current Treasury Assets.json +1009 -0
- dao_treasury/.grafana/provisioning/dashboards/treasury/Historical Treasury Balances.json +2989 -0
- dao_treasury/.grafana/provisioning/dashboards/treasury/Operating Cashflow.json +64 -78
- dao_treasury/_docker.cpython-311-darwin.so +0 -0
- dao_treasury/_docker.py +24 -20
- dao_treasury/_nicknames.cpython-311-darwin.so +0 -0
- dao_treasury/_wallet.cpython-311-darwin.so +0 -0
- dao_treasury/constants.cpython-311-darwin.so +0 -0
- dao_treasury/constants.py +5 -0
- dao_treasury/db.py +49 -3
- dao_treasury/docker-compose.yaml +1 -1
- dao_treasury/main.py +6 -0
- dao_treasury/sorting/__init__.cpython-311-darwin.so +0 -0
- dao_treasury/sorting/_matchers.cpython-311-darwin.so +0 -0
- dao_treasury/sorting/_rules.cpython-311-darwin.so +0 -0
- dao_treasury/sorting/factory.cpython-311-darwin.so +0 -0
- dao_treasury/sorting/rule.cpython-311-darwin.so +0 -0
- dao_treasury/sorting/rule.py +8 -10
- dao_treasury/sorting/rules/__init__.cpython-311-darwin.so +0 -0
- dao_treasury/sorting/rules/ignore/__init__.cpython-311-darwin.so +0 -0
- dao_treasury/sorting/rules/ignore/llamapay.cpython-311-darwin.so +0 -0
- dao_treasury/streams/__init__.cpython-311-darwin.so +0 -0
- dao_treasury/streams/llamapay.cpython-311-darwin.so +0 -0
- dao_treasury/types.cpython-311-darwin.so +0 -0
- {dao_treasury-0.0.42.dist-info → dao_treasury-0.0.69.dist-info}/METADATA +4 -3
- dao_treasury-0.0.69.dist-info/RECORD +54 -0
- dao_treasury-0.0.69.dist-info/top_level.txt +2 -0
- dao_treasury__mypyc.cpython-311-darwin.so +0 -0
- bf2b4fe1f86ad2ea158b__mypyc.cpython-311-darwin.so +0 -0
- dao_treasury/.grafana/provisioning/dashboards/treasury/Treasury.json +0 -2018
- dao_treasury-0.0.42.dist-info/RECORD +0 -51
- dao_treasury-0.0.42.dist-info/top_level.txt +0 -2
- {dao_treasury-0.0.42.dist-info → dao_treasury-0.0.69.dist-info}/WHEEL +0 -0
dao_treasury/sorting/rule.py
CHANGED
|
@@ -130,8 +130,6 @@ class _SortRule:
|
|
|
130
130
|
func: Optional[SortFunction] = None
|
|
131
131
|
"""Custom matching function that takes a `TreasuryTx` and returns a bool or an awaitable that returns a bool."""
|
|
132
132
|
|
|
133
|
-
# __instances__: ClassVar[List[Self]] = []
|
|
134
|
-
|
|
135
133
|
def __post_init__(self) -> None:
|
|
136
134
|
"""Validate inputs, checksum addresses, and register the rule.
|
|
137
135
|
|
|
@@ -235,7 +233,7 @@ class _InboundSortRule(_SortRule):
|
|
|
235
233
|
return (
|
|
236
234
|
tx.to_address is not None
|
|
237
235
|
and TreasuryWallet.check_membership(tx.to_address.address, tx.block)
|
|
238
|
-
and await super().match(tx)
|
|
236
|
+
and await super(_InboundSortRule, self).match(tx)
|
|
239
237
|
)
|
|
240
238
|
|
|
241
239
|
|
|
@@ -250,7 +248,7 @@ class _OutboundSortRule(_SortRule):
|
|
|
250
248
|
async def match(self, tx: "TreasuryTx") -> bool:
|
|
251
249
|
return TreasuryWallet.check_membership(
|
|
252
250
|
tx.from_address.address, tx.block
|
|
253
|
-
) and await super().match(tx)
|
|
251
|
+
) and await super(_OutboundSortRule, self).match(tx)
|
|
254
252
|
|
|
255
253
|
|
|
256
254
|
@mypyc_attr(native_class=False)
|
|
@@ -267,7 +265,7 @@ class RevenueSortRule(_InboundSortRule):
|
|
|
267
265
|
def __post_init__(self) -> None:
|
|
268
266
|
"""Prepends `self.txgroup` with 'Revenue:'."""
|
|
269
267
|
object.__setattr__(self, "txgroup", f"Revenue:{self.txgroup}")
|
|
270
|
-
super().__post_init__()
|
|
268
|
+
super(RevenueSortRule, self).__post_init__()
|
|
271
269
|
|
|
272
270
|
|
|
273
271
|
@mypyc_attr(native_class=False)
|
|
@@ -280,7 +278,7 @@ class CostOfRevenueSortRule(_OutboundSortRule):
|
|
|
280
278
|
def __post_init__(self) -> None:
|
|
281
279
|
"""Prepends `self.txgroup` with 'Cost of Revenue:'."""
|
|
282
280
|
object.__setattr__(self, "txgroup", f"Cost of Revenue:{self.txgroup}")
|
|
283
|
-
super().__post_init__()
|
|
281
|
+
super(CostOfRevenueSortRule, self).__post_init__()
|
|
284
282
|
|
|
285
283
|
|
|
286
284
|
@mypyc_attr(native_class=False)
|
|
@@ -293,7 +291,7 @@ class ExpenseSortRule(_OutboundSortRule):
|
|
|
293
291
|
def __post_init__(self) -> None:
|
|
294
292
|
"""Prepends `self.txgroup` with 'Expenses:'."""
|
|
295
293
|
object.__setattr__(self, "txgroup", f"Expenses:{self.txgroup}")
|
|
296
|
-
super().__post_init__()
|
|
294
|
+
super(ExpenseSortRule, self).__post_init__()
|
|
297
295
|
|
|
298
296
|
|
|
299
297
|
@mypyc_attr(native_class=False)
|
|
@@ -306,7 +304,7 @@ class OtherIncomeSortRule(_InboundSortRule):
|
|
|
306
304
|
def __post_init__(self) -> None:
|
|
307
305
|
"""Prepends `self.txgroup` with 'Other Income:'."""
|
|
308
306
|
object.__setattr__(self, "txgroup", f"Other Income:{self.txgroup}")
|
|
309
|
-
super().__post_init__()
|
|
307
|
+
super(OtherIncomeSortRule, self).__post_init__()
|
|
310
308
|
|
|
311
309
|
|
|
312
310
|
@mypyc_attr(native_class=False)
|
|
@@ -319,7 +317,7 @@ class OtherExpenseSortRule(_OutboundSortRule):
|
|
|
319
317
|
def __post_init__(self) -> None:
|
|
320
318
|
"""Prepends `self.txgroup` with 'Other Expenses:'."""
|
|
321
319
|
object.__setattr__(self, "txgroup", f"Other Expenses:{self.txgroup}")
|
|
322
|
-
super().__post_init__()
|
|
320
|
+
super(OtherExpenseSortRule, self).__post_init__()
|
|
323
321
|
|
|
324
322
|
|
|
325
323
|
@mypyc_attr(native_class=False)
|
|
@@ -332,7 +330,7 @@ class IgnoreSortRule(_SortRule):
|
|
|
332
330
|
def __post_init__(self) -> None:
|
|
333
331
|
"""Prepends `self.txgroup` with 'Ignore:'."""
|
|
334
332
|
object.__setattr__(self, "txgroup", f"Ignore:{self.txgroup}")
|
|
335
|
-
super().__post_init__()
|
|
333
|
+
super(IgnoreSortRule, self).__post_init__()
|
|
336
334
|
|
|
337
335
|
|
|
338
336
|
TRule = TypeVar(
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dao_treasury
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.69
|
|
4
4
|
Summary: Produce comprehensive financial reports for your on-chain org
|
|
5
5
|
Classifier: Development Status :: 3 - Alpha
|
|
6
6
|
Classifier: Intended Audience :: Developers
|
|
@@ -14,7 +14,7 @@ Classifier: Operating System :: OS Independent
|
|
|
14
14
|
Classifier: Topic :: Software Development :: Libraries
|
|
15
15
|
Requires-Python: >=3.10,<3.13
|
|
16
16
|
Description-Content-Type: text/markdown
|
|
17
|
-
Requires-Dist: eth-portfolio-temp
|
|
17
|
+
Requires-Dist: eth-portfolio-temp==0.2.17
|
|
18
18
|
Dynamic: classifier
|
|
19
19
|
Dynamic: description
|
|
20
20
|
Dynamic: description-content-type
|
|
@@ -41,7 +41,7 @@ DAO Treasury is a comprehensive financial reporting and treasury management solu
|
|
|
41
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
42
|
- You must configure a [brownie network](https://eth-brownie.readthedocs.io/en/stable/network-management.html) to use your RPC.
|
|
43
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
|
|
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 DAO Treasury is running.
|
|
45
45
|
|
|
46
46
|
## Installation
|
|
47
47
|
|
|
@@ -66,6 +66,7 @@ poetry run dao-treasury run --wallet 0x123 --network mainnet --interval 12h
|
|
|
66
66
|
**CLI Options:**
|
|
67
67
|
- `--network`: The id of the brownie network the exporter will connect to (default: mainnet)
|
|
68
68
|
- `--interval`: The time interval between each data snapshot (default: 12h)
|
|
69
|
+
- `--concurrency`: The max number of historical blocks to export concurrently. (default: 30)
|
|
69
70
|
- `--daemon`: Run the export process in the background (default: False) (NOTE: currently unsupported)
|
|
70
71
|
- `--grafana-port`: Set the port for the Grafana dashboard where you can view data (default: 3004)
|
|
71
72
|
- `--renderer-port`: Set the port for the report rendering service (default: 8091)
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
dao_treasury__mypyc.cpython-311-darwin.so,sha256=tgKESU_EqBQPbzqm927sFzEwdOljqDsWKQaO0PwZZdE,1231256
|
|
2
|
+
dao_treasury-0.0.69.dist-info/RECORD,,
|
|
3
|
+
dao_treasury-0.0.69.dist-info/WHEEL,sha256=sunMa2yiYbrNLGeMVDqEA0ayyJbHlex7SCn1TZrEq60,136
|
|
4
|
+
dao_treasury-0.0.69.dist-info/top_level.txt,sha256=CV8aYytuSYplDhLVY4n0GphckdysXCd1lHmbqfsPxNk,33
|
|
5
|
+
dao_treasury-0.0.69.dist-info/METADATA,sha256=nvHMuGdpOK5wplMI1rk4FRymCtKZJP7VPpLe_YTX2j4,7111
|
|
6
|
+
dao_treasury/_nicknames.cpython-311-darwin.so,sha256=wn0Rsr7S7s7g5l4U4Qw9ZhjFvdnK9pQ4jOphdqLHB8A,50656
|
|
7
|
+
dao_treasury/_wallet.py,sha256=epV8LVuwHlOzc9UkA66js7HfEiZBOSAGJMtWbDTzmjU,10462
|
|
8
|
+
dao_treasury/db.py,sha256=WEM89soGJ-qI0KVk2XdmcUDtOGe-IUiw5cKQu7EKsvQ,49280
|
|
9
|
+
dao_treasury/docker-compose.yaml,sha256=SsfbKO8XiKxu0ckhFVRF8YA3dMWOnGhwvpJg_8YDXB0,1309
|
|
10
|
+
dao_treasury/ENVIRONMENT_VARIABLES.py,sha256=LEczR1MSWTY00sLHnFs3j_Jm8WZNJCxjwEzrvjbwl2E,636
|
|
11
|
+
dao_treasury/_wallet.cpython-311-darwin.so,sha256=jMGr-z5z-bDZKkmb1_dblLJof_7J26zbnoqvwVkrQao,50640
|
|
12
|
+
dao_treasury/constants.py,sha256=BGWVeN4KqpxWDGLG-DjPmdXmyVEb2C9KpMig9RaGJws,1444
|
|
13
|
+
dao_treasury/types.cpython-311-darwin.so,sha256=3S_Eks83q_RPR9iuuyxb_7BXHiv0MPnu2Nac5cfDH34,50616
|
|
14
|
+
dao_treasury/__init__.py,sha256=W4syl9-cNhHOdD25ye9U7aBJTLE_R-uP49FXC_6CUOE,1477
|
|
15
|
+
dao_treasury/_nicknames.py,sha256=bvz0b8C31tFQ0pGtpSJW86OwjUF_qMBal4VXVT5UyLo,1017
|
|
16
|
+
dao_treasury/types.py,sha256=dJDx0hYfDDL3slcUzRnCgrzFFsgCzoqg8uaTtLaT4kk,3685
|
|
17
|
+
dao_treasury/_docker.cpython-311-darwin.so,sha256=Nsmh3H1WOwadCayx8xjAUqAL8CKA8WH5bhp8UhYMBws,50640
|
|
18
|
+
dao_treasury/_docker.py,sha256=9_XTuBClqNK6qQjSsVk_fdBWPgfSj8EuDIcE9-whBB4,5924
|
|
19
|
+
dao_treasury/constants.cpython-311-darwin.so,sha256=stenUadN9jDlGVzDO0rMmNtyJI84WjQZTKyNzigtZWk,50656
|
|
20
|
+
dao_treasury/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
|
+
dao_treasury/treasury.py,sha256=taTvwTH_Zdu2M61TrUCENcIUjxdQO3vryrZ2iVb6suM,7223
|
|
22
|
+
dao_treasury/main.py,sha256=uMY5XP_GpxO6Qd9VA1YMLzMOd-O4VnxbGJ2Pdqh0Zo0,8205
|
|
23
|
+
dao_treasury/.grafana/provisioning/datasources/datasources.yaml,sha256=mjQs8or651NgD_bZnKBm8vSghzjw_g3enL01YPt0dik,327
|
|
24
|
+
dao_treasury/.grafana/provisioning/dashboards/dashboards.yaml,sha256=7WQaeajNf9hNnPJA9SZgvPot9m7TbzyN21BIbB8MaHM,191
|
|
25
|
+
dao_treasury/.grafana/provisioning/dashboards/breakdowns/Revenue.json,sha256=sPwG6ERjiJVPyivYS2iPCtFDdxUAWpyz4e3NGcT0tcE,18620
|
|
26
|
+
dao_treasury/.grafana/provisioning/dashboards/breakdowns/Expenses.json,sha256=fMBSldgUmZm3dDHb6D7ShQ7R2eCH4CWbhZCRhz21cOw,19413
|
|
27
|
+
dao_treasury/.grafana/provisioning/dashboards/streams/LlamaPay.json,sha256=Ct8FRa0c_FQEBTKaGpC0y2cBhYM_YYU_v0uOUBJAqQU,7504
|
|
28
|
+
dao_treasury/.grafana/provisioning/dashboards/transactions/Treasury Transactions.json,sha256=4R4L3jHegSTewWGRDayGscDZqVv5Laf6K77jK0TYeyY,14700
|
|
29
|
+
dao_treasury/.grafana/provisioning/dashboards/treasury/Cashflow (Including Unsorted).json,sha256=rUzNnSnR33YyJDLwzPL8iPn34CYaYVsL2V4vEZwvQf0,27346
|
|
30
|
+
dao_treasury/.grafana/provisioning/dashboards/treasury/Historical Treasury Balances.json,sha256=jTSvRNQu9QAjL7v2lJWbkDa_p8vnFecTQsbqIPJ2d3o,104559
|
|
31
|
+
dao_treasury/.grafana/provisioning/dashboards/treasury/Current Treasury Assets.json,sha256=mysaX1aoB9pB5OTrp2vlrGLRfAxsDCUOMsnL9rbxOc0,25951
|
|
32
|
+
dao_treasury/.grafana/provisioning/dashboards/treasury/Operating Cashflow.json,sha256=7xRABZ9m1iFXDVeLX-4x6ByyGnE7GQQrSGUPk2pRvww,15471
|
|
33
|
+
dao_treasury/.grafana/provisioning/dashboards/treasury/Cashflow.json,sha256=f7hl5DyxhrebpXqGsq2FJhrNIvpInD9VwoH0N6jqIFY,19637
|
|
34
|
+
dao_treasury/.grafana/provisioning/dashboards/summary/Monthly.json,sha256=Xa0GyAOK_3fDn5u89_6yzzd-SKo_LEotH8t4GnXsUTg,7050
|
|
35
|
+
dao_treasury/streams/llamapay.py,sha256=yn37gwVfqGFF9fOhHuj9_t7KlHGyrdekF2TUmVDyg64,13147
|
|
36
|
+
dao_treasury/streams/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
+
dao_treasury/streams/__init__.cpython-311-darwin.so,sha256=6DTXfF4MSFV-wAhuJ5PtUuxX9Cp0qlfkwGTaRyDX2bs,50640
|
|
38
|
+
dao_treasury/streams/llamapay.cpython-311-darwin.so,sha256=FQwbRPH5cfQOK03LxIs3mYVpKEHBbKZOUyJp0m7T56A,50656
|
|
39
|
+
dao_treasury/sorting/_rules.py,sha256=vWkqJVA8yCHKRv9sw872Jq6G0zpM-v_J1jCz-Mgleec,8994
|
|
40
|
+
dao_treasury/sorting/factory.cpython-311-darwin.so,sha256=v6azWlfbKwZ1K7Wf6WVb5QxutBavYXbq7s8dYgq0prA,50656
|
|
41
|
+
dao_treasury/sorting/__init__.py,sha256=vKj3NPB7EWbX7_fSUWKXk-NsyPasOkFhJvJVGclBOAE,10371
|
|
42
|
+
dao_treasury/sorting/rule.cpython-311-darwin.so,sha256=RszywPLFR4mFlR2tZldXzl_cbNblXwFxvaJQvOn54o0,50632
|
|
43
|
+
dao_treasury/sorting/_matchers.cpython-311-darwin.so,sha256=6dRGQYncNfw4p8iM6wBhV58HLZQdpH83DXo1A-UkN8A,50656
|
|
44
|
+
dao_treasury/sorting/factory.py,sha256=pFD6luc0bKxOTT1hlAp3ZwJw6R0wN8pjIZrqMZwhsko,10185
|
|
45
|
+
dao_treasury/sorting/rule.py,sha256=WtGGN5mOd6S2Bhk7v5lsBWSSzVGKON7V10ImrUN79Y4,11628
|
|
46
|
+
dao_treasury/sorting/__init__.cpython-311-darwin.so,sha256=PeM_dR4dGzGNf1t2WN2tM6sfIkuck8ew2qwEo-_7fUM,50640
|
|
47
|
+
dao_treasury/sorting/_rules.cpython-311-darwin.so,sha256=AlFokMRSmhC3Fnvk8_4YSF5P3U4hH1NTjuq_AI-Iok0,50640
|
|
48
|
+
dao_treasury/sorting/_matchers.py,sha256=u0GfPYiODr_NtzbfyLxEKDuXmWRiaeuZulDj9FPDOH8,14005
|
|
49
|
+
dao_treasury/sorting/rules/__init__.py,sha256=ofzIsW0P74kuKr6DlScZIF8p7hBh6guRpe1uOq6oLLA,48
|
|
50
|
+
dao_treasury/sorting/rules/__init__.cpython-311-darwin.so,sha256=4-UEcFYqlvKOsI5bTLXtNsNqhUCGf-1mXOEzQ6PsuLc,50640
|
|
51
|
+
dao_treasury/sorting/rules/ignore/llamapay.py,sha256=NgiVt9MRtI-f4mw9U5_gqttdPqDa3vt_z5XWJP_UYWs,763
|
|
52
|
+
dao_treasury/sorting/rules/ignore/__init__.py,sha256=dJ4oKSLe7fal1Ct7XtMCfVJAtvZXcyIomf8HF3gWUhQ,57
|
|
53
|
+
dao_treasury/sorting/rules/ignore/__init__.cpython-311-darwin.so,sha256=4IWkbG2lsUa8O4eLxCCc2-9_1V5MzB3C_sHslOQlpYI,50656
|
|
54
|
+
dao_treasury/sorting/rules/ignore/llamapay.cpython-311-darwin.so,sha256=ltGqmT6Cmb7j3NUgoQkXijQaB8XwQb7xNYcMqMlskK8,50672
|
|
Binary file
|
|
Binary file
|