Fix block subscription
This commit is contained in:
parent
abb23d5220
commit
52f57894f5
|
@ -164,6 +164,18 @@ proc subscribe(provider: JsonRpcProvider,
|
|||
|
||||
return JsonRpcSubscription(id: id, provider: provider)
|
||||
|
||||
proc subscribe(provider: JsonRpcProvider,
|
||||
name: string,
|
||||
handler: SubscriptionHandler): Future[Subscription] {.async.} =
|
||||
convertError:
|
||||
let client = await provider.client
|
||||
doAssert client of RpcWebSocketClient, "subscriptions require websockets"
|
||||
|
||||
let id = await client.eth_subscribe(name)
|
||||
provider.subscriptions[id] = handler
|
||||
|
||||
return JsonRpcSubscription(id: id, provider: provider)
|
||||
|
||||
method subscribe*(provider: JsonRpcProvider,
|
||||
filter: Filter,
|
||||
callback: LogHandler):
|
||||
|
@ -179,7 +191,7 @@ method subscribe*(provider: JsonRpcProvider,
|
|||
proc handler(id, arguments: JsonNode) {.async.} =
|
||||
if blck =? Block.fromJson(arguments["result"]).catch:
|
||||
await callback(blck)
|
||||
return await provider.subscribe("newHeads", Filter.none, handler)
|
||||
return await provider.subscribe("newHeads", handler)
|
||||
|
||||
method unsubscribe*(subscription: JsonRpcSubscription) {.async.} =
|
||||
convertError:
|
||||
|
|
|
@ -10,5 +10,6 @@ proc eth_chainId(): UInt256
|
|||
proc eth_sendTransaction(transaction: Transaction): TransactionHash
|
||||
proc eth_getTransactionReceipt(hash: TransactionHash): ?TransactionReceipt
|
||||
proc eth_sign(account: Address, message: seq[byte]): seq[byte]
|
||||
proc eth_subscribe(name: string, filter = Filter.none): JsonNode
|
||||
proc eth_subscribe(name: string, filter: ?Filter): JsonNode
|
||||
proc eth_subscribe(name: string): JsonNode
|
||||
proc eth_unsubscribe(id: JsonNode): bool
|
||||
|
|
Loading…
Reference in New Issue