Change GetNetworks method to Networks property (and same for GetProviders)

This commit is contained in:
Ivan Yaremenchuk 2022-08-27 16:51:21 -05:00
parent 4e62e048e3
commit bd5dd42933
15 changed files with 16 additions and 36 deletions

View File

@ -28,7 +28,7 @@ public partial class NetworkPage : BasicComponent
{ {
PluginLoader?.EnsurePluginsLoaded(); PluginLoader?.EnsurePluginsLoaded();
var networkPlugins = PluginLoader?.NetworkPlugins; var networkPlugins = PluginLoader?.NetworkPlugins;
var networks = networkPlugins?.SelectMany(x => x?.GetNetworks()).Where(x => x != null).OrderBy(x => x.ChainId ?? ulong.MaxValue).ToArray() ?? Array.Empty<INetwork>(); var networks = networkPlugins?.SelectMany(x => x?.Networks).Where(x => x != null).OrderBy(x => x.ChainId ?? ulong.MaxValue).ToArray() ?? Array.Empty<INetwork>();
NetworksLookup = networks.ToLookup(x => x.Type, MapCardListItem); NetworksLookup = networks.ToLookup(x => x.Type, MapCardListItem);
} }

View File

@ -26,7 +26,7 @@ public partial class ProviderPage : BasicComponent
protected override void OnInitialized() protected override void OnInitialized()
{ {
Providers = PluginLoader?.ProviderPlugins?.SelectMany(x => x.GetProviders()).Where(x => x != null).ToArray() ?? Array.Empty<IProvider>(); Providers = PluginLoader?.ProviderPlugins?.SelectMany(x => x.Providers).Where(x => x != null).ToArray() ?? Array.Empty<IProvider>();
RefreshData(); RefreshData();
} }

View File

@ -4,12 +4,10 @@ namespace NftFaucetRadzen.Plugins.NetworkPlugins.Arbitrum;
public class ArbitrumNetworkPlugin : INetworkPlugin public class ArbitrumNetworkPlugin : INetworkPlugin
{ {
private IReadOnlyCollection<INetwork> Networks { get; } = new INetwork[] public IReadOnlyCollection<INetwork> Networks { get; } = new INetwork[]
{ {
new ArbitrumOneNetwork(), new ArbitrumOneNetwork(),
new ArbitrumNovaNetwork(), new ArbitrumNovaNetwork(),
new ArbitrumRinkebyNetwork(), new ArbitrumRinkebyNetwork(),
}; };
public IReadOnlyCollection<INetwork> GetNetworks() => Networks;
} }

View File

@ -4,11 +4,9 @@ namespace NftFaucetRadzen.Plugins.NetworkPlugins.Avalanche;
public class AvalancheNetworkPlugin : INetworkPlugin public class AvalancheNetworkPlugin : INetworkPlugin
{ {
private IReadOnlyCollection<INetwork> Networks { get; } = new INetwork[] public IReadOnlyCollection<INetwork> Networks { get; } = new INetwork[]
{ {
new AvalancheMainnetNetwork(), new AvalancheMainnetNetwork(),
new AvalancheFujiNetwork(), new AvalancheFujiNetwork(),
}; };
public IReadOnlyCollection<INetwork> GetNetworks() => Networks;
} }

View File

@ -4,11 +4,9 @@ namespace NftFaucetRadzen.Plugins.NetworkPlugins.BinanceSmartChain;
public class BscNetworkPlugin : INetworkPlugin public class BscNetworkPlugin : INetworkPlugin
{ {
private IReadOnlyCollection<INetwork> Networks { get; } = new INetwork[] public IReadOnlyCollection<INetwork> Networks { get; } = new INetwork[]
{ {
new BscMainnetNetwork(), new BscMainnetNetwork(),
new BscTestnetNetwork(), new BscTestnetNetwork(),
}; };
public IReadOnlyCollection<INetwork> GetNetworks() => Networks;
} }

View File

@ -4,7 +4,7 @@ namespace NftFaucetRadzen.Plugins.NetworkPlugins.Ethereum;
public class EthereumNetworkPlugin : INetworkPlugin public class EthereumNetworkPlugin : INetworkPlugin
{ {
private IReadOnlyCollection<INetwork> Networks { get; } = new INetwork[] public IReadOnlyCollection<INetwork> Networks { get; } = new INetwork[]
{ {
new EthereumMainnetNetwork(), new EthereumMainnetNetwork(),
new RopstenNetwork(), new RopstenNetwork(),
@ -15,6 +15,4 @@ public class EthereumNetworkPlugin : INetworkPlugin
new SepoliaNetwork(), new SepoliaNetwork(),
new CustomNetwork(), new CustomNetwork(),
}; };
public IReadOnlyCollection<INetwork> GetNetworks() => Networks;
} }

View File

@ -2,5 +2,5 @@ namespace NftFaucetRadzen.Plugins.NetworkPlugins;
public interface INetworkPlugin public interface INetworkPlugin
{ {
public IReadOnlyCollection<INetwork> GetNetworks(); public IReadOnlyCollection<INetwork> Networks { get; }
} }

View File

@ -4,12 +4,10 @@ namespace NftFaucetRadzen.Plugins.NetworkPlugins.Moonbeam;
public class MoonbeamNetworkPlugin : INetworkPlugin public class MoonbeamNetworkPlugin : INetworkPlugin
{ {
private IReadOnlyCollection<INetwork> Networks { get; } = new INetwork[] public IReadOnlyCollection<INetwork> Networks { get; } = new INetwork[]
{ {
new MoonbeamNetwork(), new MoonbeamNetwork(),
new MoonriverNetwork(), new MoonriverNetwork(),
new MoonbaseAlphaNetwork(), new MoonbaseAlphaNetwork(),
}; };
public IReadOnlyCollection<INetwork> GetNetworks() => Networks;
} }

