import { createSolanaRpcFromTransport } from "@solana/kit";
// This is abstract base class for creating Solana RPC clients and transports.
export class SolanaBaseRpcFactory {
    constructor() { }
    // This method creates a Solana RPC client from the implemented transport.
    createRpcClient() {
        return createSolanaRpcFromTransport(this.createTransport());
    }
}
// Enhanced class for creating Solana RPC clients and transports storing additional cluster info.
// This can be used by derived classes that are connected to a single base transport.
export class SolanaClusterRpcFactory extends SolanaBaseRpcFactory {
    clusterUrl;
    chainId;
    constructor(clusterUrl, chainId) {
        super();
        this.clusterUrl = clusterUrl;
        this.chainId = chainId;
    }
}
//# sourceMappingURL=baseRpcFactories.js.map