public void Rinkeby_loads_properly() { ChainSpecLoader loader = new(new EthereumJsonSerializer()); string path = Path.Combine(TestContext.CurrentContext.WorkDirectory, "../../../../Chains/rinkeby.json"); ChainSpec chainSpec = loader.Load(File.ReadAllText(path)); chainSpec.Parameters.Eip2537Transition.Should().BeNull(); ChainSpecBasedSpecProvider provider = new(chainSpec); RinkebySpecProvider rinkeby = RinkebySpecProvider.Instance; List <long> blockNumbersToTest = new() { RinkebySpecProvider.ByzantiumBlockNumber, RinkebySpecProvider.ConstantinopleFixBlockNumber - 1, RinkebySpecProvider.ConstantinopleFixBlockNumber, RinkebySpecProvider.IstanbulBlockNumber - 1, RinkebySpecProvider.IstanbulBlockNumber, RinkebySpecProvider.BerlinBlockNumber - 1, RinkebySpecProvider.BerlinBlockNumber, RinkebySpecProvider.LondonBlockNumber - 1, RinkebySpecProvider.LondonBlockNumber, 120_000_000, // far in the future }; CompareSpecProviders(rinkeby, provider, blockNumbersToTest); Assert.AreEqual(RinkebySpecProvider.LondonBlockNumber, provider.GenesisSpec.Eip1559TransitionBlock); }
public void Rinkeby_loads_properly() { ChainSpecLoader loader = new ChainSpecLoader(new EthereumJsonSerializer()); string path = Path.Combine(TestContext.CurrentContext.WorkDirectory, "../../../../Chains/rinkeby.json"); ChainSpec chainSpec = loader.Load(File.ReadAllBytes(path)); ChainSpecBasedSpecProvider provider = new ChainSpecBasedSpecProvider(chainSpec); RinkebySpecProvider rinkeby = RinkebySpecProvider.Instance; IReleaseSpec oldRinkebySpec = rinkeby.GetSpec(3660663); IReleaseSpec newRinkebySpec = provider.GetSpec(3660663); PropertyInfo[] propertyInfos = typeof(IReleaseSpec).GetProperties(BindingFlags.Public | BindingFlags.Instance); foreach (PropertyInfo propertyInfo in propertyInfos.Where(pi => pi.Name != "MaximumExtraDataSize" && pi.Name != "Registrar" && pi.Name != "BlockReward" && pi.Name != "DifficultyBombDelay" && pi.Name != "DifficultyBoundDivisor")) { object a = propertyInfo.GetValue(oldRinkebySpec); object b = propertyInfo.GetValue(newRinkebySpec); Assert.AreEqual(a, b, propertyInfo.Name); } }