Skip to content

Commit 79cce74

Browse files
authored
improve(providers): Suppress RPC API keys from log messages (#1223)
1 parent 2db6f5c commit 79cce74

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

src/providers/retryProvider.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,9 @@ export class RetryProvider extends ethers.providers.StaticJsonRpcProvider {
111111
if (!results.every(isPromiseFulfilled)) {
112112
// Format the error so that it's very clear which providers failed and succeeded.
113113
const errorTexts = errors.map(([provider, errorText]) => formatProviderError(provider, errorText));
114-
const successfulProviderUrls = results.filter(isPromiseFulfilled).map((result) => result.value[0].connection.url);
114+
const successfulProviderUrls = results
115+
.filter(isPromiseFulfilled)
116+
.map((result) => getOriginFromURL(result.value[0].connection.url));
115117
throw createSendErrorWithMessage(
116118
`Not enough providers succeeded. Errors:\n${errorTexts.join("\n")}\n` +
117119
`Successful Providers:\n${successfulProviderUrls.join("\n")}`,
@@ -130,7 +132,7 @@ export class RetryProvider extends ethers.providers.StaticJsonRpcProvider {
130132
const getMismatchedProviders = (values: [ethers.providers.StaticJsonRpcProvider, unknown][]) => {
131133
return values
132134
.filter(([, result]) => !compareRpcResults(method, result, quorumResult))
133-
.map(([provider]) => provider.connection.url);
135+
.map(([provider]) => getOriginFromURL(provider.connection.url));
134136
};
135137

136138
const logQuorumMismatchOrFailureDetails = (
@@ -154,7 +156,7 @@ export class RetryProvider extends ethers.providers.StaticJsonRpcProvider {
154156

155157
const throwQuorumError = (fallbackValues?: [ethers.providers.StaticJsonRpcProvider, unknown][]) => {
156158
const errorTexts = errors.map(([provider, errorText]) => formatProviderError(provider, errorText));
157-
const successfulProviderUrls = values.map(([provider]) => provider.connection.url);
159+
const successfulProviderUrls = values.map(([provider]) => getOriginFromURL(provider.connection.url));
158160
const mismatchedProviders = getMismatchedProviders([...values, ...(fallbackValues || [])]);
159161
logQuorumMismatchOrFailureDetails(method, params, successfulProviderUrls, mismatchedProviders, errors);
160162
throw new Error(
@@ -222,7 +224,7 @@ export class RetryProvider extends ethers.providers.StaticJsonRpcProvider {
222224
const mismatchedProviders = getMismatchedProviders([...values, ...fallbackValues]);
223225
const quorumProviders = [...values, ...fallbackValues]
224226
.filter(([, result]) => compareRpcResults(method, result, quorumResult))
225-
.map(([provider]) => provider.connection.url);
227+
.map(([provider]) => getOriginFromURL(provider.connection.url));
226228
if (mismatchedProviders.length > 0 || errors.length > 0) {
227229
logQuorumMismatchOrFailureDetails(method, params, quorumProviders, mismatchedProviders, errors);
228230
}

src/providers/utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import assert from "assert";
33
import { providers } from "ethers";
44
import { isEqual } from "lodash";
5-
import { isDefined } from "../utils";
5+
import { getOriginFromURL, isDefined } from "../utils";
66
import { RPCProvider, RPCTransport } from "./types";
77
import * as alchemy from "./alchemy";
88
import * as infura from "./infura";
@@ -133,7 +133,7 @@ export interface RateLimitTask {
133133
* @returns The formatted error message.
134134
*/
135135
export function formatProviderError(provider: providers.StaticJsonRpcProvider, rawErrorText: string) {
136-
return `Provider ${provider.connection.url} failed with error: ${rawErrorText}`;
136+
return `Provider ${getOriginFromURL(provider.connection.url)} failed with error: ${rawErrorText}`;
137137
}
138138

139139
export function createSendErrorWithMessage(message: string, sendError: Record<string, unknown>) {

0 commit comments

Comments
 (0)