Skip to content

Commit

Permalink
Merge pull request #3682 from balancer/hotfix/manual-blocks
Browse files Browse the repository at this point in the history
Hotfix: Use JsonRpc provider for initial block number
  • Loading branch information
timjrobinson committed Jul 12, 2023
2 parents 2820481 + d9412c7 commit f46e975
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 10 deletions.
9 changes: 2 additions & 7 deletions src/services/rpc-provider/rpc-provider.service.spec.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
import { JsonRpcProvider, WebSocketProvider } from '@ethersproject/providers';
import { JsonRpcProvider } from '@ethersproject/providers';

import RpcProviderService from '@/services/rpc-provider/rpc-provider.service';
import { StaticJsonRpcBatchProvider } from './static-json-rpc-batch-provider';

vi.mock('@ethersproject/providers', () => {
return {
JsonRpcProvider: vi.fn().mockImplementation(() => {
return {};
}),
WebSocketProvider: vi.fn().mockImplementation(() => {
return {
once: vi.fn(),
};
Expand All @@ -30,12 +27,10 @@ describe('RPC provider service', () => {
StaticJsonRpcBatchProvider,
true
);
const MockedWebSocketProvider = vi.mocked(WebSocketProvider, true);

beforeEach(() => {
MockedJsonRpcProvider.mockClear();
MockedStaticJsonRpcBatchProvider.mockClear();
MockedWebSocketProvider.mockClear();
});

it('Instantiates the provider service', () => {
Expand All @@ -50,6 +45,6 @@ describe('RPC provider service', () => {

it('Calls the WebSocketProvider', () => {
new RpcProviderService().initBlockListener(() => ({}));
expect(WebSocketProvider).toHaveBeenCalledTimes(1);
expect(MockedJsonRpcProvider).toHaveBeenCalledTimes(1);
});
});
6 changes: 3 additions & 3 deletions src/services/rpc-provider/rpc-provider.service.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Network } from '@/lib/config';
import { JsonRpcProvider, WebSocketProvider } from '@ethersproject/providers';
import { JsonRpcProvider } from '@ethersproject/providers';

import { configService } from '@/services/config/config.service';

Expand All @@ -15,8 +15,8 @@ export default class RpcProviderService {
) {}

public initBlockListener(newBlockHandler: NewBlockHandler): void {
const wsProvider = new WebSocketProvider(this.config.ws);
wsProvider.once('block', newBlockNumber => {
const blockProvider = new JsonRpcProvider(this.config.rpc);
blockProvider.once('block', newBlockNumber => {
let currentBlockNumber = newBlockNumber;
newBlockHandler(currentBlockNumber);
setInterval(() => {
Expand Down

0 comments on commit f46e975

Please sign in to comment.