public void CityRegTestIsInitializedCorrectly() { Network network = new CityRegTest(); Assert.Empty(network.Checkpoints); Assert.Equal(3, network.DNSSeeds.Count); Assert.Equal(3, network.SeedNodes.Count); Assert.Equal("CityRegTest", network.Name); Assert.Equal(CityMain.CityRootFolderName, network.RootFolderName); Assert.Equal(CityMain.CityDefaultConfigFilename, network.DefaultConfigFilename); Assert.Equal(0x43525901.ToString(), network.Magic.ToString()); Assert.Equal(14333, network.DefaultPort); Assert.Equal(14334, network.DefaultRPCPort); Assert.Equal(14335, network.DefaultAPIPort); Assert.Equal(CityMain.CityMaxTimeOffsetSeconds, network.MaxTimeOffsetSeconds); Assert.Equal(CityMain.CityDefaultMaxTipAgeInSeconds, network.MaxTipAge); Assert.Equal(0, network.MinTxFee); Assert.Equal(0, network.FallbackFee); Assert.Equal(0, network.MinRelayTxFee); Assert.Equal("TCITY", network.CoinTicker); Assert.Equal(2, network.Bech32Encoders.Length); //Assert.Equal(new Bech32Encoder("bc").ToString(), network.Bech32Encoders[(int)Bech32Type.WITNESS_PUBKEY_ADDRESS].ToString()); //Assert.Equal(new Bech32Encoder("bc").ToString(), network.Bech32Encoders[(int)Bech32Type.WITNESS_SCRIPT_ADDRESS].ToString()); Assert.Equal(12, network.Base58Prefixes.Length); Assert.Equal(new byte[] { (66) }, network.Base58Prefixes[(int)Base58Type.PUBKEY_ADDRESS]); Assert.Equal(new byte[] { (196) }, network.Base58Prefixes[(int)Base58Type.SCRIPT_ADDRESS]); Assert.Equal(new byte[] { (66 + 128) }, network.Base58Prefixes[(int)Base58Type.SECRET_KEY]); Assert.Equal(new byte[] { 0x01, 0x42 }, network.Base58Prefixes[(int)Base58Type.ENCRYPTED_SECRET_KEY_NO_EC]); Assert.Equal(new byte[] { 0x01, 0x43 }, network.Base58Prefixes[(int)Base58Type.ENCRYPTED_SECRET_KEY_EC]); Assert.Equal(new byte[] { (0x04), (0x88), (0xB2), (0x1E) }, network.Base58Prefixes[(int)Base58Type.EXT_PUBLIC_KEY]); Assert.Equal(new byte[] { (0x04), (0x88), (0xAD), (0xE4) }, network.Base58Prefixes[(int)Base58Type.EXT_SECRET_KEY]); Assert.Equal(new byte[] { 0x2C, 0xE9, 0xB3, 0xE1, 0xFF, 0x39, 0xE2 }, network.Base58Prefixes[(int)Base58Type.PASSPHRASE_CODE]); Assert.Equal(new byte[] { 0x64, 0x3B, 0xF6, 0xA8, 0x9A }, network.Base58Prefixes[(int)Base58Type.CONFIRMATION_CODE]); Assert.Equal(new byte[] { 0x2a }, network.Base58Prefixes[(int)Base58Type.STEALTH_ADDRESS]); Assert.Equal(new byte[] { 23 }, network.Base58Prefixes[(int)Base58Type.ASSET_ID]); Assert.Equal(new byte[] { 0x13 }, network.Base58Prefixes[(int)Base58Type.COLORED_ADDRESS]); Assert.Equal(210000, network.Consensus.SubsidyHalvingInterval); Assert.Equal(750, network.Consensus.MajorityEnforceBlockUpgrade); Assert.Equal(950, network.Consensus.MajorityRejectBlockOutdated); Assert.Equal(1000, network.Consensus.MajorityWindow); Assert.Equal(0, network.Consensus.BuriedDeployments[BuriedDeployments.BIP34]); Assert.Equal(0, network.Consensus.BuriedDeployments[BuriedDeployments.BIP65]); Assert.Equal(0, network.Consensus.BuriedDeployments[BuriedDeployments.BIP66]); Assert.Equal(new uint256("0x0000da5d40883d6c8aade797d8d6dcbf5cbc8e6428569170da39d2f01e8290e5"), network.Consensus.BIP34Hash); Assert.Equal(new Target(new uint256("7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")), network.Consensus.PowLimit); Assert.Null(network.Consensus.MinimumChainWork); Assert.Equal(TimeSpan.FromSeconds(14 * 24 * 60 * 60), network.Consensus.PowTargetTimespan); Assert.Equal(TimeSpan.FromSeconds(10 * 60), network.Consensus.PowTargetSpacing); Assert.True(network.Consensus.PowAllowMinDifficultyBlocks); Assert.True(network.Consensus.PowNoRetargeting); Assert.Equal(2016, network.Consensus.MinerConfirmationWindow); Assert.Equal(125000, network.Consensus.LastPOWBlock); Assert.True(network.Consensus.IsProofOfStake); Assert.Equal(1926, network.Consensus.CoinType); Assert.Equal(new BigInteger(uint256.Parse("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff").ToBytes(false)), network.Consensus.ProofOfStakeLimit); Assert.Equal(new BigInteger(uint256.Parse("000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffff").ToBytes(false)), network.Consensus.ProofOfStakeLimitV2); Assert.Null(network.Consensus.DefaultAssumeValid); Assert.Equal(10, network.Consensus.CoinbaseMaturity); Assert.Equal(Money.Coins(13736000000), network.Consensus.PremineReward); Assert.Equal(2, network.Consensus.PremineHeight); Assert.Equal(Money.Coins(2), network.Consensus.ProofOfWorkReward); Assert.Equal(Money.Coins(20), network.Consensus.ProofOfStakeReward); Assert.Equal((uint)500, network.Consensus.MaxReorgLength); Assert.Equal(long.MaxValue, network.Consensus.MaxMoney); Block genesis = network.GetGenesis(); Assert.Equal(uint256.Parse("0x0000da5d40883d6c8aade797d8d6dcbf5cbc8e6428569170da39d2f01e8290e5"), genesis.GetHash()); Assert.Equal(uint256.Parse("0x49f8ad9e1d47aec09a38b7b54e282ed0ba30099b8632152931be74e2865266d5"), genesis.Header.HashMerkleRoot); }
public void CityRegTestIsInitializedCorrectly() { Network network = new CityRegTest(); Assert.Empty(network.Checkpoints); Assert.Empty(network.DNSSeeds); Assert.Empty(network.SeedNodes); Assert.Equal("CityRegTest", network.Name); Assert.Equal(CityMain.CityRootFolderName, network.RootFolderName); Assert.Equal(CityMain.CityDefaultConfigFilename, network.DefaultConfigFilename); Assert.Equal(0x21898467.ToString(), network.Magic.ToString()); Assert.Equal(14333, network.DefaultPort); Assert.Equal(14334, network.RPCPort); Assert.Equal(CityMain.CityMaxTimeOffsetSeconds, network.MaxTimeOffsetSeconds); Assert.Equal(CityMain.CityDefaultMaxTipAgeInSeconds, network.MaxTipAge); Assert.Equal(0, network.MinTxFee); Assert.Equal(0, network.FallbackFee); Assert.Equal(0, network.MinRelayTxFee); Assert.Equal("TCITY", network.CoinTicker); Assert.Equal(2, network.Bech32Encoders.Length); //Assert.Equal(new Bech32Encoder("bc").ToString(), network.Bech32Encoders[(int)Bech32Type.WITNESS_PUBKEY_ADDRESS].ToString()); //Assert.Equal(new Bech32Encoder("bc").ToString(), network.Bech32Encoders[(int)Bech32Type.WITNESS_SCRIPT_ADDRESS].ToString()); Assert.Equal(12, network.Base58Prefixes.Length); Assert.Equal(new byte[] { (66) }, network.Base58Prefixes[(int)Base58Type.PUBKEY_ADDRESS]); Assert.Equal(new byte[] { (196) }, network.Base58Prefixes[(int)Base58Type.SCRIPT_ADDRESS]); Assert.Equal(new byte[] { (66 + 128) }, network.Base58Prefixes[(int)Base58Type.SECRET_KEY]); Assert.Equal(new byte[] { 0x01, 0x42 }, network.Base58Prefixes[(int)Base58Type.ENCRYPTED_SECRET_KEY_NO_EC]); Assert.Equal(new byte[] { 0x01, 0x43 }, network.Base58Prefixes[(int)Base58Type.ENCRYPTED_SECRET_KEY_EC]); Assert.Equal(new byte[] { (0x04), (0x88), (0xB2), (0x1E) }, network.Base58Prefixes[(int)Base58Type.EXT_PUBLIC_KEY]); Assert.Equal(new byte[] { (0x04), (0x88), (0xAD), (0xE4) }, network.Base58Prefixes[(int)Base58Type.EXT_SECRET_KEY]); Assert.Equal(new byte[] { 0x2C, 0xE9, 0xB3, 0xE1, 0xFF, 0x39, 0xE2 }, network.Base58Prefixes[(int)Base58Type.PASSPHRASE_CODE]); Assert.Equal(new byte[] { 0x64, 0x3B, 0xF6, 0xA8, 0x9A }, network.Base58Prefixes[(int)Base58Type.CONFIRMATION_CODE]); Assert.Equal(new byte[] { 0x2a }, network.Base58Prefixes[(int)Base58Type.STEALTH_ADDRESS]); Assert.Equal(new byte[] { 23 }, network.Base58Prefixes[(int)Base58Type.ASSET_ID]); Assert.Equal(new byte[] { 0x13 }, network.Base58Prefixes[(int)Base58Type.COLORED_ADDRESS]); Assert.Equal(210000, network.Consensus.SubsidyHalvingInterval); Assert.Equal(750, network.Consensus.MajorityEnforceBlockUpgrade); Assert.Equal(950, network.Consensus.MajorityRejectBlockOutdated); Assert.Equal(1000, network.Consensus.MajorityWindow); Assert.Equal(0, network.Consensus.BuriedDeployments[BuriedDeployments.BIP34]); Assert.Equal(0, network.Consensus.BuriedDeployments[BuriedDeployments.BIP65]); Assert.Equal(0, network.Consensus.BuriedDeployments[BuriedDeployments.BIP66]); Assert.Equal(new uint256("0x0000ee46643d31e70802b25996f2efc3229660c11d65fb70be19b49320ec8a9a"), network.Consensus.BIP34Hash); Assert.Equal(new Target(new uint256("7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")), network.Consensus.PowLimit); Assert.Null(network.Consensus.MinimumChainWork); Assert.Equal(TimeSpan.FromSeconds(14 * 24 * 60 * 60), network.Consensus.PowTargetTimespan); Assert.Equal(TimeSpan.FromSeconds(10 * 60), network.Consensus.PowTargetSpacing); Assert.True(network.Consensus.PowAllowMinDifficultyBlocks); Assert.True(network.Consensus.PowNoRetargeting); Assert.Equal(1916, network.Consensus.RuleChangeActivationThreshold); Assert.Equal(2016, network.Consensus.MinerConfirmationWindow); Assert.Null(network.Consensus.BIP9Deployments[BIP9Deployments.TestDummy]); Assert.Null(network.Consensus.BIP9Deployments[BIP9Deployments.CSV]); Assert.Null(network.Consensus.BIP9Deployments[BIP9Deployments.Segwit]); Assert.Equal(125000, network.Consensus.LastPOWBlock); Assert.True(network.Consensus.IsProofOfStake); Assert.Equal(4535, network.Consensus.CoinType); Assert.Equal(new BigInteger(uint256.Parse("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff").ToBytes(false)), network.Consensus.ProofOfStakeLimit); Assert.Equal(new BigInteger(uint256.Parse("000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffff").ToBytes(false)), network.Consensus.ProofOfStakeLimitV2); Assert.Null(network.Consensus.DefaultAssumeValid); Assert.Equal(10, network.Consensus.CoinbaseMaturity); Assert.Equal(Money.Coins(13736000000), network.Consensus.PremineReward); Assert.Equal(2, network.Consensus.PremineHeight); Assert.Equal(Money.Coins(1), network.Consensus.ProofOfWorkReward); Assert.Equal(Money.Coins(100), network.Consensus.ProofOfStakeReward); Assert.Equal((uint)500, network.Consensus.MaxReorgLength); Assert.Equal(long.MaxValue, network.Consensus.MaxMoney); Block genesis = network.GetGenesis(); Assert.Equal(uint256.Parse("0x0000ee46643d31e70802b25996f2efc3229660c11d65fb70be19b49320ec8a9a"), genesis.GetHash()); Assert.Equal(uint256.Parse("0x0f874fd7797bbcf30f918ddde77ace58623f22f2118bf87f3fa84711471c250a"), genesis.Header.HashMerkleRoot); }