diff --git a/NBitcoin.TestFramework/NodeBuilder.cs b/NBitcoin.TestFramework/NodeBuilder.cs index b24a01d906..da33769339 100644 --- a/NBitcoin.TestFramework/NodeBuilder.cs +++ b/NBitcoin.TestFramework/NodeBuilder.cs @@ -388,7 +388,7 @@ private void CleanFolder() } catch (DirectoryNotFoundException) { } } -#if !NOSOCKET + public void Sync(CoreNode node, bool keepConnection = false) { var rpc = CreateRPCClient(); @@ -401,7 +401,7 @@ public void Sync(CoreNode node, bool keepConnection = false) if (!keepConnection) rpc.DisconnectNode(node.Endpoint).GetAwaiter().GetResult(); } -#endif + private CoreNodeState _State; public CoreNodeState State { @@ -466,16 +466,16 @@ public RestClient CreateRESTClient() { return new RestClient(new Uri("http://127.0.0.1:" + ports[1].ToString() + "/")); } -#if !NOSOCKET + public Node CreateNodeClient() { return Node.Connect(Network, NodeEndpoint); } + public Node CreateNodeClient(NodeConnectionParameters parameters) { return Node.Connect(Network, "127.0.0.1:" + ports[0].ToString(), parameters); } -#endif /// /// Nodes connecting to this node will be whitelisted (default: false) diff --git a/NBitcoin.Tests/ProtocolTests.cs b/NBitcoin.Tests/ProtocolTests.cs index 97cda3c3c6..0244099b7d 100644 --- a/NBitcoin.Tests/ProtocolTests.cs +++ b/NBitcoin.Tests/ProtocolTests.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; @@ -1195,4 +1194,3 @@ public void CanDownloadLastBlocks() } } } -#endif diff --git a/NBitcoin.Tests/RPCClientTests.cs b/NBitcoin.Tests/RPCClientTests.cs index 3cbcac3770..2cabd5b74c 100644 --- a/NBitcoin.Tests/RPCClientTests.cs +++ b/NBitcoin.Tests/RPCClientTests.cs @@ -1200,8 +1200,6 @@ public void CanTestMempoolAccept() } } -#if !NOSOCKET - [Fact] [Trait("UnitTest", "UnitTest")] public void onioncat_test() @@ -1325,7 +1323,7 @@ public void RPCSendRPCException() } } } -#endif + [Fact] public void CanBackupWallet() { diff --git a/NBitcoin.Tests/addrman_tests.cs b/NBitcoin.Tests/addrman_tests.cs index 8c4dc87719..0f8d32d287 100644 --- a/NBitcoin.Tests/addrman_tests.cs +++ b/NBitcoin.Tests/addrman_tests.cs @@ -1,14 +1,9 @@ -#if !NOSOCKET -using NBitcoin.DataEncoders; -using NBitcoin.Protocol; +using NBitcoin.Protocol; using System; -using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; -using System.Text; using System.Threading; -using System.Threading.Tasks; using Xunit; namespace NBitcoin.Tests @@ -175,4 +170,3 @@ private NetworkAddress RandomNetworkAddress(Random rand) } } } -#endif diff --git a/NBitcoin/Bitcoin.Mainnet.cs b/NBitcoin/Bitcoin.Mainnet.cs index 34afabaeb9..1fdd575121 100644 --- a/NBitcoin/Bitcoin.Mainnet.cs +++ b/NBitcoin/Bitcoin.Mainnet.cs @@ -79,7 +79,6 @@ private Network CreateMainnet() builder.SetConsensus(consensus); -#if !NOSOCKET builder.AddDNSSeeds(new[] { new DNSSeedData("bitcoin.sipa.be", "seed.bitcoin.sipa.be"), // Pieter Wuille @@ -91,7 +90,6 @@ private Network CreateMainnet() }); builder.AddSeeds(LoadNetworkAddresses(GetMainnetSeeds(), builder)); -#endif var result = builder.BuildAndRegister(); @@ -108,9 +106,6 @@ private static void assert(bool v) throw new InvalidOperationException("Invalid network"); } - -#if !NOSOCKET - // https://github.com/bitcoin/bitcoin/blob/master/src/chainparamsseeds.h // All these entries were prefixed with 0x00 because NBitcoin expects the service flags. private byte[] GetMainnetSeeds() => new byte[] @@ -1492,7 +1487,5 @@ private static void assert(bool v) 0x9f, 0xf4, 0x72, 0x7a, 0x9b, 0x20, 0x0c, 0x5c, 0x11, 0x3d, 0x22, 0xd6, 0x13, 0x88, 0x66, 0x74, 0xbf, 0x20, 0x8d }; - -#endif } } diff --git a/NBitcoin/Bitcoin.MutinyNet.cs b/NBitcoin/Bitcoin.MutinyNet.cs index d58f971446..fb19787b79 100644 --- a/NBitcoin/Bitcoin.MutinyNet.cs +++ b/NBitcoin/Bitcoin.MutinyNet.cs @@ -48,12 +48,10 @@ private Network CreateMutinyNet() .SetName("mutinynet") .AddAlias("bitcoin-mutinynet") .AddAlias("btc-mutinynet") -#if !NOSOCKET .AddSeeds(new[] { new Protocol.NetworkAddress(System.Net.IPAddress.Parse("45.79.52.207"), 38333) }) -#endif .SetGenesis( "0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a008f4d5fae77031e8ad222030101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4d04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73ffffffff0100f2052a01000000434104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000"); diff --git a/NBitcoin/Bitcoin.Signet.cs b/NBitcoin/Bitcoin.Signet.cs index f166260c88..14f6ba11c9 100755 --- a/NBitcoin/Bitcoin.Signet.cs +++ b/NBitcoin/Bitcoin.Signet.cs @@ -84,7 +84,6 @@ private Network CreateSignet( }); } -#if !NOSOCKET if (networkSeeds != null) { builder.AddSeeds(networkSeeds.Select(o => new Protocol.NetworkAddress(System.Net.IPAddress.Parse(o)))); @@ -93,7 +92,6 @@ private Network CreateSignet( { builder.AddSeeds(SignetSettings.DEFAULT_SIGNET_NETWORK_SEEDS.Select(o => new Protocol.NetworkAddress(System.Net.IPAddress.Parse(o)))); } -#endif var network = builder.BuildAndRegister(); diff --git a/NBitcoin/Bitcoin.Testnet.cs b/NBitcoin/Bitcoin.Testnet.cs index 0454e45004..44f25cafff 100644 --- a/NBitcoin/Bitcoin.Testnet.cs +++ b/NBitcoin/Bitcoin.Testnet.cs @@ -81,11 +81,8 @@ private Network CreateTestnet() consensus.BIP9Deployments[BIP9Deployments.CSV] = new BIP9DeploymentsParameters(0, 1456790400, 1493596800); consensus.BIP9Deployments[BIP9Deployments.Segwit] = new BIP9DeploymentsParameters(1, 1462060800, 1493596800); - builder.SetConsensus(consensus); - -#if !NOSOCKET builder.AddDNSSeeds(new[] { new DNSSeedData("bitcoin.jonasschnelli.ch", "testnet-seed.bitcoin.jonasschnelli.ch"), @@ -107,7 +104,6 @@ private Network CreateTestnet() }; builder.AddSeeds(LoadNetworkAddresses(pnSeed6_test, builder)); -#endif var result = builder.BuildAndRegister(); diff --git a/NBitcoin/Bitcoin.Testnet4.cs b/NBitcoin/Bitcoin.Testnet4.cs index ca9c49b544..a019dd52d1 100644 --- a/NBitcoin/Bitcoin.Testnet4.cs +++ b/NBitcoin/Bitcoin.Testnet4.cs @@ -81,8 +81,6 @@ private Network CreateTestnet4() builder.SetConsensus(consensus); - -#if !NOSOCKET builder.AddDNSSeeds(new[] { new DNSSeedData("bitcoin.sprovoost.nl", "seed.testnet4.bitcoin.sprovoost.nl"), @@ -102,7 +100,6 @@ private Network CreateTestnet4() }; builder.AddSeeds(LoadNetworkAddresses(pnSeed6_test, builder)); -#endif var result = builder.BuildAndRegister(); diff --git a/NBitcoin/Bitcoin.cs b/NBitcoin/Bitcoin.cs index 681847e065..e0296c7758 100644 --- a/NBitcoin/Bitcoin.cs +++ b/NBitcoin/Bitcoin.cs @@ -41,8 +41,6 @@ public Network GetNetwork(ChainName chainName) return _Networks.TryGetValue(chainName, out var network) ? network : null; } - -#if !NOSOCKET private static IEnumerable LoadNetworkAddresses(byte[] payload, NetworkBuilder builder) { // Convert the pnSeeds array into usable address objects. @@ -77,6 +75,5 @@ private static IEnumerable LoadNetworkAddresses(byte[] payload, } } } -#endif } } diff --git a/NBitcoin/BitcoinStream.cs b/NBitcoin/BitcoinStream.cs index 54568a78f3..f7537584dd 100644 --- a/NBitcoin/BitcoinStream.cs +++ b/NBitcoin/BitcoinStream.cs @@ -4,9 +4,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; -#if !NOSOCKET using System.Net.Sockets; -#endif using System.Reflection; using System.Runtime.CompilerServices; using System.Text; @@ -81,9 +79,7 @@ static BitcoinStream() .First(); } -#if !NOSOCKET private readonly bool _IsNetworkStream; -#endif private readonly Stream _Inner; public Stream Inner { @@ -104,9 +100,7 @@ public bool Serializing public BitcoinStream(Stream inner, bool serializing) { _Serializing = serializing; -#if !NOSOCKET _IsNetworkStream = inner is NetworkStream; -#endif _Inner = inner; } diff --git a/NBitcoin/ConsensusFactory.cs b/NBitcoin/ConsensusFactory.cs index 3677a7f683..d431e5fcf2 100644 --- a/NBitcoin/ConsensusFactory.cs +++ b/NBitcoin/ConsensusFactory.cs @@ -88,11 +88,9 @@ public virtual Payload CreatePayload(string command) "getdata" => new GetDataPayload(), "headers" => new HeadersPayload(), "block" => new BlockPayload(), -#if !NOSOCKET "addr" => new AddrPayload(), "addrv2" => new AddrV2Payload(), "version" => new VersionPayload(), -#endif "ping" => new PingPayload(), "pong" => new PongPayload(), "getaddr" => new GetAddrPayload(), diff --git a/NBitcoin/IpExtensions.cs b/NBitcoin/IpExtensions.cs index d3d5546462..5ce55c42d1 100644 --- a/NBitcoin/IpExtensions.cs +++ b/NBitcoin/IpExtensions.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Net; @@ -24,7 +23,6 @@ public static bool IsRFC1918(this IPAddress address) (bytes[15 - 3] == 172 && (bytes[15 - 2] >= 16 && bytes[15 - 2] <= 31))); } - public static bool IsIPv4(this IPAddress address) { return address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork || address.IsIPv4MappedToIPv6; @@ -522,4 +520,3 @@ public static bool IsValid(this IPAddress address) } } } -#endif diff --git a/NBitcoin/Network.cs b/NBitcoin/Network.cs index 3c487fca53..304ad6f1dd 100644 --- a/NBitcoin/Network.cs +++ b/NBitcoin/Network.cs @@ -37,17 +37,18 @@ public DNSSeedData(string name, string host) this.name = name; this.host = host; } -#if !NOSOCKET + public Task GetAddressNodesAsync(int port) { return GetAddressNodesAsync(port, null, default); } + public Task GetAddressNodesAsync(int port, IDnsResolver? dnsResolver, CancellationToken cancellationToken = default) { var dns = new DnsEndPoint(Host, port); return dns.ResolveToIPEndpointsAsync(dnsResolver, cancellationToken); } -#endif + public override string ToString() { return name + " (" + host + ")"; @@ -734,20 +735,11 @@ protected void Fill(Consensus consensus) } public partial class Network { - - - - - readonly uint magic; -#if !NOSOCKET List vSeeds = new List(); List vFixedSeeds = new List(); -#else - List vSeeds = new List(); - List vFixedSeeds = new List(); -#endif + readonly byte[] _GenesisBytes; private int nRPCPort; @@ -768,7 +760,6 @@ public int DefaultPort } } - private Consensus consensus = new Consensus(); public Consensus Consensus { @@ -874,16 +865,16 @@ internal static Network Register(NetworkBuilder builder) network.NetworkStringParser = builder._NetworkStringParser; network.MaxP2PVersion = builder._MaxP2PVersion == null ? BITCOIN_MAX_P2P_VERSION : builder._MaxP2PVersion.Value; -#if !NOSOCKET foreach (var seed in builder.vSeeds) { network.vSeeds.Add(seed); } + foreach (var seed in builder.vFixedSeeds) { network.vFixedSeeds.Add(seed); } -#endif + network.base58Prefixes = builder._Name == "Main" ?network.base58Prefixes : Main.base58Prefixes.ToArray(); foreach (var kv in builder._Base58Prefixes) { @@ -986,6 +977,7 @@ public BitcoinScriptAddress CreateBitcoinScriptAddress(string base58) { return GetBase58Type(NetworkStringParser.GetBase58CheckEncoder().DecodeData(base58), out _); } + private Base58Type? GetBase58Type(byte[] bytes, out int prefixLength) { for (int i = 0; i < base58Prefixes.Length; i++) @@ -1005,7 +997,6 @@ public BitcoinScriptAddress CreateBitcoinScriptAddress(string base58) return null; } - internal static Network? GetNetworkFromBase58Data(string base58, Base58Type? expectedType = null) { foreach (var network in GetNetworks()) @@ -1035,10 +1026,12 @@ public T Parse(string str) where T : IBitcoinString { return (T)Parse(str, typeof(T)); } + public IBitcoinString Parse(string str) { return Parse(str, null); } + public IBitcoinString Parse(string str, Type? targetType) { if (str == null) @@ -1067,9 +1060,8 @@ public IBitcoinString Parse(string str, Type? targetType) } int i = -1; -#if !NO_TUPLE (Bech32Encoder? encoder, byte[]? bytes, byte witVersion) cache = (null, null, 0); -#endif + foreach (var encoder in bech32Encoders) { i++; @@ -1078,7 +1070,6 @@ public IBitcoinString Parse(string str, Type? targetType) var type = (Bech32Type)i; try { -#if !NO_TUPLE byte witVersion; byte[] bytes; if (cache.encoder == encoder && cache.bytes is not null) @@ -1091,9 +1082,7 @@ public IBitcoinString Parse(string str, Type? targetType) bytes = encoder.Decode(str, out witVersion); cache = (encoder, bytes, witVersion); } -#else - byte[] bytes = encoder.Decode(str, out var witVersion); -#endif + IBitcoinString? candidate = null; if (witVersion == 0 && bytes.Length == 20 && type == Bech32Type.WITNESS_PUBKEY_ADDRESS) candidate = new BitcoinWitPubKeyAddress(str.ToLowerInvariant(), bytes, this); @@ -1355,7 +1344,6 @@ public Message ParseMessage(byte[] bytes, uint? version = null) return message; } -#if !NOSOCKET public IEnumerable SeedNodes { get @@ -1363,6 +1351,7 @@ public IEnumerable SeedNodes return this.vFixedSeeds; } } + public IEnumerable DNSSeeds { get @@ -1370,7 +1359,7 @@ public IEnumerable DNSSeeds return this.vSeeds; } } -#endif + readonly byte[] _MagicBytes; public byte[] MagicBytes { diff --git a/NBitcoin/NetworkBuilder.cs b/NBitcoin/NetworkBuilder.cs index c770797fa1..8c5b3f2ecc 100644 --- a/NBitcoin/NetworkBuilder.cs +++ b/NBitcoin/NetworkBuilder.cs @@ -1,6 +1,4 @@ -#if !NOSOCKET using NBitcoin.Protocol; -#endif using NBitcoin.DataEncoders; using System; using System.Collections.Generic; @@ -22,10 +20,8 @@ public class NetworkBuilder internal int _Port; internal uint _Magic; internal Consensus _Consensus; -#if !NOSOCKET internal List vSeeds = new List(); internal List vFixedSeeds = new List(); -#endif internal byte[] _Genesis; internal uint? _MaxP2PVersion; internal INetworkSet _NetworkSet; @@ -109,18 +105,17 @@ public NetworkBuilder SetMagic(uint magic) return this; } -#if !NOSOCKET public NetworkBuilder AddDNSSeeds(IEnumerable seeds) { vSeeds.AddRange(seeds); return this; } + public NetworkBuilder AddSeeds(IEnumerable seeds) { vFixedSeeds.AddRange(seeds); return this; } -#endif public NetworkBuilder SetConsensus(Consensus consensus) { diff --git a/NBitcoin/NetworkSet.cs b/NBitcoin/NetworkSet.cs index e1d654b432..b80210a92d 100644 --- a/NBitcoin/NetworkSet.cs +++ b/NBitcoin/NetworkSet.cs @@ -171,13 +171,11 @@ protected void RegisterDefaultCookiePath(string folderName, FolderName folder = } } -#if !NOSOCKET protected static IEnumerable ToSeed(Tuple[] tuples) { return tuples .Select(t => new NetworkAddress(new IPAddress(t.Item1), t.Item2)) .ToArray(); } -#endif } } diff --git a/NBitcoin/PriorityQueue.cs b/NBitcoin/PriorityQueue.cs index 6aedf747d8..7181de12b9 100644 --- a/NBitcoin/PriorityQueue.cs +++ b/NBitcoin/PriorityQueue.cs @@ -1,4 +1,4 @@ -#if !NET10_0_OR_GREATER && !NO_TUPLE +#if !NET10_0_OR_GREATER using System; using System.Collections; using System.Collections.Generic; @@ -6,6 +6,7 @@ using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Runtime.CompilerServices; + namespace NBitcoin { diff --git a/NBitcoin/Protocol/AddressManager.cs b/NBitcoin/Protocol/AddressManager.cs index 767a700468..88fbf8867a 100644 --- a/NBitcoin/Protocol/AddressManager.cs +++ b/NBitcoin/Protocol/AddressManager.cs @@ -1,4 +1,3 @@ -#if !NOSOCKET using NBitcoin.Crypto; using NBitcoin.Protocol.Behaviors; using System; @@ -1313,4 +1312,3 @@ private static void PopulateTableWithHardNodes(Network network, List Broadcasts } } } -#endif diff --git a/NBitcoin/Protocol/Behaviors/ChainBehavior.cs b/NBitcoin/Protocol/Behaviors/ChainBehavior.cs index 2c0c13c8dc..b147f11f6d 100644 --- a/NBitcoin/Protocol/Behaviors/ChainBehavior.cs +++ b/NBitcoin/Protocol/Behaviors/ChainBehavior.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -355,4 +354,3 @@ public override object Clone() #endregion } } -#endif \ No newline at end of file diff --git a/NBitcoin/Protocol/Behaviors/NodeBehavior.cs b/NBitcoin/Protocol/Behaviors/NodeBehavior.cs index a6bde16c6b..8c10367201 100644 --- a/NBitcoin/Protocol/Behaviors/NodeBehavior.cs +++ b/NBitcoin/Protocol/Behaviors/NodeBehavior.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -88,4 +87,3 @@ INodeBehavior INodeBehavior.Clone() } } } -#endif \ No newline at end of file diff --git a/NBitcoin/Protocol/Behaviors/NodeBehaviorsCollection.cs b/NBitcoin/Protocol/Behaviors/NodeBehaviorsCollection.cs index 8e17c79dec..6d32cb143a 100644 --- a/NBitcoin/Protocol/Behaviors/NodeBehaviorsCollection.cs +++ b/NBitcoin/Protocol/Behaviors/NodeBehaviorsCollection.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; @@ -53,4 +52,3 @@ internal bool DelayAttach } } } -#endif \ No newline at end of file diff --git a/NBitcoin/Protocol/Behaviors/NodesGroupBehavior.cs b/NBitcoin/Protocol/Behaviors/NodesGroupBehavior.cs index b5ae137e51..088b77d145 100644 --- a/NBitcoin/Protocol/Behaviors/NodesGroupBehavior.cs +++ b/NBitcoin/Protocol/Behaviors/NodesGroupBehavior.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -63,4 +62,3 @@ public override object Clone() #endregion } } -#endif \ No newline at end of file diff --git a/NBitcoin/Protocol/Behaviors/PingPongBehavior.cs b/NBitcoin/Protocol/Behaviors/PingPongBehavior.cs index 0b705b845a..d56c44b851 100644 --- a/NBitcoin/Protocol/Behaviors/PingPongBehavior.cs +++ b/NBitcoin/Protocol/Behaviors/PingPongBehavior.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -216,4 +215,3 @@ public override object Clone() #endregion } } -#endif \ No newline at end of file diff --git a/NBitcoin/Protocol/Behaviors/SlimChainBehavior.cs b/NBitcoin/Protocol/Behaviors/SlimChainBehavior.cs index 4e54fb3ca8..9ab58cd275 100644 --- a/NBitcoin/Protocol/Behaviors/SlimChainBehavior.cs +++ b/NBitcoin/Protocol/Behaviors/SlimChainBehavior.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Linq; using System.Collections.Generic; using System.Text; @@ -122,4 +121,3 @@ protected override void DetachCore() } } } -#endif diff --git a/NBitcoin/Protocol/Behaviors/SocksSettingsBehavior.cs b/NBitcoin/Protocol/Behaviors/SocksSettingsBehavior.cs index ebed251ba4..1517636ffa 100644 --- a/NBitcoin/Protocol/Behaviors/SocksSettingsBehavior.cs +++ b/NBitcoin/Protocol/Behaviors/SocksSettingsBehavior.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Net; @@ -90,4 +89,3 @@ protected override void DetachCore() } } } -#endif diff --git a/NBitcoin/Protocol/Connectors/DefaultEndpointConnector.cs b/NBitcoin/Protocol/Connectors/DefaultEndpointConnector.cs index 805c0170a9..7e3eead8fd 100644 --- a/NBitcoin/Protocol/Connectors/DefaultEndpointConnector.cs +++ b/NBitcoin/Protocol/Connectors/DefaultEndpointConnector.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using NBitcoin.Protocol.Behaviors; +using NBitcoin.Protocol.Behaviors; using NBitcoin.Socks; using System; using System.Collections.Generic; @@ -76,4 +75,3 @@ private static EndPoint NormalizeEndpoint(EndPoint socketEndpoint) } } } -#endif diff --git a/NBitcoin/Protocol/Connectors/IEnpointConnector.cs b/NBitcoin/Protocol/Connectors/IEnpointConnector.cs index 772101ab4d..48250143e7 100644 --- a/NBitcoin/Protocol/Connectors/IEnpointConnector.cs +++ b/NBitcoin/Protocol/Connectors/IEnpointConnector.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Net; using System.Net.Sockets; @@ -15,4 +14,3 @@ public interface IEnpointConnector IEnpointConnector Clone(); } } -#endif \ No newline at end of file diff --git a/NBitcoin/Protocol/Connectors/SocketExtensions.cs b/NBitcoin/Protocol/Connectors/SocketExtensions.cs index 34e784ca70..6de68ba97d 100644 --- a/NBitcoin/Protocol/Connectors/SocketExtensions.cs +++ b/NBitcoin/Protocol/Connectors/SocketExtensions.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Net; using System.Net.Sockets; @@ -35,4 +34,3 @@ public static Task ConnectAsync(this Socket socket, EndPoint remoteEP, Cancellat #endif } } -#endif diff --git a/NBitcoin/Protocol/DnsResolver.cs b/NBitcoin/Protocol/DnsResolver.cs index 73db694dde..8e7d8d764a 100644 --- a/NBitcoin/Protocol/DnsResolver.cs +++ b/NBitcoin/Protocol/DnsResolver.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Net; @@ -36,4 +35,3 @@ public async Task GetHostAddressesAsync(string hostNameOrAddress, C } } } -#endif diff --git a/NBitcoin/Protocol/DnsSocksResolver.cs b/NBitcoin/Protocol/DnsSocksResolver.cs index cd097cca1e..61233f208d 100644 --- a/NBitcoin/Protocol/DnsSocksResolver.cs +++ b/NBitcoin/Protocol/DnsSocksResolver.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Net; @@ -91,4 +90,3 @@ private NetworkCredential GenerateCredentials() } } } -#endif diff --git a/NBitcoin/Protocol/Filters/ActionFilter.cs b/NBitcoin/Protocol/Filters/ActionFilter.cs index 8910a777d1..b9f67b6f81 100644 --- a/NBitcoin/Protocol/Filters/ActionFilter.cs +++ b/NBitcoin/Protocol/Filters/ActionFilter.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -31,4 +30,3 @@ public void OnSendingMessage(Node node, Payload payload, Action next) #endregion } } -#endif \ No newline at end of file diff --git a/NBitcoin/Protocol/Filters/NodeFilter.cs b/NBitcoin/Protocol/Filters/NodeFilter.cs index a4e94a89b4..59126349d4 100644 --- a/NBitcoin/Protocol/Filters/NodeFilter.cs +++ b/NBitcoin/Protocol/Filters/NodeFilter.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -28,4 +27,3 @@ public interface INodeFilter void OnSendingMessage(Node node, Payload payload, Action next); } } -#endif \ No newline at end of file diff --git a/NBitcoin/Protocol/Filters/NodeFiltersCollection.cs b/NBitcoin/Protocol/Filters/NodeFiltersCollection.cs index 4d93f16fd9..50f68599a8 100644 --- a/NBitcoin/Protocol/Filters/NodeFiltersCollection.cs +++ b/NBitcoin/Protocol/Filters/NodeFiltersCollection.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -15,4 +14,3 @@ public IDisposable Add(Action onReceiving, Action GetHostAddressesAsync(string hostNameOrAddress, CancellationToken cancellationToken); } } -#endif diff --git a/NBitcoin/Protocol/IMessageProducer.cs b/NBitcoin/Protocol/IMessageProducer.cs index 30313d79e7..0abc21317e 100644 --- a/NBitcoin/Protocol/IMessageProducer.cs +++ b/NBitcoin/Protocol/IMessageProducer.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -72,4 +71,3 @@ public void PushMessages(IEnumerable messages) } } } -#endif \ No newline at end of file diff --git a/NBitcoin/Protocol/IncomingMessage.cs b/NBitcoin/Protocol/IncomingMessage.cs index 04a3ba9a19..1b088902ed 100644 --- a/NBitcoin/Protocol/IncomingMessage.cs +++ b/NBitcoin/Protocol/IncomingMessage.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Net.Sockets; @@ -53,4 +52,3 @@ internal T AssertPayload() where T : Payload } } } -#endif \ No newline at end of file diff --git a/NBitcoin/Protocol/Message.cs b/NBitcoin/Protocol/Message.cs index b31f31fef8..4bec08b86d 100644 --- a/NBitcoin/Protocol/Message.cs +++ b/NBitcoin/Protocol/Message.cs @@ -5,9 +5,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; -#if !NOSOCKET using System.Net.Sockets; -#endif using System.Text; using System.Threading; using System.Threading.Tasks; @@ -155,7 +153,6 @@ public override string ToString() return String.Format("{0} : {1}", Command, Payload); } -#if !NOSOCKET public static Message ReadNext(Socket socket, Network network, uint version, CancellationToken cancellationToken) { PerformanceCounter counter; @@ -166,7 +163,7 @@ public static Message ReadNext(Socket socket, Network network, uint version, Can { return ReadNext(socket, network, version, cancellationToken, out counter); } -#endif + public static Message ReadNext(Stream stream, Network network, uint version, CancellationToken cancellationToken) { PerformanceCounter counter; diff --git a/NBitcoin/Protocol/MessageListener.cs b/NBitcoin/Protocol/MessageListener.cs index 038e8eed2f..f70ebb86c8 100644 --- a/NBitcoin/Protocol/MessageListener.cs +++ b/NBitcoin/Protocol/MessageListener.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Concurrent; using System.Threading; #if !NO_CHANNELS @@ -182,4 +181,3 @@ public virtual void PushMessage(T message) } #endif } -#endif diff --git a/NBitcoin/Protocol/NetworkAddress.cs b/NBitcoin/Protocol/NetworkAddress.cs index bdfc95e02f..c0d10a607d 100644 --- a/NBitcoin/Protocol/NetworkAddress.cs +++ b/NBitcoin/Protocol/NetworkAddress.cs @@ -1,4 +1,3 @@ -#if !NOSOCKET using System; using System.Collections.Generic; using System.Linq; @@ -627,4 +626,3 @@ private bool HasPrefix(byte[] arr, byte[] prefix) => Utils.ArrayEqual(arr, 0, prefix, 0, prefix.Length); } } -#endif diff --git a/NBitcoin/Protocol/Node.cs b/NBitcoin/Protocol/Node.cs index 9a523a7957..e8c3b739b1 100644 --- a/NBitcoin/Protocol/Node.cs +++ b/NBitcoin/Protocol/Node.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using NBitcoin.Protocol.Behaviors; +using NBitcoin.Protocol.Behaviors; using NBitcoin.Protocol.Filters; using System; using System.Collections.Concurrent; @@ -1781,4 +1780,3 @@ public void Dispose() } } } -#endif diff --git a/NBitcoin/Protocol/NodeConnectionParameters.cs b/NBitcoin/Protocol/NodeConnectionParameters.cs index 175f1f84d8..c3f5be17e8 100644 --- a/NBitcoin/Protocol/NodeConnectionParameters.cs +++ b/NBitcoin/Protocol/NodeConnectionParameters.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using NBitcoin.Protocol.Behaviors; +using NBitcoin.Protocol.Behaviors; using System; using System.Collections.Generic; using System.Net.Sockets; @@ -144,4 +143,3 @@ public VersionPayload CreateVersion(EndPoint peer, Network network) } } } -#endif diff --git a/NBitcoin/Protocol/NodeListener.cs b/NBitcoin/Protocol/NodeListener.cs index 02cb67e6a9..0e6f40df2c 100644 --- a/NBitcoin/Protocol/NodeListener.cs +++ b/NBitcoin/Protocol/NodeListener.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Threading; @@ -128,4 +127,3 @@ public void Dispose() #endregion } } -#endif diff --git a/NBitcoin/Protocol/NodeServer.cs b/NBitcoin/Protocol/NodeServer.cs index c51a8be8bf..bc15fa6067 100644 --- a/NBitcoin/Protocol/NodeServer.cs +++ b/NBitcoin/Protocol/NodeServer.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.IO; @@ -455,4 +454,3 @@ public Node FindOrConnect(EndPoint endpoint) } } } -#endif diff --git a/NBitcoin/Protocol/NodesCollection.cs b/NBitcoin/Protocol/NodesCollection.cs index 1ba3a9bbb3..484ce4eb3e 100644 --- a/NBitcoin/Protocol/NodesCollection.cs +++ b/NBitcoin/Protocol/NodesCollection.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; @@ -195,4 +194,3 @@ public void Clear() } } } -#endif \ No newline at end of file diff --git a/NBitcoin/Protocol/NodesGroup.cs b/NBitcoin/Protocol/NodesGroup.cs index 66fea3cb39..ab00f209f3 100644 --- a/NBitcoin/Protocol/NodesGroup.cs +++ b/NBitcoin/Protocol/NodesGroup.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using NBitcoin.Protocol.Behaviors; +using NBitcoin.Protocol.Behaviors; using System; using System.Text; using System.Linq; @@ -303,4 +302,3 @@ public void Dispose() #endregion } } -#endif diff --git a/NBitcoin/Protocol/Payloads/AddrPayload.cs b/NBitcoin/Protocol/Payloads/AddrPayload.cs index 36ebc2c49f..4a75e2987b 100644 --- a/NBitcoin/Protocol/Payloads/AddrPayload.cs +++ b/NBitcoin/Protocol/Payloads/AddrPayload.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -81,4 +80,3 @@ public override void ReadWriteCore(BitcoinStream stream) } } } -#endif diff --git a/NBitcoin/Protocol/Payloads/VersionPayload.cs b/NBitcoin/Protocol/Payloads/VersionPayload.cs index d65909eb5f..814aa723b2 100644 --- a/NBitcoin/Protocol/Payloads/VersionPayload.cs +++ b/NBitcoin/Protocol/Payloads/VersionPayload.cs @@ -1,4 +1,3 @@ -#if !NOSOCKET using NBitcoin.DataEncoders; using System; using System.Collections.Generic; @@ -235,4 +234,3 @@ public override string ToString() } } } -#endif diff --git a/NBitcoin/Protocol/SocketSettings.cs b/NBitcoin/Protocol/SocketSettings.cs index cead92252c..393face931 100644 --- a/NBitcoin/Protocol/SocketSettings.cs +++ b/NBitcoin/Protocol/SocketSettings.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Net.Sockets; using System.Text; @@ -62,4 +61,3 @@ public SocketSettings Clone() } } } -#endif \ No newline at end of file diff --git a/NBitcoin/RPC/RPCClient.cs b/NBitcoin/RPC/RPCClient.cs index 2ff9a14508..967761995b 100644 --- a/NBitcoin/RPC/RPCClient.cs +++ b/NBitcoin/RPC/RPCClient.cs @@ -1115,7 +1115,6 @@ private async Task ToMemoryStreamAsync(Stream stream) } #region P2P Networking -#if !NOSOCKET public PeerInfo[] GetPeersInfo() { PeerInfo[] peers = null; @@ -1272,7 +1271,6 @@ public async Task GetAddedNodeInfoAync(bool detailed, EndPoint no throw; } } -#endif #endregion @@ -2500,8 +2498,6 @@ public async Task InvalidateBlockAsync(uint256 blockhash, CancellationToken canc await SendCommandAsync(RPCOperations.invalidateblock, cancellationToken, blockhash).ConfigureAwait(false); } -#if !NOSOCKET - /// /// Add the address of a potential peer to the address manager. This RPC is for testing only. /// @@ -2523,12 +2519,9 @@ public async Task AddPeerAddressAsync(IPAddress ip, int port, Cancellation return result.Result["success"].Value(); } -#endif - #endregion } -#if !NOSOCKET public class PeerInfo { public int Id @@ -2655,8 +2648,6 @@ public bool Connected } } -#endif - public class BlockchainInfo { public class SoftFork diff --git a/NBitcoin/Socks/SocksException.cs b/NBitcoin/Socks/SocksException.cs index a9720ddded..04282738bd 100644 --- a/NBitcoin/Socks/SocksException.cs +++ b/NBitcoin/Socks/SocksException.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Text; @@ -71,4 +70,3 @@ public SocksException(string message) : base(message) } } } -#endif \ No newline at end of file diff --git a/NBitcoin/Socks/SocksHelper.cs b/NBitcoin/Socks/SocksHelper.cs index c68e0bc58a..191bbe0126 100644 --- a/NBitcoin/Socks/SocksHelper.cs +++ b/NBitcoin/Socks/SocksHelper.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Net; @@ -177,4 +176,3 @@ public static async Task Handshake(Socket socket, EndPoint endpoint, NetworkCred } } } -#endif diff --git a/NBitcoin/Utils.cs b/NBitcoin/Utils.cs index c3f6fb33a8..970ec8d120 100644 --- a/NBitcoin/Utils.cs +++ b/NBitcoin/Utils.cs @@ -14,10 +14,8 @@ using NBitcoin.BouncyCastle.Math; #endif using System.Runtime.InteropServices; -#if !NOSOCKET using System.Net.Sockets; using System.Diagnostics.CodeAnalysis; -#endif #if WINDOWS_UWP using System.Net.Sockets; using Windows.Networking; @@ -313,20 +311,18 @@ public static IEnumerable> Partition(this IEnumerable source, Func //IO interruption not supported on these platforms. int totalReadCount = 0; -#if !NOSOCKET var interruptable = stream is NetworkStream && cancellation.CanBeCanceled; -#endif - while(totalReadCount < count) + + while (totalReadCount < count) { cancellation.ThrowIfCancellationRequested(); int currentReadCount = 0; -#if !NOSOCKET - if(interruptable) + + if (interruptable) { currentReadCount = stream.ReadAsync(buffer, offset + totalReadCount, count - totalReadCount, cancellation).GetAwaiter().GetResult(); } else -#endif { currentReadCount = stream.Read(buffer, offset + totalReadCount, count - totalReadCount); } @@ -655,8 +651,6 @@ public static void Shuffle(T[] arr) Shuffle(arr, null); } - -#if !NOSOCKET internal static void SafeCloseSocket(System.Net.Sockets.Socket socket) { try @@ -681,7 +675,7 @@ public static System.Net.IPEndPoint EnsureIPv6(System.Net.IPEndPoint endpoint) return endpoint; return new IPEndPoint(endpoint.Address.MapToIPv6(), endpoint.Port); } -#endif + public static byte[] ToBytes(uint value, bool littleEndian) { #if HAS_SPAN @@ -937,9 +931,6 @@ public static ulong ToUInt64(byte[] value, bool littleEndian) return ToUInt64(value, 0, littleEndian); } - -#if !NOSOCKET - public static bool TryParseEndpoint(string hostPort, int defaultPort, [MaybeNullWhen(false)] out EndPoint endpoint) { if (hostPort == null) @@ -993,7 +984,6 @@ public static EndPoint ParseEndpoint(string hostPort, int defaultPort) return endpoint; } -#endif public static int GetHashCode(byte[] array) { return NBitcoin.BouncyCastle.Utilities.Arrays.GetHashCode(array); diff --git a/NBitcoin/Utils/StreamExtensions.cs b/NBitcoin/Utils/StreamExtensions.cs index c5d230bc51..4a9f4f4d95 100644 --- a/NBitcoin/Utils/StreamExtensions.cs +++ b/NBitcoin/Utils/StreamExtensions.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Net; @@ -43,4 +42,3 @@ public static async Task FlushCancellableAsync(this NetworkStream stream, Cancel } } } -#endif diff --git a/NBitcoin/Utils/ThreadSafeCollection.cs b/NBitcoin/Utils/ThreadSafeCollection.cs index 2579704f91..9bf57437f9 100644 --- a/NBitcoin/Utils/ThreadSafeCollection.cs +++ b/NBitcoin/Utils/ThreadSafeCollection.cs @@ -1,5 +1,4 @@ -#if !NOSOCKET -using System; +using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; @@ -100,4 +99,3 @@ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() } } -#endif \ No newline at end of file