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); } }
public void Max_code_transition_loaded_correctly() { const long maxCodeTransition = 13; const long maxCodeSize = 100; ChainSpec chainSpec = new ChainSpec(); chainSpec.Parameters = new ChainParameters(); chainSpec.Parameters.MaxCodeSizeTransition = maxCodeTransition; chainSpec.Parameters.MaxCodeSize = maxCodeSize; ChainSpecBasedSpecProvider provider = new ChainSpecBasedSpecProvider(chainSpec); Assert.AreEqual(long.MaxValue, provider.GetSpec(maxCodeTransition - 1).MaxCodeSize, "one before"); Assert.AreEqual(maxCodeSize, provider.GetSpec(maxCodeTransition).MaxCodeSize, "at transition"); Assert.AreEqual(maxCodeSize, provider.GetSpec(maxCodeTransition + 1).MaxCodeSize, "one after"); }
public void Difficulty_bomb_delays_loaded_correctly() { ChainSpec chainSpec = new ChainSpec(); chainSpec.Parameters = new ChainParameters(); chainSpec.Ethash = new EthashParameters(); chainSpec.Ethash.DifficultyBombDelays = new Dictionary <long, long> { { 3, 100 }, { 7, 200 }, { 13, 300 }, { 17, 400 }, { 19, 500 }, }; ChainSpecBasedSpecProvider provider = new ChainSpecBasedSpecProvider(chainSpec); Assert.AreEqual(100, provider.GetSpec(3).DifficultyBombDelay); Assert.AreEqual(300, provider.GetSpec(7).DifficultyBombDelay); Assert.AreEqual(600, provider.GetSpec(13).DifficultyBombDelay); Assert.AreEqual(1000, provider.GetSpec(17).DifficultyBombDelay); Assert.AreEqual(1500, provider.GetSpec(19).DifficultyBombDelay); }
public void Mainnet_loads_properly() { ChainSpecLoader loader = new ChainSpecLoader(new EthereumJsonSerializer()); string path = Path.Combine(TestContext.CurrentContext.WorkDirectory, "../../../../Chains/foundation.json"); ChainSpec chainSpec = loader.Load(File.ReadAllBytes(path)); ChainSpecBasedSpecProvider provider = new ChainSpecBasedSpecProvider(chainSpec); MainNetSpecProvider mainnet = MainNetSpecProvider.Instance; IReleaseSpec oldSpec = mainnet.GetSpec(7280000); IReleaseSpec newSpec = provider.GetSpec(7280000); PropertyInfo[] propertyInfos = typeof(IReleaseSpec).GetProperties(BindingFlags.Public | BindingFlags.Instance); foreach (PropertyInfo propertyInfo in propertyInfos) { object a = propertyInfo.GetValue(oldSpec); object b = propertyInfo.GetValue(newSpec); Assert.AreEqual(a, b, propertyInfo.Name); } }
public void Eip_transitions_loaded_correctly() { const long maxCodeTransition = 1; const long maxCodeSize = 1; ChainSpec chainSpec = new ChainSpec(); chainSpec.Ethash = new EthashParameters(); chainSpec.Ethash.HomesteadTransition = 70; chainSpec.Ethash.Eip100bTransition = 1000; chainSpec.ByzantiumBlockNumber = 1960; chainSpec.ConstantinopleBlockNumber = 6490; chainSpec.Parameters = new ChainParameters(); chainSpec.Parameters.MaxCodeSizeTransition = maxCodeTransition; chainSpec.Parameters.MaxCodeSize = maxCodeSize; chainSpec.Parameters.Registrar = Address.Zero; chainSpec.Parameters.MinGasLimit = 11; chainSpec.Parameters.GasLimitBoundDivisor = 13; chainSpec.Parameters.MaximumExtraDataSize = 17; chainSpec.Parameters.Eip140Transition = 1400L; chainSpec.Parameters.Eip145Transition = 1450L; chainSpec.Parameters.Eip150Transition = 1500L; chainSpec.Parameters.Eip155Transition = 1550L; chainSpec.Parameters.Eip160Transition = 1600L; chainSpec.Parameters.Eip161abcTransition = 1580L; chainSpec.Parameters.Eip161dTransition = 1580L; chainSpec.Parameters.Eip211Transition = 2110L; chainSpec.Parameters.Eip214Transition = 2140L; chainSpec.Parameters.Eip658Transition = 6580L; chainSpec.Parameters.Eip1014Transition = 10140L; chainSpec.Parameters.Eip1052Transition = 10520L; chainSpec.Parameters.Eip1283Transition = 12830L; chainSpec.Parameters.Eip1283DisableTransition = 12831L; ChainSpecBasedSpecProvider provider = new ChainSpecBasedSpecProvider(chainSpec); Assert.AreEqual(long.MaxValue, provider.GetSpec(maxCodeTransition - 1).MaxCodeSize, "one before"); Assert.AreEqual(maxCodeSize, provider.GetSpec(maxCodeTransition).MaxCodeSize, "at transition"); Assert.AreEqual(maxCodeSize, provider.GetSpec(maxCodeTransition + 1).MaxCodeSize, "one after"); IReleaseSpec releaseSpec0 = provider.GetSpec(0L); Assert.AreEqual(Address.Zero, releaseSpec0.Registrar); Assert.AreEqual(11L, releaseSpec0.MinGasLimit); Assert.AreEqual(13L, releaseSpec0.GasLimitBoundDivisor); Assert.AreEqual(17L, releaseSpec0.MaximumExtraDataSize); Assert.AreEqual(long.MaxValue, releaseSpec0.MaxCodeSize); Assert.AreEqual(false, releaseSpec0.IsEip2Enabled); Assert.AreEqual(false, releaseSpec0.IsEip7Enabled); Assert.AreEqual(false, releaseSpec0.IsEip100Enabled); Assert.AreEqual(false, releaseSpec0.IsEip140Enabled); Assert.AreEqual(false, releaseSpec0.IsEip145Enabled); Assert.AreEqual(false, releaseSpec0.IsEip150Enabled); Assert.AreEqual(false, releaseSpec0.IsEip155Enabled); Assert.AreEqual(false, releaseSpec0.IsEip158Enabled); Assert.AreEqual(false, releaseSpec0.IsEip160Enabled); Assert.AreEqual(false, releaseSpec0.IsEip170Enabled); Assert.AreEqual(false, releaseSpec0.IsEip196Enabled); Assert.AreEqual(false, releaseSpec0.IsEip197Enabled); Assert.AreEqual(false, releaseSpec0.IsEip198Enabled); Assert.AreEqual(false, releaseSpec0.IsEip211Enabled); Assert.AreEqual(false, releaseSpec0.IsEip214Enabled); Assert.AreEqual(false, releaseSpec0.IsEip649Enabled); Assert.AreEqual(false, releaseSpec0.IsEip658Enabled); Assert.AreEqual(false, releaseSpec0.IsEip1014Enabled); Assert.AreEqual(false, releaseSpec0.IsEip1052Enabled); Assert.AreEqual(false, releaseSpec0.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec0.IsEip1283Enabled); IReleaseSpec releaseSpec1 = provider.GetSpec(1L); Assert.AreEqual(maxCodeSize, releaseSpec1.MaxCodeSize); Assert.AreEqual(false, releaseSpec1.IsEip2Enabled); Assert.AreEqual(false, releaseSpec1.IsEip7Enabled); Assert.AreEqual(false, releaseSpec1.IsEip100Enabled); Assert.AreEqual(false, releaseSpec1.IsEip140Enabled); Assert.AreEqual(false, releaseSpec1.IsEip145Enabled); Assert.AreEqual(false, releaseSpec1.IsEip150Enabled); Assert.AreEqual(false, releaseSpec1.IsEip155Enabled); Assert.AreEqual(false, releaseSpec1.IsEip158Enabled); Assert.AreEqual(false, releaseSpec1.IsEip160Enabled); Assert.AreEqual(true, releaseSpec1.IsEip170Enabled); Assert.AreEqual(false, releaseSpec1.IsEip196Enabled); Assert.AreEqual(false, releaseSpec1.IsEip197Enabled); Assert.AreEqual(false, releaseSpec1.IsEip198Enabled); Assert.AreEqual(false, releaseSpec1.IsEip211Enabled); Assert.AreEqual(false, releaseSpec1.IsEip214Enabled); Assert.AreEqual(false, releaseSpec1.IsEip649Enabled); Assert.AreEqual(false, releaseSpec1.IsEip658Enabled); Assert.AreEqual(false, releaseSpec1.IsEip1014Enabled); Assert.AreEqual(false, releaseSpec1.IsEip1052Enabled); Assert.AreEqual(false, releaseSpec1.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec1.IsEip1283Enabled); IReleaseSpec releaseSpec7 = provider.GetSpec(70L); Assert.AreEqual(releaseSpec7.MaxCodeSize, maxCodeSize); Assert.AreEqual(true, releaseSpec7.IsEip2Enabled); Assert.AreEqual(true, releaseSpec7.IsEip7Enabled); Assert.AreEqual(false, releaseSpec7.IsEip100Enabled); Assert.AreEqual(false, releaseSpec7.IsEip140Enabled); Assert.AreEqual(false, releaseSpec7.IsEip145Enabled); Assert.AreEqual(false, releaseSpec7.IsEip150Enabled); Assert.AreEqual(false, releaseSpec7.IsEip155Enabled); Assert.AreEqual(false, releaseSpec7.IsEip158Enabled); Assert.AreEqual(false, releaseSpec7.IsEip160Enabled); Assert.AreEqual(true, releaseSpec7.IsEip170Enabled); Assert.AreEqual(false, releaseSpec7.IsEip196Enabled); Assert.AreEqual(false, releaseSpec7.IsEip197Enabled); Assert.AreEqual(false, releaseSpec7.IsEip198Enabled); Assert.AreEqual(false, releaseSpec7.IsEip211Enabled); Assert.AreEqual(false, releaseSpec7.IsEip214Enabled); Assert.AreEqual(false, releaseSpec7.IsEip649Enabled); Assert.AreEqual(false, releaseSpec7.IsEip658Enabled); Assert.AreEqual(false, releaseSpec7.IsEip1014Enabled); Assert.AreEqual(false, releaseSpec7.IsEip1052Enabled); Assert.AreEqual(false, releaseSpec7.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec7.IsEip1283Enabled); IReleaseSpec releaseSpec100 = provider.GetSpec(1000L); Assert.AreEqual(releaseSpec100.MaxCodeSize, maxCodeSize); Assert.AreEqual(true, releaseSpec100.IsEip2Enabled); Assert.AreEqual(true, releaseSpec100.IsEip7Enabled); Assert.AreEqual(true, releaseSpec100.IsEip100Enabled); Assert.AreEqual(false, releaseSpec100.IsEip140Enabled); Assert.AreEqual(false, releaseSpec100.IsEip145Enabled); Assert.AreEqual(false, releaseSpec100.IsEip150Enabled); Assert.AreEqual(false, releaseSpec100.IsEip155Enabled); Assert.AreEqual(false, releaseSpec100.IsEip158Enabled); Assert.AreEqual(false, releaseSpec100.IsEip160Enabled); Assert.AreEqual(true, releaseSpec100.IsEip170Enabled); Assert.AreEqual(false, releaseSpec100.IsEip196Enabled); Assert.AreEqual(false, releaseSpec100.IsEip197Enabled); Assert.AreEqual(false, releaseSpec100.IsEip198Enabled); Assert.AreEqual(false, releaseSpec100.IsEip211Enabled); Assert.AreEqual(false, releaseSpec100.IsEip214Enabled); Assert.AreEqual(false, releaseSpec100.IsEip649Enabled); Assert.AreEqual(false, releaseSpec100.IsEip658Enabled); Assert.AreEqual(false, releaseSpec100.IsEip1014Enabled); Assert.AreEqual(false, releaseSpec100.IsEip1052Enabled); Assert.AreEqual(false, releaseSpec100.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec100.IsEip1283Enabled); IReleaseSpec releaseSpec140 = provider.GetSpec(1400L); Assert.AreEqual(releaseSpec100.MaxCodeSize, maxCodeSize); Assert.AreEqual(true, releaseSpec140.IsEip2Enabled); Assert.AreEqual(true, releaseSpec140.IsEip7Enabled); Assert.AreEqual(true, releaseSpec140.IsEip100Enabled); Assert.AreEqual(true, releaseSpec140.IsEip140Enabled); Assert.AreEqual(false, releaseSpec140.IsEip145Enabled); Assert.AreEqual(false, releaseSpec140.IsEip150Enabled); Assert.AreEqual(false, releaseSpec140.IsEip155Enabled); Assert.AreEqual(false, releaseSpec140.IsEip158Enabled); Assert.AreEqual(false, releaseSpec140.IsEip160Enabled); Assert.AreEqual(true, releaseSpec140.IsEip170Enabled); Assert.AreEqual(false, releaseSpec140.IsEip196Enabled); Assert.AreEqual(false, releaseSpec140.IsEip197Enabled); Assert.AreEqual(false, releaseSpec140.IsEip198Enabled); Assert.AreEqual(false, releaseSpec140.IsEip211Enabled); Assert.AreEqual(false, releaseSpec140.IsEip214Enabled); Assert.AreEqual(false, releaseSpec140.IsEip649Enabled); Assert.AreEqual(false, releaseSpec140.IsEip658Enabled); Assert.AreEqual(false, releaseSpec140.IsEip1014Enabled); Assert.AreEqual(false, releaseSpec140.IsEip1052Enabled); Assert.AreEqual(false, releaseSpec140.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec140.IsEip1283Enabled); IReleaseSpec releaseSpec145 = provider.GetSpec(1450L); Assert.AreEqual(releaseSpec145.MaxCodeSize, maxCodeSize); Assert.AreEqual(true, releaseSpec145.IsEip2Enabled); Assert.AreEqual(true, releaseSpec145.IsEip7Enabled); Assert.AreEqual(true, releaseSpec145.IsEip100Enabled); Assert.AreEqual(true, releaseSpec145.IsEip140Enabled); Assert.AreEqual(true, releaseSpec145.IsEip145Enabled); Assert.AreEqual(false, releaseSpec145.IsEip150Enabled); Assert.AreEqual(false, releaseSpec145.IsEip155Enabled); Assert.AreEqual(false, releaseSpec145.IsEip158Enabled); Assert.AreEqual(false, releaseSpec145.IsEip160Enabled); Assert.AreEqual(true, releaseSpec145.IsEip170Enabled); Assert.AreEqual(false, releaseSpec145.IsEip196Enabled); Assert.AreEqual(false, releaseSpec145.IsEip197Enabled); Assert.AreEqual(false, releaseSpec145.IsEip198Enabled); Assert.AreEqual(false, releaseSpec145.IsEip211Enabled); Assert.AreEqual(false, releaseSpec145.IsEip214Enabled); Assert.AreEqual(false, releaseSpec145.IsEip649Enabled); Assert.AreEqual(false, releaseSpec145.IsEip658Enabled); Assert.AreEqual(false, releaseSpec145.IsEip1014Enabled); Assert.AreEqual(false, releaseSpec145.IsEip1052Enabled); Assert.AreEqual(false, releaseSpec145.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec145.IsEip1283Enabled); IReleaseSpec releaseSpec150 = provider.GetSpec(1500L); Assert.AreEqual(releaseSpec150.MaxCodeSize, maxCodeSize); Assert.AreEqual(true, releaseSpec150.IsEip2Enabled); Assert.AreEqual(true, releaseSpec150.IsEip7Enabled); Assert.AreEqual(true, releaseSpec150.IsEip100Enabled); Assert.AreEqual(true, releaseSpec150.IsEip140Enabled); Assert.AreEqual(true, releaseSpec150.IsEip145Enabled); Assert.AreEqual(true, releaseSpec150.IsEip150Enabled); Assert.AreEqual(false, releaseSpec150.IsEip155Enabled); Assert.AreEqual(false, releaseSpec150.IsEip158Enabled); Assert.AreEqual(false, releaseSpec150.IsEip160Enabled); Assert.AreEqual(true, releaseSpec150.IsEip170Enabled); Assert.AreEqual(false, releaseSpec150.IsEip196Enabled); Assert.AreEqual(false, releaseSpec150.IsEip197Enabled); Assert.AreEqual(false, releaseSpec150.IsEip198Enabled); Assert.AreEqual(false, releaseSpec150.IsEip211Enabled); Assert.AreEqual(false, releaseSpec150.IsEip214Enabled); Assert.AreEqual(false, releaseSpec150.IsEip649Enabled); Assert.AreEqual(false, releaseSpec150.IsEip658Enabled); Assert.AreEqual(false, releaseSpec150.IsEip1014Enabled); Assert.AreEqual(false, releaseSpec150.IsEip1052Enabled); Assert.AreEqual(false, releaseSpec150.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec150.IsEip1283Enabled); IReleaseSpec releaseSpec155 = provider.GetSpec(1550L); Assert.AreEqual(releaseSpec155.MaxCodeSize, maxCodeSize); Assert.AreEqual(true, releaseSpec155.IsEip2Enabled); Assert.AreEqual(true, releaseSpec155.IsEip7Enabled); Assert.AreEqual(true, releaseSpec155.IsEip100Enabled); Assert.AreEqual(true, releaseSpec155.IsEip140Enabled); Assert.AreEqual(true, releaseSpec155.IsEip145Enabled); Assert.AreEqual(true, releaseSpec155.IsEip150Enabled); Assert.AreEqual(true, releaseSpec155.IsEip155Enabled); Assert.AreEqual(false, releaseSpec155.IsEip158Enabled); Assert.AreEqual(false, releaseSpec155.IsEip160Enabled); Assert.AreEqual(true, releaseSpec155.IsEip170Enabled); Assert.AreEqual(false, releaseSpec155.IsEip196Enabled); Assert.AreEqual(false, releaseSpec155.IsEip197Enabled); Assert.AreEqual(false, releaseSpec155.IsEip198Enabled); Assert.AreEqual(false, releaseSpec155.IsEip211Enabled); Assert.AreEqual(false, releaseSpec155.IsEip214Enabled); Assert.AreEqual(false, releaseSpec155.IsEip649Enabled); Assert.AreEqual(false, releaseSpec155.IsEip658Enabled); Assert.AreEqual(false, releaseSpec155.IsEip1014Enabled); Assert.AreEqual(false, releaseSpec155.IsEip1052Enabled); Assert.AreEqual(false, releaseSpec155.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec155.IsEip1283Enabled); IReleaseSpec releaseSpec158 = provider.GetSpec(1580L); Assert.AreEqual(releaseSpec158.MaxCodeSize, maxCodeSize); Assert.AreEqual(true, releaseSpec158.IsEip2Enabled); Assert.AreEqual(true, releaseSpec158.IsEip7Enabled); Assert.AreEqual(true, releaseSpec158.IsEip100Enabled); Assert.AreEqual(true, releaseSpec158.IsEip140Enabled); Assert.AreEqual(true, releaseSpec158.IsEip145Enabled); Assert.AreEqual(true, releaseSpec158.IsEip150Enabled); Assert.AreEqual(true, releaseSpec158.IsEip155Enabled); Assert.AreEqual(true, releaseSpec158.IsEip158Enabled); Assert.AreEqual(false, releaseSpec158.IsEip160Enabled); Assert.AreEqual(true, releaseSpec158.IsEip170Enabled); Assert.AreEqual(false, releaseSpec158.IsEip196Enabled); Assert.AreEqual(false, releaseSpec158.IsEip197Enabled); Assert.AreEqual(false, releaseSpec158.IsEip198Enabled); Assert.AreEqual(false, releaseSpec158.IsEip211Enabled); Assert.AreEqual(false, releaseSpec158.IsEip214Enabled); Assert.AreEqual(false, releaseSpec158.IsEip649Enabled); Assert.AreEqual(false, releaseSpec158.IsEip658Enabled); Assert.AreEqual(false, releaseSpec158.IsEip1014Enabled); Assert.AreEqual(false, releaseSpec158.IsEip1052Enabled); Assert.AreEqual(false, releaseSpec158.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec158.IsEip1283Enabled); IReleaseSpec releaseSpec160 = provider.GetSpec(1600L); Assert.AreEqual(releaseSpec160.MaxCodeSize, maxCodeSize); Assert.AreEqual(true, releaseSpec160.IsEip2Enabled); Assert.AreEqual(true, releaseSpec160.IsEip7Enabled); Assert.AreEqual(true, releaseSpec160.IsEip100Enabled); Assert.AreEqual(true, releaseSpec160.IsEip140Enabled); Assert.AreEqual(true, releaseSpec160.IsEip145Enabled); Assert.AreEqual(true, releaseSpec160.IsEip150Enabled); Assert.AreEqual(true, releaseSpec160.IsEip155Enabled); Assert.AreEqual(true, releaseSpec160.IsEip158Enabled); Assert.AreEqual(true, releaseSpec160.IsEip160Enabled); Assert.AreEqual(true, releaseSpec160.IsEip170Enabled); Assert.AreEqual(false, releaseSpec160.IsEip196Enabled); Assert.AreEqual(false, releaseSpec160.IsEip197Enabled); Assert.AreEqual(false, releaseSpec160.IsEip198Enabled); Assert.AreEqual(false, releaseSpec160.IsEip211Enabled); Assert.AreEqual(false, releaseSpec160.IsEip214Enabled); Assert.AreEqual(false, releaseSpec160.IsEip649Enabled); Assert.AreEqual(false, releaseSpec160.IsEip658Enabled); Assert.AreEqual(false, releaseSpec160.IsEip1014Enabled); Assert.AreEqual(false, releaseSpec160.IsEip1052Enabled); Assert.AreEqual(false, releaseSpec160.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec160.IsEip1283Enabled); IReleaseSpec releaseSpec170 = provider.GetSpec(1700L); Assert.AreEqual(releaseSpec170.MaxCodeSize, maxCodeSize); Assert.AreEqual(true, releaseSpec170.IsEip2Enabled); Assert.AreEqual(true, releaseSpec170.IsEip7Enabled); Assert.AreEqual(true, releaseSpec170.IsEip100Enabled); Assert.AreEqual(true, releaseSpec170.IsEip140Enabled); Assert.AreEqual(true, releaseSpec170.IsEip145Enabled); Assert.AreEqual(true, releaseSpec170.IsEip150Enabled); Assert.AreEqual(true, releaseSpec170.IsEip155Enabled); Assert.AreEqual(true, releaseSpec170.IsEip158Enabled); Assert.AreEqual(true, releaseSpec170.IsEip160Enabled); Assert.AreEqual(true, releaseSpec170.IsEip170Enabled); Assert.AreEqual(false, releaseSpec170.IsEip196Enabled); Assert.AreEqual(false, releaseSpec170.IsEip197Enabled); Assert.AreEqual(false, releaseSpec170.IsEip198Enabled); Assert.AreEqual(false, releaseSpec170.IsEip211Enabled); Assert.AreEqual(false, releaseSpec170.IsEip214Enabled); Assert.AreEqual(false, releaseSpec170.IsEip649Enabled); Assert.AreEqual(false, releaseSpec170.IsEip658Enabled); Assert.AreEqual(false, releaseSpec170.IsEip1014Enabled); Assert.AreEqual(false, releaseSpec170.IsEip1052Enabled); Assert.AreEqual(false, releaseSpec170.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec170.IsEip1283Enabled); IReleaseSpec releaseSpec196 = provider.GetSpec(1960L); Assert.AreEqual(releaseSpec196.MaxCodeSize, maxCodeSize); Assert.AreEqual(true, releaseSpec196.IsEip2Enabled); Assert.AreEqual(true, releaseSpec196.IsEip7Enabled); Assert.AreEqual(true, releaseSpec196.IsEip100Enabled); Assert.AreEqual(true, releaseSpec196.IsEip140Enabled); Assert.AreEqual(true, releaseSpec196.IsEip145Enabled); Assert.AreEqual(true, releaseSpec196.IsEip150Enabled); Assert.AreEqual(true, releaseSpec196.IsEip155Enabled); Assert.AreEqual(true, releaseSpec196.IsEip158Enabled); Assert.AreEqual(true, releaseSpec196.IsEip160Enabled); Assert.AreEqual(true, releaseSpec196.IsEip170Enabled); Assert.AreEqual(true, releaseSpec196.IsEip196Enabled); Assert.AreEqual(true, releaseSpec196.IsEip197Enabled); Assert.AreEqual(true, releaseSpec196.IsEip198Enabled); Assert.AreEqual(false, releaseSpec196.IsEip211Enabled); Assert.AreEqual(false, releaseSpec196.IsEip214Enabled); Assert.AreEqual(true, releaseSpec196.IsEip649Enabled); Assert.AreEqual(false, releaseSpec196.IsEip658Enabled); Assert.AreEqual(false, releaseSpec196.IsEip1014Enabled); Assert.AreEqual(false, releaseSpec196.IsEip1052Enabled); Assert.AreEqual(false, releaseSpec196.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec196.IsEip1283Enabled); IReleaseSpec releaseSpec211 = provider.GetSpec(2110L); Assert.AreEqual(releaseSpec211.MaxCodeSize, maxCodeSize); Assert.AreEqual(true, releaseSpec211.IsEip2Enabled); Assert.AreEqual(true, releaseSpec211.IsEip7Enabled); Assert.AreEqual(true, releaseSpec211.IsEip100Enabled); Assert.AreEqual(true, releaseSpec211.IsEip140Enabled); Assert.AreEqual(true, releaseSpec211.IsEip145Enabled); Assert.AreEqual(true, releaseSpec211.IsEip150Enabled); Assert.AreEqual(true, releaseSpec211.IsEip155Enabled); Assert.AreEqual(true, releaseSpec211.IsEip158Enabled); Assert.AreEqual(true, releaseSpec211.IsEip160Enabled); Assert.AreEqual(true, releaseSpec211.IsEip170Enabled); Assert.AreEqual(true, releaseSpec211.IsEip196Enabled); Assert.AreEqual(true, releaseSpec211.IsEip197Enabled); Assert.AreEqual(true, releaseSpec211.IsEip198Enabled); Assert.AreEqual(true, releaseSpec211.IsEip211Enabled); Assert.AreEqual(false, releaseSpec211.IsEip214Enabled); Assert.AreEqual(true, releaseSpec211.IsEip649Enabled); Assert.AreEqual(false, releaseSpec211.IsEip658Enabled); Assert.AreEqual(false, releaseSpec211.IsEip1014Enabled); Assert.AreEqual(false, releaseSpec211.IsEip1052Enabled); Assert.AreEqual(false, releaseSpec211.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec211.IsEip1283Enabled); IReleaseSpec releaseSpec214 = provider.GetSpec(2140L); Assert.AreEqual(releaseSpec214.MaxCodeSize, maxCodeSize); Assert.AreEqual(true, releaseSpec214.IsEip2Enabled); Assert.AreEqual(true, releaseSpec214.IsEip7Enabled); Assert.AreEqual(true, releaseSpec214.IsEip100Enabled); Assert.AreEqual(true, releaseSpec214.IsEip140Enabled); Assert.AreEqual(true, releaseSpec214.IsEip145Enabled); Assert.AreEqual(true, releaseSpec214.IsEip150Enabled); Assert.AreEqual(true, releaseSpec214.IsEip155Enabled); Assert.AreEqual(true, releaseSpec214.IsEip158Enabled); Assert.AreEqual(true, releaseSpec214.IsEip160Enabled); Assert.AreEqual(true, releaseSpec214.IsEip170Enabled); Assert.AreEqual(true, releaseSpec214.IsEip196Enabled); Assert.AreEqual(true, releaseSpec214.IsEip197Enabled); Assert.AreEqual(true, releaseSpec214.IsEip198Enabled); Assert.AreEqual(true, releaseSpec214.IsEip211Enabled); Assert.AreEqual(true, releaseSpec214.IsEip214Enabled); Assert.AreEqual(true, releaseSpec214.IsEip649Enabled); Assert.AreEqual(false, releaseSpec214.IsEip658Enabled); Assert.AreEqual(false, releaseSpec214.IsEip1014Enabled); Assert.AreEqual(false, releaseSpec214.IsEip1052Enabled); Assert.AreEqual(false, releaseSpec214.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec214.IsEip1283Enabled); IReleaseSpec releaseSpec658 = provider.GetSpec(6580L); Assert.AreEqual(releaseSpec658.MaxCodeSize, maxCodeSize); Assert.AreEqual(true, releaseSpec658.IsEip2Enabled); Assert.AreEqual(true, releaseSpec658.IsEip7Enabled); Assert.AreEqual(true, releaseSpec658.IsEip100Enabled); Assert.AreEqual(true, releaseSpec658.IsEip140Enabled); Assert.AreEqual(true, releaseSpec658.IsEip145Enabled); Assert.AreEqual(true, releaseSpec658.IsEip150Enabled); Assert.AreEqual(true, releaseSpec658.IsEip155Enabled); Assert.AreEqual(true, releaseSpec658.IsEip158Enabled); Assert.AreEqual(true, releaseSpec658.IsEip160Enabled); Assert.AreEqual(true, releaseSpec658.IsEip170Enabled); Assert.AreEqual(true, releaseSpec658.IsEip196Enabled); Assert.AreEqual(true, releaseSpec658.IsEip197Enabled); Assert.AreEqual(true, releaseSpec658.IsEip198Enabled); Assert.AreEqual(true, releaseSpec658.IsEip211Enabled); Assert.AreEqual(true, releaseSpec658.IsEip214Enabled); Assert.AreEqual(true, releaseSpec658.IsEip649Enabled); Assert.AreEqual(true, releaseSpec658.IsEip658Enabled); Assert.AreEqual(false, releaseSpec658.IsEip1014Enabled); Assert.AreEqual(false, releaseSpec658.IsEip1052Enabled); Assert.AreEqual(true, releaseSpec658.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec658.IsEip1283Enabled); IReleaseSpec releaseSpec1014 = provider.GetSpec(10140L); Assert.AreEqual(releaseSpec1014.MaxCodeSize, maxCodeSize); Assert.AreEqual(true, releaseSpec1014.IsEip2Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip7Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip100Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip140Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip145Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip150Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip155Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip158Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip160Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip170Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip196Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip197Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip198Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip211Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip214Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip649Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip658Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip1014Enabled); Assert.AreEqual(false, releaseSpec1014.IsEip1052Enabled); Assert.AreEqual(true, releaseSpec1014.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec1014.IsEip1283Enabled); IReleaseSpec releaseSpec1052 = provider.GetSpec(10520L); Assert.AreEqual(releaseSpec1052.MaxCodeSize, maxCodeSize); Assert.AreEqual(true, releaseSpec1052.IsEip2Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip7Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip100Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip140Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip145Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip150Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip155Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip158Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip160Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip170Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip196Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip197Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip198Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip211Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip214Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip649Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip658Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip1014Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip1052Enabled); Assert.AreEqual(true, releaseSpec1052.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec1052.IsEip1283Enabled); IReleaseSpec releaseSpec1283 = provider.GetSpec(12830L); Assert.AreEqual(releaseSpec1283.MaxCodeSize, maxCodeSize); Assert.AreEqual(true, releaseSpec1283.IsEip2Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip7Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip100Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip140Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip145Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip150Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip155Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip158Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip160Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip170Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip196Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip197Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip198Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip211Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip214Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip649Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip658Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip1014Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip1052Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip1234Enabled); Assert.AreEqual(true, releaseSpec1283.IsEip1283Enabled); IReleaseSpec releaseSpec1283Disabled = provider.GetSpec(12831L); Assert.AreEqual(releaseSpec1283Disabled.MaxCodeSize, maxCodeSize); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip2Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip7Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip100Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip140Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip145Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip150Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip155Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip158Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip160Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip170Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip196Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip197Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip198Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip211Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip214Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip649Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip658Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip1014Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip1052Enabled); Assert.AreEqual(true, releaseSpec1283Disabled.IsEip1234Enabled); Assert.AreEqual(false, releaseSpec1283Disabled.IsEip1283Enabled); }