diff --git a/.changeset/tender-scissors-report.md b/.changeset/tender-scissors-report.md new file mode 100644 index 0000000000000..a41fa85f16948 --- /dev/null +++ b/.changeset/tender-scissors-report.md @@ -0,0 +1,5 @@ +--- +'@eth-optimism/common-ts': patch +--- + +Adds the jsonRpcProvider validator as an input validator diff --git a/packages/common-ts/src/base-service/validators.ts b/packages/common-ts/src/base-service/validators.ts index a09a08371092d..fc36a96f33e80 100644 --- a/packages/common-ts/src/base-service/validators.ts +++ b/packages/common-ts/src/base-service/validators.ts @@ -18,6 +18,19 @@ const provider = makeValidator((input) => { return new ethers.providers.JsonRpcProvider(parsed) }) +const jsonRpcProvider = makeValidator( + (input) => { + const parsed = url()._parse(input) + return new ethers.providers.JsonRpcProvider(parsed) + } +) + +const staticJsonRpcProvider = + makeValidator((input) => { + const parsed = url()._parse(input) + return new ethers.providers.StaticJsonRpcProvider(parsed) + }) + const wallet = makeValidator((input) => { if (!ethers.utils.isHexString(input)) { throw new Error(`expected wallet to be a hex string`) @@ -37,4 +50,6 @@ export const validators = { json, wallet, provider, + jsonRpcProvider, + staticJsonRpcProvider, }