dao-treasury 0.0.31__cp311-cp311-macosx_11_0_arm64.whl → 0.0.32__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.
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  import asyncio
2
- from datetime import datetime, timedelta, timezone
3
- from decimal import Decimal
2
+ import datetime as dt
3
+ import decimal
4
4
  from logging import getLogger
5
5
  from typing import (
6
6
  Awaitable,
@@ -21,7 +21,7 @@ from brownie.network.event import _EventItem
21
21
  from eth_typing import BlockNumber, ChecksumAddress, HexAddress, HexStr
22
22
  from tqdm.asyncio import tqdm_asyncio
23
23
 
24
- from y import Contract, Network, get_block_at_timestamp, get_price
24
+ import y
25
25
  from y.time import UnixTimestamp
26
26
  from y.utils.events import decode_logs, get_logs_asap
27
27
 
@@ -38,18 +38,31 @@ from dao_treasury._wallet import TreasuryWallet
38
38
 
39
39
  logger: Final = getLogger(__name__)
40
40
 
41
- _UTC: Final = timezone.utc
41
+ _UTC: Final = dt.timezone.utc
42
42
 
43
43
  _ONE_DAY: Final = 60 * 60 * 24
44
44
 
45
45
  _STREAMS_THREAD: Final = AsyncThreadPoolExecutor(1)
46
46
 
47
47
  create_task: Final = asyncio.create_task
48
+ sleep: Final = asyncio.sleep
49
+
50
+ datetime: Final = dt.datetime
51
+ timedelta: Final = dt.timedelta
52
+ fromtimestamp: Final = datetime.fromtimestamp
53
+ now: Final = datetime.now
54
+
55
+ Decimal: Final = decimal.Decimal
48
56
 
49
57
  ObjectNotFound: Final = pony.orm.ObjectNotFound
50
58
  commit: Final = pony.orm.commit
51
59
  db_session: Final = pony.orm.db_session
52
60
 
61
+ Contract: Final = y.Contract
62
+ Network: Final = y.Network
63
+ get_block_at_timestamp: Final = y.get_block_at_timestamp
64
+ get_price: Final = y.get_price
65
+
53
66
 
54
67
  networks: Final = [Network.Mainnet]
55
68
 
@@ -67,13 +80,13 @@ if yfi_stream_factory := {
67
80
 
68
81
 
69
82
  def _generate_dates(
70
- start: datetime, end: datetime, stop_at_today: bool = True
71
- ) -> Iterator[datetime]:
83
+ start: dt.datetime, end: dt.datetime, stop_at_today: bool = True
84
+ ) -> Iterator[dt.datetime]:
72
85
  current = start
73
86
  while current < end:
74
87
  yield current
75
88
  current += timedelta(days=1)
76
- if stop_at_today and current.date() > datetime.now(_UTC).date():
89
+ if stop_at_today and current.date() > now(_UTC).date():
77
90
  break
78
91
 
79
92
 
@@ -86,7 +99,7 @@ def _get_streamToStart(stream_id: HexStr) -> _StreamToStart:
86
99
  if streamToStart := _streamToStart_cache.get(stream_id):
87
100
  return streamToStart
88
101
  with db_session:
89
- contract: Contract = Stream[stream_id].contract.contract # type: ignore [misc]
102
+ contract: y.Contract = Stream[stream_id].contract.contract # type: ignore [misc]
90
103
  streamToStart = contract.streamToStart.coroutine
91
104
  _streamToStart_cache[stream_id] = streamToStart
92
105
  return streamToStart
@@ -163,7 +176,7 @@ class LlamaPayProcessor:
163
176
  for stream_contract in self.stream_contracts
164
177
  )
165
178
 
166
- async def _load_contract_events(self, stream_contract: Contract) -> None:
179
+ async def _load_contract_events(self, stream_contract: y.Contract) -> None:
167
180
  events = decode_logs(
168
181
  await get_logs_asap(stream_contract.address, None, sync=False)
169
182
  )
@@ -311,7 +324,7 @@ class LlamaPayProcessor:
311
324
  return
312
325
 
313
326
  async def process_stream_for_date(
314
- self, stream_id: HexStr, date_obj: datetime
327
+ self, stream_id: HexStr, date_obj: dt.datetime
315
328
  ) -> Optional[StreamedFunds]:
316
329
  entity = await _STREAMS_THREAD.run(
317
330
  StreamedFunds.get_entity, stream_id, date_obj
@@ -323,8 +336,10 @@ class LlamaPayProcessor:
323
336
  Stream._get_token_and_start_date, stream_id
324
337
  )
