Add explorer url to INetwork

This commit is contained in:
Ivan Yaremenchuk 2022-09-29 22:23:48 -05:00
parent 6795de500f
commit eee31b90c0
28 changed files with 31 additions and 2 deletions

View File

@ -83,8 +83,11 @@ else if (State == MintingState.CheckingNetwork)
<p>
<text style="font-weight: bold;">Token minted!</text>
<br/>
<br/>
<br/>
<text style="font-weight: bold;">Transaction hash: </text>
<text style="color: green;">@TransactionHash</text>
<br/>
<RadzenLink Icon="open_in_new" Path="@(new Uri(AppState.SelectedNetwork.ExplorerUrl, "tx/" + TransactionHash).ToString())" Text="@TransactionHash" Target="_blank"/>
</p>
<div style="display: flex; justify-content: end;">
<RadzenButton Click="@(async (args) => await Close())" Text="Close" Disabled="@(!string.IsNullOrEmpty(ProgressBarText))" />

View File

@ -15,5 +15,6 @@ public class ArbitrumNovaNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Arbitrum;
public Uri PublicRpcUrl { get; } = null;
public Uri ExplorerUrl { get; } = new Uri("https://nova-explorer.arbitrum.io");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = Array.Empty<IContract>();
}

View File

@ -15,5 +15,6 @@ public class ArbitrumOneNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Arbitrum;
public Uri PublicRpcUrl { get; } = null;
public Uri ExplorerUrl { get; } = new Uri("https://arbiscan.io/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = Array.Empty<IContract>();
}

View File