View File

@ -4,12 +4,10 @@ namespace NftFaucetRadzen.Plugins.NetworkPlugins.Optimism;
public class OptimismNetworkPlugin : INetworkPlugin public class OptimismNetworkPlugin : INetworkPlugin
{ {
private IReadOnlyCollection<INetwork> Networks { get; } = new INetwork[] public IReadOnlyCollection<INetwork> Networks { get; } = new INetwork[]
{ {
new OptimismMainnetNetwork(), new OptimismMainnetNetwork(),
new OptimismKovanNetwork(), new OptimismKovanNetwork(),
new OptimismGoerliNetwork(), new OptimismGoerliNetwork(),
}; };
public IReadOnlyCollection<INetwork> GetNetworks() => Networks;
} }

View File

@ -4,11 +4,9 @@ namespace NftFaucetRadzen.Plugins.NetworkPlugins.Polygon;
public class PolygonNetworkPlugin : INetworkPlugin public class PolygonNetworkPlugin : INetworkPlugin
{ {
private IReadOnlyCollection<INetwork> Networks { get; } = new INetwork[] public IReadOnlyCollection<INetwork> Networks { get; } = new INetwork[]
{ {
new PolygonMainnetNetwork(), new PolygonMainnetNetwork(),
new PolygonMumbaiNetwork(), new PolygonMumbaiNetwork(),
}; };
public IReadOnlyCollection<INetwork> GetNetworks() => Networks;
} }

View File

@ -4,12 +4,10 @@ namespace NftFaucetRadzen.Plugins.NetworkPlugins.Solana;
public class SolanaNetworkPlugin : INetworkPlugin public class SolanaNetworkPlugin : INetworkPlugin
{ {
private IReadOnlyCollection<INetwork> Networks { get; } = new INetwork[] public IReadOnlyCollection<INetwork> Networks { get; } = new INetwork[]
{ {
new SolanaMainnetNetwork(), new SolanaMainnetNetwork(),
new SolanaDevnetNetwork(), new SolanaDevnetNetwork(),
new SolanaTestnetNetwork(), new SolanaTestnetNetwork(),
}; };
public IReadOnlyCollection<INetwork> GetNetworks() => Networks;
} }

View File

@ -4,10 +4,8 @@ namespace NftFaucetRadzen.Plugins.ProviderPlugins.GeneratedKeys;
public class GeneratedKeysProviderPlugin : IProviderPlugin public class GeneratedKeysProviderPlugin : IProviderPlugin
{ {
private IReadOnlyCollection<IProvider> Providers { get; } = new IProvider[] public IReadOnlyCollection<IProvider> Providers { get; } = new IProvider[]
{ {
new GeneratedKeysProvider(), new GeneratedKeysProvider(),
}; };
public IReadOnlyCollection<IProvider> GetProviders() => Providers;
} }

View File

@ -2,5 +2,5 @@ namespace NftFaucetRadzen.Plugins.ProviderPlugins;
public interface IProviderPlugin public interface IProviderPlugin
{ {
public IReadOnlyCollection<IProvider> GetProviders(); public IReadOnlyCollection<IProvider> Providers { get; }
} }

View File

@ -4,10 +4,8 @@ namespace NftFaucetRadzen.Plugins.ProviderPlugins.Metamask;
public class MetamaskProviderPlugin : IProviderPlugin public class MetamaskProviderPlugin : IProviderPlugin
{ {
private IReadOnlyCollection<IProvider> Providers { get; } = new IProvider[] public IReadOnlyCollection<IProvider> Providers { get; } = new IProvider[]
{ {
new MetamaskProvider(), new MetamaskProvider(),
}; };
public IReadOnlyCollection<IProvider> GetProviders() => Providers;
} }

View File

@ -7,9 +7,9 @@ namespace NftFaucetRadzen.Shared;
public partial class NavMenu : BasicComponent public partial class NavMenu : BasicComponent
{ {
protected Guid? SelectedNetworkId => AppState?.Storage?.SelectedNetworks?.FirstOrDefault(); protected Guid? SelectedNetworkId => AppState?.Storage?.SelectedNetworks?.FirstOrDefault();
protected string SelectedNetworkName => PluginLoader?.NetworkPlugins?.SelectMany(x => x.GetNetworks()).FirstOrDefault(x => x.Id == SelectedNetworkId)?.ShortName; protected string SelectedNetworkName => PluginLoader?.NetworkPlugins?.SelectMany(x => x?.Networks).FirstOrDefault(x => x?.Id == SelectedNetworkId)?.ShortName;
protected Guid? SelectedProviderId => AppState?.Storage?.SelectedProviders?.FirstOrDefault(); protected Guid? SelectedProviderId => AppState?.Storage?.SelectedProviders?.FirstOrDefault();
protected string SelectedProviderName => PluginLoader?.ProviderPlugins?.SelectMany(x => x.GetProviders()).FirstOrDefault(x => x.Id == SelectedProviderId)?.ShortName; protected string SelectedProviderName => PluginLoader?.ProviderPlugins?.SelectMany(x => x?.Providers).FirstOrDefault(x => x?.Id == SelectedProviderId)?.ShortName;
private bool CollapseNavMenu { get; set; } = true; private bool CollapseNavMenu { get; set; } = true;