dao-treasury 0.0.31__cp312-cp312-win32.whl → 0.0.32__cp312-cp312-win32.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
Binary file
Binary file
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,20 +1,20 @@
1
- 17ebe61b88bd37338d0a__mypyc.cp312-win32.pyd,sha256=l1RM1rbm4VXFeae8hW_Bx1CSCilT-1VY3G2vHuCVaQs,450560
1
+ bf2b4fe1f86ad2ea158b__mypyc.cp312-win32.pyd,sha256=t574Jt4sYrAKhwJ6lgyZzMjs7nBuZA-9feRJ0lQUfZA,455168
2
2
  dao_treasury/ENVIRONMENT_VARIABLES.py,sha256=ci7djcsXc9uRi6_vBQv-avGQrrIacyftXmcwKuitWWU,203
3
3
  dao_treasury/__init__.py,sha256=U8BsakN_w15wVE_7MjVbHD9LBal48LfJ6a1Icf5oHdY,1052
4
- dao_treasury/_docker.cp312-win32.pyd,sha256=bAXOfFbW8gQ3Kj8teAinttALY1mgf4enTPXtUz2skxQ,9216
4
+ dao_treasury/_docker.cp312-win32.pyd,sha256=OUmqhK5WrJOeq2scAcFxN5clwKiaJNKg7NFSt522HQI,9216
5
5
  dao_treasury/_docker.py,sha256=wY26wCrQ8p-L0KfMJftyzI_YAszHjnBWLw94eh0LxxY,5607
6
- dao_treasury/_nicknames.cp312-win32.pyd,sha256=rPPbLLHGID3p8Ld7VsPfLEZwhJT80uioyqM56wESabU,9216
6
+ dao_treasury/_nicknames.cp312-win32.pyd,sha256=d-bapuwig4qKreohzWQwy7kQjSMXgAPsGmEDMn1tLXM,9216
7
7
  dao_treasury/_nicknames.py,sha256=NpbQ4NtmZF_A_vqTGSal2KzKzkH5t7_wbI8EtMBqEr4,497
8
- dao_treasury/_wallet.cp312-win32.pyd,sha256=T_wNJFmke7ICwalo467aB86iurhzpVK4nuCVGl0yCTc,9216
8
+ dao_treasury/_wallet.cp312-win32.pyd,sha256=Xh2jb3dCAxkvj84CeJkCIaSz_QXyw0gAGJIwsSgkaGI,9216
9
9
  dao_treasury/_wallet.py,sha256=q-H3YrRLWHIjOplVEcY2zqYnv6J--nxXtcx_-a1jcQw,10584
10
- dao_treasury/constants.cp312-win32.pyd,sha256=KYV0j1181BDi8lsuL_gYs-DcqSuCvRlqgwXla8X39vE,9216
10
+ dao_treasury/constants.cp312-win32.pyd,sha256=G-7yShiKHnVIskFcFNP-HuohVYh3Nu4rheAZlclQFf0,9216
11
11
  dao_treasury/constants.py,sha256=VNzlrwC8HB8LdKNmoIfncUACKHfXZxp2GtBBrH_lZKE,522
12
12
  dao_treasury/db.py,sha256=naWIASCJCGROMijxdkS-A0g8_HEFrCqCP0FsAjaDRm8,46167
13
13
  dao_treasury/docker-compose.yaml,sha256=trksBUUwNGJGcrsgX0k0xVEsl-SjWzYE_4tpO1DjuJg,1421
14
14
  dao_treasury/main.py,sha256=yVQGwDgO4XKcxV6tQQPxEcLcZPSEEK1yJS8Djfq3Esc,8294
15
15
  dao_treasury/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  dao_treasury/treasury.py,sha256=64_z0lsjOngGFASCVQNUM-QfbC5YqhKMgOdtLh758co,6678
17
- dao_treasury/types.cp312-win32.pyd,sha256=quShiN5aUatc0Py8cNSIHacssbIyuhLM85u0BEbNmTA,9216
17
+ dao_treasury/types.cp312-win32.pyd,sha256=ymuPAouv42cb-AHRj6gEOQTKJUnz0b9DwLFEDzq1Jcc,9216
18
18
  dao_treasury/types.py,sha256=KFz4WKPp4t_RBwIT6YGwOcgbzw8tdHIOcXTFsUA0pJA,3818