325
338
  check_at = date_obj + timedelta(days=1) - timedelta(seconds=1)
339
+ if check_at > now(tz=_UTC):
340
+ await sleep((check_at - now(tz=_UTC)).total_seconds())
326
341
  block = await get_block_at_timestamp(check_at, sync=False)
327
- price_fut = asyncio.create_task(get_price(stream_token, block, sync=False))
342
+ price_fut = create_task(get_price(stream_token, block, sync=False))
328
343
  start_timestamp = await _get_start_timestamp(stream_id, block)
329
344
  if start_timestamp == 0:
330
345
  if await _STREAMS_THREAD.run(Stream.check_closed, stream_id):
@@ -335,9 +350,7 @@ class LlamaPayProcessor:
335
350
  block -= 1
336
351
  start_timestamp = await _get_start_timestamp(stream_id, block)
337
352
 
338
- block_datetime = datetime.fromtimestamp(
339
- await _get_block_timestamp(block), tz=_UTC
340
- )
353
+ block_datetime = fromtimestamp(await _get_block_timestamp(block), tz=_UTC)
341
354
  assert block_datetime.date() == date_obj.date()
342
355
  seconds_active = (check_at - block_datetime).seconds
343
356
  is_last_day = True
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dao_treasury
3
- Version: 0.0.31
3
+ Version: 0.0.32
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
@@ -1,18 +1,22 @@
1
- 17ebe61b88bd37338d0a__mypyc.cpython-311-darwin.so,sha256=cWQAj-Nxy4XRkonjkLy5imr-UwKG_s-9C4VVGdCoKfk,796752
2
- dao_treasury/_nicknames.cpython-311-darwin.so,sha256=Ej0MWHC36k-PLSzLyKmh5R06TKMT33XjKYQCfip4x3E,50656
1
+ bf2b4fe1f86ad2ea158b__mypyc.cpython-311-darwin.so,sha256=NOSozf2MedPPXXxif-KZZR4sLMYj4XcM7sQA9aO08Us,797632
2
+ dao_treasury-0.0.32.dist-info/RECORD,,
3
+ dao_treasury-0.0.32.dist-info/WHEEL,sha256=sunMa2yiYbrNLGeMVDqEA0ayyJbHlex7SCn1TZrEq60,136
4
+ dao_treasury-0.0.32.dist-info/top_level.txt,sha256=Gw-ri_26lZA_3hwhnOX48mffUbmBGr8NhtoQ0XoMeF8,41
5
+ dao_treasury-0.0.32.dist-info/METADATA,sha256=CtChVdcnb51eL9ngQP9PEA_D4uYWnelEtQuAUkD9G_g,7030
6
+ dao_treasury/_nicknames.cpython-311-darwin.so,sha256=nbRkXzb-cL-Pvv16DA5-o76DR04cP3GpfNy-Mpn4odc,50656
3
7
  dao_treasury/_wallet.py,sha256=sIeUsyu9Y8MmOm-9bfwIEYjJ9Owgv1GXdTLZpcXMnCg,10338
4
8
  dao_treasury/db.py,sha256=pGz4C2OmxHI9CyrphbFzs04aiVP_VQeViaavCiJuR3o,44831
5
9
  dao_treasury/docker-compose.yaml,sha256=Q6NPNT9iKkKOehDcKtxltvQjbxZuXmb51Tjwb1M21_I,1376
6
10
  dao_treasury/ENVIRONMENT_VARIABLES.py,sha256=yKvgOMUyU7-fF_-1zSMXML7ah7-r2f0oHrOV0p10LPc,195
7
- dao_treasury/_wallet.cpython-311-darwin.so,sha256=S1qvmRAv2G-1kntstGzl_OVnHVJMqbhwmcHM6gt2Oyw,50640
11
+ dao_treasury/_wallet.cpython-311-darwin.so,sha256=ReOySs4GrStU5uBgQO85OhjS19QJjfNQMR5aggecJsw,50640
8
12
  dao_treasury/constants.py,sha256=IFg_CyVnfPhPjKyFX1Ix4QaB8ghbOI5QZGSy2TNsUSA,507
9
- dao_treasury/types.cpython-311-darwin.so,sha256=ImcEfCD9ZdVfaEXd3ArEPXr84vlBFffQc1UvIiI3MEU,50616
13
+ dao_treasury/types.cpython-311-darwin.so,sha256=WtW1JGy5YifHU17yacWqhG8X7j2_QSmZXb46Rn5QOz8,50616
10
14
  dao_treasury/__init__.py,sha256=ZQ0ZROQzSyJdYuQS1Z_VD0c7CiV8BWZcLTX66wO4slc,1004
