usingSystem;usingNBitcoin;usingStratis.Bitcoin.Utilities;namespaceStratis.Bitcoin.Features.RPC{/// <summary>/// An interface for a factory that can create <see cref="IRPCClient"/> instances./// </summary>publicinterfaceIRPCClientFactory{/// <summary>/// Create a new RPCClient instance./// </summary>/// <param name="authenticationString">username:password or the content of the .cookie file or null to auto configure.</param>/// <param name="address">The binding address.</param>/// <param name="network">The network.</param>IRPCClientCreate(stringauthenticationString,Uriaddress,Networknetwork);}/// <summary>/// A factory for creating new instances of an <see cref="RPCClient"/>./// </summary>publicclassRPCClientFactory:IRPCClientFactory{/// <inheritdoc/>publicIRPCClientCreate(stringauthenticationString,Uriaddress,Networknetwork){Guard.NotNull(authenticationString,nameof(authenticationString));Guard.NotNull(address,nameof(address));Guard.NotNull(network,nameof(network));returnnewRPCClient(authenticationString,address,network);}}}