@ -17,7 +17,7 @@ public class ArbitrumRinkebyNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Arbitrum;
public Uri PublicRpcUrl { get; } = new Uri("https://rinkeby.arbitrum.io/rpc");
public Uri ExplorerUrl { get; } = new Uri("https://rinkeby-explorer.arbitrum.io/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = new[]
{
new Contract

View File

@ -17,6 +17,7 @@ public class AvalancheFujiNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Avalanche;
public Uri PublicRpcUrl { get; } = new Uri("https://api.avax-test.network/ext/bc/C/rpc");
public Uri ExplorerUrl { get; } = new Uri("https://testnet.snowtrace.io/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = new[]
{

View File

@ -15,5 +15,6 @@ public class AvalancheMainnetNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Avalanche;
public Uri PublicRpcUrl { get; } = null;
public Uri ExplorerUrl { get; } = new Uri("https://snowtrace.io/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = Array.Empty<IContract>();
}

View File

@ -15,5 +15,6 @@ public class BscMainnetNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Bsc;
public Uri PublicRpcUrl { get; } = null;
public Uri ExplorerUrl { get; } = new Uri("https://bscscan.com/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = Array.Empty<IContract>();
}

View File

@ -17,6 +17,7 @@ public class BscTestnetNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Bsc;
public Uri PublicRpcUrl { get; } = new Uri("https://data-seed-prebsc-1-s1.binance.org:8545/");
public Uri ExplorerUrl { get; } = new Uri("https://testnet.bscscan.com/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = new[]
{

View File

@ -15,5 +15,6 @@ public class CustomNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Ethereum;
public Uri PublicRpcUrl { get; } = null;
public Uri ExplorerUrl { get; } = null;
public IReadOnlyCollection<IContract> DeployedContracts { get; } = Array.Empty<IContract>();
}

View File

@ -15,5 +15,6 @@ public class EthereumMainnetNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Ethereum;
public Uri PublicRpcUrl { get; } = null;
public Uri ExplorerUrl { get; } = new Uri("https://etherscan.io/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = Array.Empty<IContract>();
}

View File

@ -17,6 +17,7 @@ public class GoerliNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Ethereum;
public Uri PublicRpcUrl { get; } = new Uri("https://ethereum-goerli-rpc.allthatnode.com");
public Uri ExplorerUrl { get; } = new Uri("https://goerli.etherscan.io/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = new[]
{

View File

@ -15,5 +15,6 @@ public class KilnNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Ethereum;
public Uri PublicRpcUrl { get; } = null;
public Uri ExplorerUrl { get; } = null;
public IReadOnlyCollection<IContract> DeployedContracts { get; } = Array.Empty<IContract>();
}

View File

@ -17,6 +17,7 @@ public class KovanNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Ethereum;
public Uri PublicRpcUrl { get; } = new Uri("https://kovan.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161");
public Uri ExplorerUrl { get; } = new Uri("https://kovan.etherscan.io/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = new[]
{

View File

@ -17,6 +17,7 @@ public class RinkebyNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Ethereum;
public Uri PublicRpcUrl { get; } = new Uri("https://ethereum-rinkeby-rpc.allthatnode.com");
public Uri ExplorerUrl { get; } = new Uri("https://rinkeby.etherscan.io/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = new[]
{

View File

@ -17,6 +17,7 @@ public class RopstenNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Ethereum;
public Uri PublicRpcUrl { get; } = new Uri("https://ethereum-ropsten-rpc.allthatnode.com");
public Uri ExplorerUrl { get; } = new Uri("https://ropsten.etherscan.io/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = new[]
{

View File

@ -15,5 +15,6 @@ public class SepoliaNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Ethereum;
public Uri PublicRpcUrl { get; } = null;
public Uri ExplorerUrl { get; } = new Uri("https://sepolia.etherscan.io/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = Array.Empty<IContract>();
}

View File

@ -15,5 +15,6 @@ public interface INetwork
public NetworkType Type { get; }
public NetworkSubtype SubType { get; }
public Uri PublicRpcUrl { get; }
public Uri ExplorerUrl { get; }
public IReadOnlyCollection<IContract> DeployedContracts { get; }
}

View File

@ -17,6 +17,7 @@ public class MoonbaseAlphaNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Moonbase;
public Uri PublicRpcUrl { get; } = new Uri("https://moonbase-alpha.public.blastapi.io");
public Uri ExplorerUrl { get; } = new Uri("https://moonbase.moonscan.io/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = new[]
{

View File

@ -15,5 +15,6 @@ public class MoonbeamNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Moonbase;
public Uri PublicRpcUrl { get; } = null;
public Uri ExplorerUrl { get; } = new Uri("https://blockscout.moonbeam.network/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = Array.Empty<IContract>();
}

View File

@ -15,5 +15,6 @@ public class MoonriverNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Moonbase;
public Uri PublicRpcUrl { get; } = null;
public Uri ExplorerUrl { get; } = new Uri("https://blockscout.moonriver.moonbeam.network/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = Array.Empty<IContract>();
}

View File

@ -15,5 +15,6 @@ public class OptimismGoerliNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Optimism;
public Uri PublicRpcUrl { get; } = null;
public Uri ExplorerUrl { get; } = new Uri("https://blockscout.com/optimism/goerli/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = Array.Empty<IContract>();
}

View File

@ -17,6 +17,7 @@ public class OptimismKovanNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Optimism;
public Uri PublicRpcUrl { get; } = new Uri("https://mainnet.optimism.io");
public Uri ExplorerUrl { get; } = new Uri("https://kovan-optimistic.etherscan.io/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = new[]
{

View File

@ -15,5 +15,6 @@ public class OptimismMainnetNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Optimism;
public Uri PublicRpcUrl { get; } = null;
public Uri ExplorerUrl { get; } = new Uri("https://optimistic.etherscan.io/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = Array.Empty<IContract>();
}

View File

@ -15,5 +15,6 @@ public class PolygonMainnetNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Polygon;
public Uri PublicRpcUrl { get; } = null;
public Uri ExplorerUrl { get; } = new Uri("https://polygonscan.com/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = Array.Empty<IContract>();
}

View File

@ -17,6 +17,7 @@ public class PolygonMumbaiNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Ethereum;
public NetworkSubtype SubType { get; } = NetworkSubtype.Polygon;
public Uri PublicRpcUrl { get; } = new Uri("https://rpc-mumbai.maticvigil.com");
public Uri ExplorerUrl { get; } = new Uri("https://mumbai.polygonscan.com/");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = new[]
{

View File

@ -15,6 +15,7 @@ public class SolanaDevnetNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Solana;
public NetworkSubtype SubType { get; } = NetworkSubtype.Solana;
public Uri PublicRpcUrl { get; } = new Uri("https://api.devnet.solana.com");
public Uri ExplorerUrl { get; } = new Uri("https://explorer.solana.com/?cluster=devnet");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = new[]
{

View File

@ -15,5 +15,6 @@ public class SolanaMainnetNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Solana;
public NetworkSubtype SubType { get; } = NetworkSubtype.Solana;
public Uri PublicRpcUrl { get; } = new Uri("https://api.mainnet-beta.solana.com");
public Uri ExplorerUrl { get; } = new Uri("https://explorer.solana.com");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = Array.Empty<IContract>();
}

View File

@ -15,6 +15,7 @@ public class SolanaTestnetNetwork : INetwork
public NetworkType Type { get; } = NetworkType.Solana;
public NetworkSubtype SubType { get; } = NetworkSubtype.Solana;
public Uri PublicRpcUrl { get; } = new Uri("https://api.testnet.solana.com");
public Uri ExplorerUrl { get; } = new Uri("https://explorer.solana.com/?cluster=testnet");
public IReadOnlyCollection<IContract> DeployedContracts { get; } = new[]
{