| 1234567891011121314151617181920212223242526272829303132333435 | 
import { AbstractProviderPlugin } from "./abstract-provider.js";import { defineProperties } from "../utils/index.js";import type { AbstractProvider, PerformActionRequest } from "./abstract-provider.js";export const PluginIdFallbackProvider = "org.ethers.plugins.provider.QualifiedPlugin";export class CheckQualifiedPlugin implements AbstractProviderPlugin {    declare name: string;    constructor() {        defineProperties<CheckQualifiedPlugin>(this, { name: PluginIdFallbackProvider });    }    connect(provider: AbstractProvider): CheckQualifiedPlugin {        return this;    }    // Retruns true if this value should be considered qualified for    // inclusion in the quorum.    isQualified(action: PerformActionRequest, result: any): boolean {        return true;    }}export class PossiblyPrunedTransactionPlugin extends CheckQualifiedPlugin {    isQualified(action: PerformActionRequest, result: any): boolean {        if (action.method === "getTransaction" || action.method === "getTransactionReceipt") {            if (result == null) { return false; }        }        return super.isQualified(action, result);    }}
 |