diff --git a/README.md b/README.md index ab96ba9..9f4ba90 100644 --- a/README.md +++ b/README.md @@ -19,9 +19,11 @@ Used [contracts](NftFaucet/Contracts) are based on [OpenZeppilin contracts](http | Kovan | [0x99ea658e02baDE18c43Af5Fa8c18cfF4f251E311](https://kovan.etherscan.io/token/0x99ea658e02baDE18c43Af5Fa8c18cfF4f251E311) | [0xdBDD0377D1799910A4B0a4306F8d812265bF33Cb](https://kovan.etherscan.io/token/0xdBDD0377D1799910A4B0a4306F8d812265bF33Cb) | | Sepolia | [0x9F64932Be34D5D897C4253D17707b50921f372B6](https://sepolia.etherscan.io/token/0x9F64932Be34D5D897C4253D17707b50921f372B6) | [0x1eD60FedfF775D500DDe21A974cd4E92e0047Cc8](https://sepolia.etherscan.io/token/0x1eD60FedfF775D500DDe21A974cd4E92e0047Cc8) | | OptimismKovan | [0xee52f32f4bbcedc2a1ed1c195936132937f2d371](https://kovan-optimistic.etherscan.io/token/0xee52f32f4bbcedc2a1ed1c195936132937f2d371) | [0xCc0040129f197F63D37ebd77E62a6F96dDcd4e0A](https://kovan-optimistic.etherscan.io/token/0xCc0040129f197F63D37ebd77E62a6F96dDcd4e0A) | +| OptimismSepolia | [0xa7DF1338aDE48bcDc4194929B9853a2F9516BF54](https://sepolia-optimism.etherscan.io/address/0xa7df1338ade48bcdc4194929b9853a2f9516bf54) | [0x1Fbaab49e7E3228B1F265CE894c5537434E7468b](https://sepolia-optimism.etherscan.io/address/0x1fbaab49e7e3228b1f265ce894c5537434e7468b) | | PolygonMumbai | [0xeE8272220A0988279627714144Ff6981E204fbE4](https://mumbai.polygonscan.com/token/0xeE8272220A0988279627714144Ff6981E204fbE4) | [0x23147CdbD963A3D0fec0F25E4604844f477F65d2](https://mumbai.polygonscan.com/token/0x23147CdbD963A3D0fec0F25E4604844f477F65d2) | | MoonbaseAlpha | [0x9F64932Be34D5D897C4253D17707b50921f372B6](https://moonbase.moonscan.io/token/0x9F64932Be34D5D897C4253D17707b50921f372B6) | [0xf67C575502fc1cE399a3e1895dDf41847185D7bD](https://moonbase.moonscan.io/token/0xf67C575502fc1cE399a3e1895dDf41847185D7bD) | | ArbitrumRinkeby | [0x9F64932Be34D5D897C4253D17707b50921f372B6](https://testnet.arbiscan.io/token/0x9F64932Be34D5D897C4253D17707b50921f372B6) | [0xf67C575502fc1cE399a3e1895dDf41847185D7bD](https://testnet.arbiscan.io/token/0xf67C575502fc1cE399a3e1895dDf41847185D7bD) | +| ArbitrumSepolia | [0x1Fbaab49e7E3228B1F265CE894c5537434E7468b](https://sepolia.arbiscan.io/address/0x1fbaab49e7e3228b1f265ce894c5537434e7468b) | [0xa7DF1338aDE48bcDc4194929B9853a2F9516BF54](https://sepolia.arbiscan.io/address/0xa7df1338ade48bcdc4194929b9853a2f9516bf54) | | AvalancheFuji | [0x9F64932Be34D5D897C4253D17707b50921f372B6](https://testnet.snowtrace.io/token/0x9F64932Be34D5D897C4253D17707b50921f372B6) | [0xf67C575502fc1cE399a3e1895dDf41847185D7bD](https://testnet.snowtrace.io/token/0xf67C575502fc1cE399a3e1895dDf41847185D7bD) | | BnbChainTestnet | [0xe6ee919a81da4dad1e632614ba4fdb8d748eb278](https://testnet.bscscan.com/token/0xe6ee919a81da4dad1e632614ba4fdb8d748eb278) | [0xa6d787d1ec987a96ba2a8bf4dae79234e4a2125a](https://testnet.bscscan.com/token/0xa6d787d1ec987a96ba2a8bf4dae79234e4a2125a) | diff --git a/plugins/network-plugins/NftFaucet.NetworkPlugins.Arbitrum/ArbitrumNetworkPlugin.cs b/plugins/network-plugins/NftFaucet.NetworkPlugins.Arbitrum/ArbitrumNetworkPlugin.cs index bb1e9c9..2cc1da5 100644 --- a/plugins/network-plugins/NftFaucet.NetworkPlugins.Arbitrum/ArbitrumNetworkPlugin.cs +++ b/plugins/network-plugins/NftFaucet.NetworkPlugins.Arbitrum/ArbitrumNetworkPlugin.cs @@ -11,5 +11,6 @@ public class ArbitrumNetworkPlugin : INetworkPlugin new ArbitrumOneNetwork(), new ArbitrumNovaNetwork(), new ArbitrumRinkebyNetwork(), + new ArbitrumSepoliaNetwork(), }; } diff --git a/plugins/network-plugins/NftFaucet.NetworkPlugins.Arbitrum/Networks/ArbitrumSepoliaNetwork.cs b/plugins/network-plugins/NftFaucet.NetworkPlugins.Arbitrum/Networks/ArbitrumSepoliaNetwork.cs new file mode 100644 index 0000000..72b7c59 --- /dev/null +++ b/plugins/network-plugins/NftFaucet.NetworkPlugins.Arbitrum/Networks/ArbitrumSepoliaNetwork.cs @@ -0,0 +1,51 @@ +using System.Globalization; +using NftFaucet.Domain.Models; +using NftFaucet.Domain.Models.Abstraction; +using NftFaucet.Domain.Models.Enums; +using NftFaucet.Plugins.Models; + +namespace NftFaucet.NetworkPlugins.Arbitrum.Networks; + +public sealed class ArbitrumSepoliaNetwork : Network +{ + public override Guid Id { get; } = Guid.Parse("707e99a4-45af-4642-b7a8-b2908b8bed72"); + public override string Name { get; } = "Arbitrum Sepolia"; + public override string ShortName { get; } = "ArbSepolia"; + public override ulong? ChainId { get; } = 421614; + public override int? Order { get; } = 4; + public override string MainCurrency { get; } = "ETH"; + public override string SmallestCurrency { get; } = "wei"; + public override string ImageName { get; } = "arbitrum-black.svg"; + public override NetworkType Type { get; } = NetworkType.Ethereum; + public override NetworkSubtype SubType { get; } = NetworkSubtype.Arbitrum; + public override Uri PublicRpcUrl { get; } = new Uri("https://sepolia-rollup.arbitrum.io/rpc"); + public override Uri ExplorerUrl { get; } = new Uri("https://sepolia.arbiscan.io/"); + + public override IReadOnlyCollection DeployedContracts { get; } = new[] + { + new Contract + { + Id = Guid.Parse("b7d73acc-0fdf-4367-88c2-a58c498c54de"), + Name = "ERC-721 Faucet", + Symbol = "FA721", + Address = "0x1Fbaab49e7E3228B1F265CE894c5537434E7468b", + Type = ContractType.Erc721, + DeploymentTxHash = "0x4665a6e35c739678387b3814624d1092b4f47b290b312a00c319fb302169e818", + DeployedAt = DateTime.Parse("Mar-13-2024 05:57:47 PM", CultureInfo.InvariantCulture), + IsVerified = true, + MinBalanceRequired = 50000000000000, + }, + new Contract + { + Id = Guid.Parse("a7b5b5a5-053c-49c5-9258-4d211d1e751b"), + Name = "ERC-1155 Faucet", + Symbol = "FA1155", + Address = "0xa7DF1338aDE48bcDc4194929B9853a2F9516BF54", + Type = ContractType.Erc1155, + DeploymentTxHash = "0x3f150cafaa822da77c785b2ad85d0286ba3781e09b592172e8a55e7c32e3da69", + DeployedAt = DateTime.Parse("Mar-13-2024 05:57:10 PM", CultureInfo.InvariantCulture), + IsVerified = true, + MinBalanceRequired = 50000000000000, + }, + }; +} diff --git a/plugins/network-plugins/NftFaucet.NetworkPlugins.Optimism/Networks/OptimismSepoliaNetwork.cs b/plugins/network-plugins/NftFaucet.NetworkPlugins.Optimism/Networks/OptimismSepoliaNetwork.cs new file mode 100644 index 0000000..f065a6e --- /dev/null +++ b/plugins/network-plugins/NftFaucet.NetworkPlugins.Optimism/Networks/OptimismSepoliaNetwork.cs @@ -0,0 +1,51 @@ +using System.Globalization; +using NftFaucet.Domain.Models; +using NftFaucet.Domain.Models.Abstraction; +using NftFaucet.Domain.Models.Enums; +using NftFaucet.Plugins.Models; + +namespace NftFaucet.NetworkPlugins.Optimism.Networks; + +public sealed class OptimismSepoliaNetwork : Network +{ + public override Guid Id { get; } = Guid.Parse("24a46bde-4d06-4ff3-ae69-9b302ed5f31f"); + public override string Name { get; } = "Optimism Sepolia"; + public override string ShortName { get; } = "OpSepolia"; + public override ulong? ChainId { get; } = 11155420; + public override int? Order { get; } = 4; + public override string MainCurrency { get; } = "ETH"; + public override string SmallestCurrency { get; } = "wei"; + public override string ImageName { get; } = "optimism-black.svg"; + public override NetworkType Type { get; } = NetworkType.Ethereum; + public override NetworkSubtype SubType { get; } = NetworkSubtype.Optimism; + public override Uri PublicRpcUrl { get; } = new Uri("https://sepolia.optimism.io"); + public override Uri ExplorerUrl { get; } = new Uri("https://sepolia-optimism.etherscan.io/"); + + public override IReadOnlyCollection DeployedContracts { get; } = new[] + { + new Contract + { + Id = Guid.Parse("d417bf45-dc23-4bd1-a038-71c8c936bd18"), + Name = "ERC-721 Faucet", + Symbol = "FA721", + Address = "0xa7DF1338aDE48bcDc4194929B9853a2F9516BF54", + Type = ContractType.Erc721, + DeploymentTxHash = "0x4933b66c41f47f1c64b6d767401e44cd6e4bf142d540a8f676c57d1eb8418738", + DeployedAt = DateTime.Parse("Mar-13-2024 05:58:26 PM", CultureInfo.InvariantCulture), + IsVerified = true, + MinBalanceRequired = 50000000000000, + }, + new Contract + { + Id = Guid.Parse("fe34c710-cd8d-4bac-8da0-ae832ec0fee8"), + Name = "ERC-1155 Faucet", + Symbol = "FA1155", + Address = "0x1Fbaab49e7E3228B1F265CE894c5537434E7468b", + Type = ContractType.Erc1155, + DeploymentTxHash = "0x4b4663597543d41c0af9f9f014b598e6c0a8718c8f35e2b074ebb517357b5bc9", + DeployedAt = DateTime.Parse("Mar-13-2024 05:59:18 PM", CultureInfo.InvariantCulture), + IsVerified = true, + MinBalanceRequired = 50000000000000, + }, + }; +} diff --git a/plugins/network-plugins/NftFaucet.NetworkPlugins.Optimism/OptimismNetworkPlugin.cs b/plugins/network-plugins/NftFaucet.NetworkPlugins.Optimism/OptimismNetworkPlugin.cs index 6fbcb56..46b9fbf 100644 --- a/plugins/network-plugins/NftFaucet.NetworkPlugins.Optimism/OptimismNetworkPlugin.cs +++ b/plugins/network-plugins/NftFaucet.NetworkPlugins.Optimism/OptimismNetworkPlugin.cs @@ -11,5 +11,6 @@ public class OptimismNetworkPlugin : INetworkPlugin new OptimismMainnetNetwork(), new OptimismKovanNetwork(), new OptimismGoerliNetwork(), + new OptimismSepoliaNetwork(), }; }