Commit cdaf2490 authored by Mark Tyneway's avatar Mark Tyneway Committed by GitHub

Merge pull request #1354 from ethereum-optimism/fix/static-jsonrpc-provider

batch-submitter,dtl: use ethers.StaticJsonRpcProvider
parents 3aa1cad0 b5b9fd89
---
'@eth-optimism/batch-submitter': patch
---
Migrate to using `ethers.StaticJsonRpcProvider`
---
'@eth-optimism/data-transport-layer': patch
---
Migrate to using `ethers.StaticJsonRpcProvider`
...@@ -43,7 +43,7 @@ export abstract class BatchSubmitter { ...@@ -43,7 +43,7 @@ export abstract class BatchSubmitter {
constructor( constructor(
readonly signer: Signer, readonly signer: Signer,
readonly l2Provider: providers.JsonRpcProvider, readonly l2Provider: providers.StaticJsonRpcProvider,
readonly minTxSize: number, readonly minTxSize: number,
readonly maxTxSize: number, readonly maxTxSize: number,
readonly maxBatchSize: number, readonly maxBatchSize: number,
......
...@@ -28,7 +28,7 @@ export class StateBatchSubmitter extends BatchSubmitter { ...@@ -28,7 +28,7 @@ export class StateBatchSubmitter extends BatchSubmitter {
constructor( constructor(
signer: Signer, signer: Signer,
l2Provider: providers.JsonRpcProvider, l2Provider: providers.StaticJsonRpcProvider,
minTxSize: number, minTxSize: number,
maxTxSize: number, maxTxSize: number,
maxBatchSize: number, maxBatchSize: number,
......
...@@ -41,7 +41,7 @@ export class TransactionBatchSubmitter extends BatchSubmitter { ...@@ -41,7 +41,7 @@ export class TransactionBatchSubmitter extends BatchSubmitter {
constructor( constructor(
signer: Signer, signer: Signer,
l2Provider: providers.JsonRpcProvider, l2Provider: providers.StaticJsonRpcProvider,
minTxSize: number, minTxSize: number,
maxTxSize: number, maxTxSize: number,
maxBatchSize: number, maxBatchSize: number,
......
...@@ -4,7 +4,10 @@ import * as Sentry from '@sentry/node' ...@@ -4,7 +4,10 @@ import * as Sentry from '@sentry/node'
import { Logger, Metrics, createMetricsServer } from '@eth-optimism/common-ts' import { Logger, Metrics, createMetricsServer } from '@eth-optimism/common-ts'
import { exit } from 'process' import { exit } from 'process'
import { Signer, Wallet } from 'ethers' import { Signer, Wallet } from 'ethers'
import { JsonRpcProvider, TransactionReceipt } from '@ethersproject/providers' import {
StaticJsonRpcProvider,
TransactionReceipt,
} from '@ethersproject/providers'
import * as dotenv from 'dotenv' import * as dotenv from 'dotenv'
import Config from 'bcfg' import Config from 'bcfg'
...@@ -136,7 +139,9 @@ export const run = async () => { ...@@ -136,7 +139,9 @@ export const run = async () => {
) )
const getSequencerSigner = async (): Promise<Signer> => { const getSequencerSigner = async (): Promise<Signer> => {
const l1Provider = new JsonRpcProvider(requiredEnvVars.L1_NODE_WEB3_URL) const l1Provider = new StaticJsonRpcProvider(
requiredEnvVars.L1_NODE_WEB3_URL
)
if (useHardhat) { if (useHardhat) {
if (!DEBUG_IMPERSONATE_SEQUENCER_ADDRESS) { if (!DEBUG_IMPERSONATE_SEQUENCER_ADDRESS) {
...@@ -161,7 +166,9 @@ export const run = async () => { ...@@ -161,7 +166,9 @@ export const run = async () => {
} }
const getProposerSigner = async (): Promise<Signer> => { const getProposerSigner = async (): Promise<Signer> => {
const l1Provider = new JsonRpcProvider(requiredEnvVars.L1_NODE_WEB3_URL) const l1Provider = new StaticJsonRpcProvider(
requiredEnvVars.L1_NODE_WEB3_URL
)
if (useHardhat) { if (useHardhat) {
if (!DEBUG_IMPERSONATE_PROPOSER_ADDRESS) { if (!DEBUG_IMPERSONATE_PROPOSER_ADDRESS) {
...@@ -335,7 +342,7 @@ export const run = async () => { ...@@ -335,7 +342,7 @@ export const run = async () => {
const clearPendingTxs = requiredEnvVars.CLEAR_PENDING_TXS const clearPendingTxs = requiredEnvVars.CLEAR_PENDING_TXS
const l2Provider = injectL2Context( const l2Provider = injectL2Context(
new JsonRpcProvider(requiredEnvVars.L2_NODE_WEB3_URL) new StaticJsonRpcProvider(requiredEnvVars.L2_NODE_WEB3_URL)
) )
const sequencerSigner: Signer = await getSequencerSigner() const sequencerSigner: Signer = await getSequencerSigner()
......
/* Imports: External */ /* Imports: External */
import { fromHexString } from '@eth-optimism/core-utils' import { fromHexString } from '@eth-optimism/core-utils'
import { BaseService, Metrics } from '@eth-optimism/common-ts' import { BaseService, Metrics } from '@eth-optimism/common-ts'
import { JsonRpcProvider } from '@ethersproject/providers' import { StaticJsonRpcProvider } from '@ethersproject/providers'
import { LevelUp } from 'levelup' import { LevelUp } from 'levelup'
import { ethers, constants } from 'ethers' import { ethers, constants } from 'ethers'
import { Gauge, Counter } from 'prom-client' import { Gauge, Counter } from 'prom-client'
...@@ -98,7 +98,7 @@ export class L1IngestionService extends BaseService<L1IngestionServiceOptions> { ...@@ -98,7 +98,7 @@ export class L1IngestionService extends BaseService<L1IngestionServiceOptions> {
private state: { private state: {
db: TransportDB db: TransportDB
contracts: OptimismContracts contracts: OptimismContracts
l1RpcProvider: JsonRpcProvider l1RpcProvider: StaticJsonRpcProvider
startingL1BlockNumber: number startingL1BlockNumber: number
} = {} as any } = {} as any
...@@ -109,7 +109,7 @@ export class L1IngestionService extends BaseService<L1IngestionServiceOptions> { ...@@ -109,7 +109,7 @@ export class L1IngestionService extends BaseService<L1IngestionServiceOptions> {
this.state.l1RpcProvider = this.state.l1RpcProvider =
typeof this.options.l1RpcProvider === 'string' typeof this.options.l1RpcProvider === 'string'
? new JsonRpcProvider(this.options.l1RpcProvider) ? new StaticJsonRpcProvider(this.options.l1RpcProvider)
: this.options.l1RpcProvider : this.options.l1RpcProvider
this.logger.info('Using AddressManager', { this.logger.info('Using AddressManager', {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment