banteg / multicall.py

aggregate results of multiple smart contract calls into one
MIT License
246 stars 106 forks source link

The latest version has a deadlock #93

Closed zcc19960910 closed 5 months ago

zcc19960910 commented 10 months ago

Because the code is deadlocked!

multicall.py and call.py all use

async with _get_semaphore(), so you must remove call.py

then it is ok!!!

Python official example: https://docs.python.org/zh-cn/3/library/asyncio-sync.html?highlight=semaphore#asyncio.Semaphore

sem = asyncio.Semaphore()

await sem.acquire() try:

work with shared resource

finally: sem.release()

DefiDebauchery commented 7 months ago

@BobTheBuidler is this fixed via #95 ?

BobTheBuidler commented 5 months ago

Yep, fixed in #95! Closing this issue