diff --git a/src.ts/providers/provider-jsonrpc.ts b/src.ts/providers/provider-jsonrpc.ts index fb993249ae..e1880fb4f6 100644 --- a/src.ts/providers/provider-jsonrpc.ts +++ b/src.ts/providers/provider-jsonrpc.ts @@ -382,15 +382,16 @@ export class JsonRpcSigner extends AbstractSigner { // If the network changed: calling again will also fail // If unsupported: likely destroyed if (isError(error, "CANCELLED") || isError(error, "BAD_DATA") || - isError(error, "NETWORK_ERROR" || isError(error, "UNSUPPORTED_OPERATION"))) { - + isError(error, "NETWORK_ERROR") || isError(error, "UNSUPPORTED_OPERATION")) { + if (error.info == null) { error.info = { }; } error.info.sendTransactionHash = hash; - + reject(error); return; } + // Stop-gap for misbehaving backends; see #4513 if (isError(error, "INVALID_ARGUMENT")) { invalids++;