19
19
  dao_treasury/.grafana/provisioning/dashboards/dashboards.yaml,sha256=DzPkgm6Sz2hB5nNpKyTWTEfRplsYVQ9KUgQZ-yQOu6c,747
20
20
  dao_treasury/.grafana/provisioning/dashboards/streams/LlamaPay.json,sha256=zKisR5WewEdpPMMSVLe3w-K8YBg30CYEuzrYjW_LZTQ,3518
@@ -23,27 +23,27 @@ dao_treasury/.grafana/provisioning/dashboards/transactions/Treasury Transactions
23
23
  dao_treasury/.grafana/provisioning/dashboards/treasury/Cashflow.json,sha256=Q544KS0P30LnBWAjMFr9jHOW83-Eoj76AQEWjNDS93o,43367
24
24
  dao_treasury/.grafana/provisioning/dashboards/treasury/Treasury.json,sha256=6y7Fp-2g1iRanRBtWKKN13sXjaKxBvqld7416ZJu4YI,72196
25
25
  dao_treasury/.grafana/provisioning/datasources/datasources.yaml,sha256=gLmJsOkEXNzWRDibShfHFySWeuExW-dSB_U0OSfH868,344
26
- dao_treasury/sorting/__init__.cp312-win32.pyd,sha256=eKC_rLKvyZE3qukDU6Ui9EByXy-3N5Qdf6i0vC833y8,9216
26
+ dao_treasury/sorting/__init__.cp312-win32.pyd,sha256=YiRsCPjCk-sK5AlbDBTmRwIddWQXxu2VAUif1-lNw6g,9216
27
27
  dao_treasury/sorting/__init__.py,sha256=hHH9LLX11m2YR5NFKiTSVtdLBNGdAyJsvgDNzG3BTBI,5977
28
- dao_treasury/sorting/_matchers.cp312-win32.pyd,sha256=7yx761bQS4wTypTlUwUUggAO2craKZVYJdo9uN_yIyI,9216
28
+ dao_treasury/sorting/_matchers.cp312-win32.pyd,sha256=oghFJ0utsQwzvkXVz-ICR1rsJlYGDIRdEl3dBFQtu-A,9216
29
29
  dao_treasury/sorting/_matchers.py,sha256=ACi6aXZCKW5OTiztsID7CXCGJounj5c6ivhOCg2436M,14392
30
- dao_treasury/sorting/_rules.cp312-win32.pyd,sha256=3t-huFygE2gb2LYL1Ye2ChmY5zr9ZrPGjM5PLrsbv5w,9216
30
+ dao_treasury/sorting/_rules.cp312-win32.pyd,sha256=w3EFJrawtJfg0Fauh0QB-eU6ql4MElKpCq7lIQH_k1Q,9216
31
31
  dao_treasury/sorting/_rules.py,sha256=DxhdUgpS0q0LWeLl9W1Bjn5LZz9z4OLA03vQllPMH9k,9229
32
- dao_treasury/sorting/factory.cp312-win32.pyd,sha256=DEcEZrGq49xL-qKZwo2PpUhPSioU481F98so5bB95b4,9216
32
+ dao_treasury/sorting/factory.cp312-win32.pyd,sha256=UtYPiUDnQMK5Er682773zjRqLRiyxLJJxO7rItnlFUs,9216
33
33
  dao_treasury/sorting/factory.py,sha256=zlJ18xlMTxv8ACV6_MimCVIDsw3K5AZcyvKaNYY7R14,10484
34
- dao_treasury/sorting/rule.cp312-win32.pyd,sha256=jKk6UKpVL8MXh5y5Mi49E7ejFB_YFR_KBvhkMqhgvCw,9216
34
+ dao_treasury/sorting/rule.cp312-win32.pyd,sha256=rQxxFVoMjjx3enIyy3qMLmfyWdhi2UbZ8ZQFkTBYzYw,9216
35
35
  dao_treasury/sorting/rule.py,sha256=TsSlaU4UlYr4QWJBdUY7EOAfC_SK6_VA3wEFOFNUUrU,11837