11
15
  dao_treasury/_nicknames.py,sha256=deSpcDMtC_78C07tW0fZ_NzHIfHXsoHBVXfb_Dvlzsw,480
12
16
  dao_treasury/types.py,sha256=dJDx0hYfDDL3slcUzRnCgrzFFsgCzoqg8uaTtLaT4kk,3685
13
- dao_treasury/_docker.cpython-311-darwin.so,sha256=1fCP5V7VIRvoxtCynG5YiPn-LIgZQOyvtoST0OsP4GU,50640
17
+ dao_treasury/_docker.cpython-311-darwin.so,sha256=4RP1vJEoIVk1MvgwnwAtQDHezHSwj-s7cKTGuyz-278,50640
14
18
  dao_treasury/_docker.py,sha256=7MnPA5xhRCM8Kqiogk87ltUVn8i_hpkNgO_hFC-7sPw,5430
15
- dao_treasury/constants.cpython-311-darwin.so,sha256=pq5vURRISV81xpKYEn2bYDCH_44wacgVzk8u0Z_ROi4,50656
19
+ dao_treasury/constants.cpython-311-darwin.so,sha256=-NILa8cL1Bfnq74sidZSFlUaxJzOG3-DQBQdv_ZHs_g,50656
16
20
  dao_treasury/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
21
  dao_treasury/treasury.py,sha256=7xLVQPqnDd3cexbYuF1opTjCiHgkPqHFOanRom8wiLE,6506
18
22
  dao_treasury/main.py,sha256=31EA10Fpaj9y-cRJPnNnvCBI38UM0848xlzn7A0BzC4,8047
@@ -23,27 +27,23 @@ dao_treasury/.grafana/provisioning/dashboards/transactions/Treasury Transactions
23
27
  dao_treasury/.grafana/provisioning/dashboards/treasury/Treasury.json,sha256=p9bupL06-CKqkqCOb6KkgP1LCa6P1VMkq3yhkyqMAzI,70178
24
28
  dao_treasury/.grafana/provisioning/dashboards/treasury/Cashflow.json,sha256=52LHxaxfPj5NoPB1guTvayd08ETIfFjlydBsoywnxjI,42349
25
29
  dao_treasury/.grafana/provisioning/dashboards/summary/Monthly.json,sha256=y7t4O0ujImcfVULGsV_0WxcZCm7sz1jtAB5ZXUfPww4,7911
26
- dao_treasury/streams/llamapay.py,sha256=jg6oiFWy5WmDnHXJucG-hsAEeOHQQcMOa5cv7A7QcsA,12465
30
+ dao_treasury/streams/llamapay.py,sha256=xc2sgmTV4EnQFFemea87QoUdIeGtO9OJQCwJG9c-SJQ,12774
27
31
  dao_treasury/streams/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
- dao_treasury/streams/__init__.cpython-311-darwin.so,sha256=7BbiuzuLHaEBA0UFvjlAxcphCrrbysl0A6wbRagD0d8,50640
29
- dao_treasury/streams/llamapay.cpython-311-darwin.so,sha256=IOK18P_7OnkkkaH9Pl5qxL1S4D3pO-tHS55Z714W1gI,50656
32
+ dao_treasury/streams/__init__.cpython-311-darwin.so,sha256=V06hFv3p-ENaAUchBFteeZQQfdq9WkvaynR_YzdQr9E,50640
33
+ dao_treasury/streams/llamapay.cpython-311-darwin.so,sha256=v2LlqBW243lr9ugm8aeOB-gMg_rIukboH-DBiwUe05g,50656
30
34
  dao_treasury/sorting/_rules.py,sha256=vWkqJVA8yCHKRv9sw872Jq6G0zpM-v_J1jCz-Mgleec,8994
31
- dao_treasury/sorting/factory.cpython-311-darwin.so,sha256=8z2IkfcwE6kNA66BwSPxVBsDo-2KxO0F_6PlbL4y9QI,50656
35
+ dao_treasury/sorting/factory.cpython-311-darwin.so,sha256=fd2Uu53ffgrTwkjRTNv3g_two3mvc3Eej8m4okVaObU,50656
32
36
  dao_treasury/sorting/__init__.py,sha256=F_yKKdpdHKGH5RRt-8cZ-M1CuHFI_XvSypnE0YHdovo,5785
