Commit 54e6300a authored by Mark Tyneway's avatar Mark Tyneway Committed by GitHub

Merge pull request #5975 from ethereum-optimism/cleanup/ethers-fallback-provider

cleanup: delete custom ethers fallback provider
parents eefb3f87 ca267dce
......@@ -41,7 +41,6 @@
"@ethersproject/constants": "^5.7.0",
"@ethersproject/hash": "^5.7.0",
"@ethersproject/keccak256": "^5.7.0",
"@ethersproject/providers": "^5.7.0",
"@ethersproject/rlp": "^5.7.0",
"@ethersproject/transactions": "^5.7.0",
"@ethersproject/properties": "^5.7.0",
......@@ -50,6 +49,7 @@
"chai": "^4.3.4"
},
"devDependencies": {
"@types/node": "^12.12.6",
"mocha": "^10.0.0"
}
}
/**
* Provider Utilities
*/
import {
Provider,
StaticJsonRpcProvider,
FallbackProvider as EthersFallbackProvider,
} from '@ethersproject/providers'
import { ConnectionInfo } from '@ethersproject/web'
export interface HttpHeaders {
[key: string]: string
}
// Copied from @ethersproject/providers since it is not
// currently exported
export interface FallbackProviderConfig {
// The Provider
provider: Provider
// The priority to favour this Provider; higher values are used first
priority?: number
// Timeout before also triggering the next provider; this does not stop
// this provider and if its result comes back before a quorum is reached
// it will be incorporated into the vote
// - lower values will cause more network traffic but may result in a
// faster retult.
stallTimeout?: number
// How much this provider contributes to the quorum; sometimes a specific
// provider may be more reliable or trustworthy than others, but usually
// this should be left as the default
weight?: number
}
export const FallbackProvider = (
config: string | FallbackProviderConfig[],
headers?: HttpHeaders
) => {
const configs = []
// Handle the case of a string of comma delimited urls
if (typeof config === 'string') {
const urls = config.split(',')
for (const [i, url] of urls.entries()) {
const connectionInfo: ConnectionInfo = { url }
if (typeof headers === 'object') {
connectionInfo.headers = headers
}
configs.push({
priority: i,
provider: new StaticJsonRpcProvider(connectionInfo),
})
}
return new EthersFallbackProvider(configs)
}
return new EthersFallbackProvider(config)
}
......@@ -2,5 +2,4 @@
* Utilities that extend or enhance the ethers.js library
*/
export * from './fallback-provider'
export * from './network'
......@@ -1666,7 +1666,7 @@
bech32 "1.1.4"
ws "7.4.6"
"@ethersproject/providers@5.7.1", "@ethersproject/providers@^5.7.0":
"@ethersproject/providers@5.7.1":
version "5.7.1"
resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.1.tgz#b0799b616d5579cd1067a8ebf1fc1ec74c1e122c"
integrity sha512-vZveG/DLyo+wk4Ga1yx6jSEHrLPgmTt+dFv0dv8URpVCRf0jVhalps1jq/emN/oXnMRsC7cQgAF32DcXLL7BPQ==
......
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