36
- dao_treasury/sorting/rules/__init__.cp312-win32.pyd,sha256=Yltsly8zTEVnAcesiRARc17sJGgynHIDCq4i1WOAawo,9216
36
+ dao_treasury/sorting/rules/__init__.cp312-win32.pyd,sha256=pyAk9P1cU62sy7QMNDnSqbobAVP7tkvJl4mzt7z1r6s,9216
37
37
  dao_treasury/sorting/rules/__init__.py,sha256=hcLfejOEwD8RaM2RE-38Ej6_WkvL9BVGvIIGY848E6E,49
38
- dao_treasury/sorting/rules/ignore/__init__.cp312-win32.pyd,sha256=g5cBS4B2xLJdfWgNBfFKun2pDd10YMlk2Uw4kyjPHn4,9216
38
+ dao_treasury/sorting/rules/ignore/__init__.cp312-win32.pyd,sha256=6bXC7ydbsHE-cAzb__-6DWTe0JppzdE8VdWkUxJbgtM,9216
39
39
  dao_treasury/sorting/rules/ignore/__init__.py,sha256=16THKoGdj6qfkkytuCFVG_R1M6KSErMI4AVE1p0ukS4,58
40
- dao_treasury/sorting/rules/ignore/llamapay.cp312-win32.pyd,sha256=HIjl06JsTr0fYQfj3405RRbmczICBXLnVPN9VspunjM,9216
40
+ dao_treasury/sorting/rules/ignore/llamapay.cp312-win32.pyd,sha256=yKCCiJx0GHvxl5EwwQmo7QYlQqUluJNh0aYAj8MZL6k,9216
41
41
  dao_treasury/sorting/rules/ignore/llamapay.py,sha256=aYyAJRlmv419IeaqkcV5o3ffx0UVfteU0lTl80j0BGo,783
42
- dao_treasury/streams/__init__.cp312-win32.pyd,sha256=N9M4PGepv7BI9D5eV0PL3-cAa8u1tYqULuO_kMt5aR4,9216
42
+ dao_treasury/streams/__init__.cp312-win32.pyd,sha256=ABmRQ7gQdeEL-inkA8yp90T54azAL1tlXIuewpvlOz8,9216
43
43
  dao_treasury/streams/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
- dao_treasury/streams/llamapay.cp312-win32.pyd,sha256=vibRGxN47AN8eEr2sXDm8GsrzAM-T1bmpDqwwuPTzxA,9216
45
- dao_treasury/streams/llamapay.py,sha256=d1nx4WCUDXs2LdEtYqTGVYEHWb9HxREmwE6-gzjPzn8,12828
46
- dao_treasury-0.0.31.dist-info/METADATA,sha256=-YSFQ51Hao57Mg7SAVkWdAk2Ala5Q1Spu8PA2MspqmM,7149
47
- dao_treasury-0.0.31.dist-info/WHEEL,sha256=LwxTQZ0gyDP_uaeNCLm-ZIktY9hv6x0e22Q-hgFd-po,97
48
- dao_treasury-0.0.31.dist-info/top_level.txt,sha256=VtgTZeHElDnBUEn2XLN6Hy_nev5HfhK5c-OnfU04bUs,41
49
- dao_treasury-0.0.31.dist-info/RECORD,,
44
+ dao_treasury/streams/llamapay.cp312-win32.pyd,sha256=z3wWBUrMu07tA7B8V9XsDd6QvV1-ensZ_YcsyARkLjM,9216
45
+ dao_treasury/streams/llamapay.py,sha256=HXG3Qg8R5l1FTVgmSnpOBRoDt2VchjOI-dU9rrC_mjQ,13150
46
+ dao_treasury-0.0.32.dist-info/METADATA,sha256=-MJV9I0Bm8uwE9NjFwVOizFUgmh1GHA4toUB8wNF3Xg,7149
47
+ dao_treasury-0.0.32.dist-info/WHEEL,sha256=LwxTQZ0gyDP_uaeNCLm-ZIktY9hv6x0e22Q-hgFd-po,97
48
+ dao_treasury-0.0.32.dist-info/top_level.txt,sha256=Gw-ri_26lZA_3hwhnOX48mffUbmBGr8NhtoQ0XoMeF8,41
49
+ dao_treasury-0.0.32.dist-info/RECORD,,
@@ -0,0 +1,2 @@
1
+ bf2b4fe1f86ad2ea158b__mypyc
2
+ dao_treasury
Binary file
@@ -1,2 +0,0 @@
1
- 17ebe61b88bd37338d0a__mypyc
2
- dao_treasury