Add lock when subscribing to blocks

This commit is contained in:
Arnaud 2025-03-27 09:07:14 +01:00
parent 44d6cf49d2
commit cf7fde013b
No known key found for this signature in database
GPG Key ID: 69D6CE281FCAE663

View File

@ -144,10 +144,14 @@ method subscribeBlocks(subscriptions: WebSocketSubscriptions,
let res = Block.fromJson(arguments{"result"}).mapFailure(SubscriptionError)
onBlock(res)
convertErrorsToSubscriptionError:
let id = await subscriptions.client.eth_subscribe("newHeads")
subscriptions.callbacks[id] = callback
return id
withLock(subscriptions):
convertErrorsToSubscriptionError:
let id = await subscriptions.client.eth_subscribe("newHeads")
subscriptions.callbacks[id] = callback
return id
except AsyncLockError as e:
error "Lock error when trying to subscribe to blocks", err = e.msg
raise newException(SubscriptionError, "Cannot subscribe to the blocks because of lock error")
method subscribeLogs(subscriptions: WebSocketSubscriptions,
filter: EventFilter,