From 8cf4b3cf4598f4f3643d5ebe9c366466d398cb83 Mon Sep 17 00:00:00 2001 From: Richard Moore Date: Thu, 23 Apr 2020 08:13:53 -0400 Subject: [PATCH] Work-around for Cloudflare not offering eth_blockNumber. --- packages/providers/src.ts/cloudflare-provider.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/providers/src.ts/cloudflare-provider.ts b/packages/providers/src.ts/cloudflare-provider.ts index 8e163eed4..b2c5f8484 100644 --- a/packages/providers/src.ts/cloudflare-provider.ts +++ b/packages/providers/src.ts/cloudflare-provider.ts @@ -28,4 +28,15 @@ export class CloudflareProvider extends UrlJsonRpcProvider { return host; } + + async perform(method: string, params: any): Promise { + // The Cloudflare provider does not support eth_blockNumber, + // so we get the latest block and pull it from that + if (method === "getBlockNumber") { + const block = await super.perform("getBlock", { blockTag: "latest" }); + return block.number; + } + + return super.perform(method, params); + } }