33
- dao_treasury/sorting/rule.cpython-311-darwin.so,sha256=TV42KGNelh_z3paL55W_jrFCV5pqWuqlpGpciR9_lYk,50632
34
- dao_treasury/sorting/_matchers.cpython-311-darwin.so,sha256=vkh3dRv4rLwEHo7CXPNFUhIMnV4UMbT408JzBz7zqU0,50656
37
+ dao_treasury/sorting/rule.cpython-311-darwin.so,sha256=Dm9Z0KRd_vrBMZCsX2GBQlZSoZnBy9jEk_6Gg_R5-7U,50632
38
+ dao_treasury/sorting/_matchers.cpython-311-darwin.so,sha256=2wm0Q-Vlk0kVVzmL8hZDmOR5p3h5j1ESUXOLQB0UKeU,50656
35
39
  dao_treasury/sorting/factory.py,sha256=pFD6luc0bKxOTT1hlAp3ZwJw6R0wN8pjIZrqMZwhsko,10185
36
40
  dao_treasury/sorting/rule.py,sha256=-4dokQbRJ2GPJLEwtpgGG0aXAM1pW4jI17aezo--Z5g,11491
37
- dao_treasury/sorting/__init__.cpython-311-darwin.so,sha256=sNPPo_y77BOTb5b_jUqccp67neGTktmaUjIlcTsks90,50640
38
- dao_treasury/sorting/_rules.cpython-311-darwin.so,sha256=paSUfCWytK9aizFG8kiXpllTBZmiY_stRsmBK4xCfE4,50640
41
+ dao_treasury/sorting/__init__.cpython-311-darwin.so,sha256=1h_n7wJcDuvG_nkbo4c6FzRo64yONVhpxOUqART80fI,50640
42
+ dao_treasury/sorting/_rules.cpython-311-darwin.so,sha256=XRmcComrYGIX8_NFS1f92gHamc0iqshQb8SbzlMPCvQ,50640
39
43
  dao_treasury/sorting/_matchers.py,sha256=u0GfPYiODr_NtzbfyLxEKDuXmWRiaeuZulDj9FPDOH8,14005
40
44
  dao_treasury/sorting/rules/__init__.py,sha256=ofzIsW0P74kuKr6DlScZIF8p7hBh6guRpe1uOq6oLLA,48
41
- dao_treasury/sorting/rules/__init__.cpython-311-darwin.so,sha256=ni-nAvTWhOxCeK-r5wBJO-LbeFTEH7Uat82Xxs_MqBc,50640
45
+ dao_treasury/sorting/rules/__init__.cpython-311-darwin.so,sha256=vty1J3Fj3kqEanRVhFmZrpNhOzbP-tvE8m7zZIum4Gs,50640
42
46
  dao_treasury/sorting/rules/ignore/llamapay.py,sha256=NgiVt9MRtI-f4mw9U5_gqttdPqDa3vt_z5XWJP_UYWs,763
43
47
  dao_treasury/sorting/rules/ignore/__init__.py,sha256=dJ4oKSLe7fal1Ct7XtMCfVJAtvZXcyIomf8HF3gWUhQ,57
44
- dao_treasury/sorting/rules/ignore/__init__.cpython-311-darwin.so,sha256=WiSMOYOfnZsbU5UvgAe5BCd1p81KS4HqvIWSR20pYPM,50656
45
- dao_treasury/sorting/rules/ignore/llamapay.cpython-311-darwin.so,sha256=qsMKklxscEqbS1kLGYrPQOuTimLJJzDSwjWWDDdLIq0,50672
46
- dao_treasury-0.0.31.dist-info/RECORD,,
47
- dao_treasury-0.0.31.dist-info/WHEEL,sha256=sunMa2yiYbrNLGeMVDqEA0ayyJbHlex7SCn1TZrEq60,136
48
- dao_treasury-0.0.31.dist-info/top_level.txt,sha256=VtgTZeHElDnBUEn2XLN6Hy_nev5HfhK5c-OnfU04bUs,41
49
- dao_treasury-0.0.31.dist-info/METADATA,sha256=l2XgIiKMWCNWUnBiNIZ8Igc8GjHMKOuaJLaJYfZClr4,7030
48
+ dao_treasury/sorting/rules/ignore/__init__.cpython-311-darwin.so,sha256=GhjVn1LsCoocyPLVUM3NkDsL5Le08ZF4CR-FGJbluMM,50656
49
+ dao_treasury/sorting/rules/ignore/llamapay.cpython-311-darwin.so,sha256=pSHGvAEuGvCwWulfJUe-Iz2w2eqPx9ZzoBypB3810L8,50672
@@ -0,0 +1,2 @@
1
+ bf2b4fe1f86ad2ea158b__mypyc
2
+ dao_treasury
@@ -1,2 +0,0 @@
1
- 17ebe61b88bd37338d0a__mypyc
2
- dao_treasury