From 550eb510909f23adb0c843ebf254d1ca56cdde95 Mon Sep 17 00:00:00 2001 From: Carti Date: Fri, 25 Sep 2026 08:57:57 +0200 Subject: [PATCH 1/2] Remove use of `NO_TUPLE` --- NBitcoin/Network.cs | 12 +++++------- NBitcoin/PriorityQueue.cs | 3 ++- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/NBitcoin/Network.cs b/NBitcoin/Network.cs index 3c487fca5..b02aa9a35 100644 --- a/NBitcoin/Network.cs +++ b/NBitcoin/Network.cs @@ -986,6 +986,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 +1006,6 @@ public BitcoinScriptAddress CreateBitcoinScriptAddress(string base58) return null; } - internal static Network? GetNetworkFromBase58Data(string base58, Base58Type? expectedType = null) { foreach (var network in GetNetworks()) @@ -1035,10 +1035,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 +1069,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 +1079,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 +1091,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); diff --git a/NBitcoin/PriorityQueue.cs b/NBitcoin/PriorityQueue.cs index 6aedf747d..7181de12b 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 { From daf0659a6dc1217990234c8246d338e378a927e3 Mon Sep 17 00:00:00 2001 From: Carti Date: Fri, 25 Sep 2026 11:14:46 +0200 Subject: [PATCH 2/2] Remove use of `NOSOCKET` --- NBitcoin.TestFramework/NodeBuilder.cs | 8 +++--- NBitcoin.Tests/ProtocolTests.cs | 4 +-- NBitcoin.Tests/RPCClientTests.cs | 4 +-- NBitcoin.Tests/addrman_tests.cs | 8 +----- NBitcoin/Bitcoin.Mainnet.cs | 7 ------ NBitcoin/Bitcoin.MutinyNet.cs | 2 -- NBitcoin/Bitcoin.Signet.cs | 2 -- NBitcoin/Bitcoin.Testnet.cs | 4 --- NBitcoin/Bitcoin.Testnet4.cs | 3 --- NBitcoin/Bitcoin.cs | 3 --- NBitcoin/BitcoinStream.cs | 6 ----- NBitcoin/ConsensusFactory.cs | 2 -- NBitcoin/IpExtensions.cs | 5 +--- NBitcoin/Network.cs | 25 ++++++------------- NBitcoin/NetworkBuilder.cs | 7 +----- NBitcoin/NetworkSet.cs | 2 -- NBitcoin/Protocol/AddressManager.cs | 2 -- .../Behaviors/AddressManagerBehavior.cs | 4 +-- .../Behaviors/BroadcastTransactionBehavior.cs | 4 +-- NBitcoin/Protocol/Behaviors/ChainBehavior.cs | 4 +-- NBitcoin/Protocol/Behaviors/NodeBehavior.cs | 4 +-- .../Behaviors/NodeBehaviorsCollection.cs | 4 +-- .../Protocol/Behaviors/NodesGroupBehavior.cs | 4 +-- .../Protocol/Behaviors/PingPongBehavior.cs | 4 +-- .../Protocol/Behaviors/SlimChainBehavior.cs | 4 +-- .../Behaviors/SocksSettingsBehavior.cs | 4 +-- .../Connectors/DefaultEndpointConnector.cs | 4 +-- .../Protocol/Connectors/IEnpointConnector.cs | 4 +-- .../Protocol/Connectors/SocketExtensions.cs | 4 +-- NBitcoin/Protocol/DnsResolver.cs | 4 +-- NBitcoin/Protocol/DnsSocksResolver.cs | 4 +-- NBitcoin/Protocol/Filters/ActionFilter.cs | 4 +-- NBitcoin/Protocol/Filters/NodeFilter.cs | 4 +-- .../Protocol/Filters/NodeFiltersCollection.cs | 4 +-- NBitcoin/Protocol/IDnsResolver.cs | 4 +-- NBitcoin/Protocol/IMessageProducer.cs | 4 +-- NBitcoin/Protocol/IncomingMessage.cs | 4 +-- NBitcoin/Protocol/Message.cs | 5 +--- NBitcoin/Protocol/MessageListener.cs | 4 +-- NBitcoin/Protocol/NetworkAddress.cs | 2 -- NBitcoin/Protocol/Node.cs | 4 +-- NBitcoin/Protocol/NodeConnectionParameters.cs | 4 +-- NBitcoin/Protocol/NodeListener.cs | 4 +-- NBitcoin/Protocol/NodeServer.cs | 4 +-- NBitcoin/Protocol/NodesCollection.cs | 4 +-- NBitcoin/Protocol/NodesGroup.cs | 4 +-- NBitcoin/Protocol/Payloads/AddrPayload.cs | 4 +-- NBitcoin/Protocol/Payloads/VersionPayload.cs | 2 -- NBitcoin/Protocol/SocketSettings.cs | 4 +-- NBitcoin/RPC/RPCClient.cs | 9 ------- NBitcoin/Socks/SocksException.cs | 4 +-- NBitcoin/Socks/SocksHelper.cs | 4 +-- NBitcoin/Utils.cs | 20 ++++----------- NBitcoin/Utils/StreamExtensions.cs | 4 +-- NBitcoin/Utils/ThreadSafeCollection.cs | 4 +-- 55 files changed, 56 insertions(+), 208 deletions(-) diff --git a/NBitcoin.TestFramework/NodeBuilder.cs b/NBitcoin.TestFramework/NodeBuilder.cs index b24a01d90..da3376933 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 97cda3c3c..0244099b7 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 3cbcac377..2cabd5b74 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 8c4dc8771..0f8d32d28 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 34afabaeb..1fdd57512 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 d58f97144..fb19787b7 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 f166260c8..14f6ba11c 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 0454e4500..44f25caff 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 ca9c49b54..a019dd52d 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 681847e06..e0296c775 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 54568a78f..f7537584d 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 3677a7f68..d431e5fcf 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 d3d554646..5ce55c42d 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 b02aa9a35..304ad6f1d 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) { @@ -1353,7 +1344,6 @@ public Message ParseMessage(byte[] bytes, uint? version = null) return message; } -#if !NOSOCKET public IEnumerable SeedNodes { get @@ -1361,6 +1351,7 @@ public IEnumerable SeedNodes return this.vFixedSeeds; } } + public IEnumerable DNSSeeds { get @@ -1368,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 c770797fa..8c5b3f2ec 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 e1d654b43..b80210a92 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/Protocol/AddressManager.cs b/NBitcoin/Protocol/AddressManager.cs index 767a70046..88fbf8867 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 2c0c13c8d..b147f11f6 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 a6bde16c6..8c1036720 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 8e17c79de..6d32cb143 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 b5ae137e5..088b77d14 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 0b705b845..d56c44b85 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 4e54fb3ca..9ab58cd27 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 ebed251ba..1517636ff 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 805c0170a..7e3eead8f 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 772101ab4..48250143e 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 34e784ca7..6de68ba97 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 73db694dd..8e7d8d764 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 cd097cca1..61233f208 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 8910a777d..b9f67b6f8 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 a4e94a89b..59126349d 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 4d93f16fd..50f68599a 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 30313d79e..0abc21317 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 04a3ba9a1..1b088902e 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 b31f31fef..4bec08b86 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 038e8eed2..f70ebb86c 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 bdfc95e02..c0d10a607 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 9a523a795..e8c3b739b 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 175f1f84d..c3f5be17e 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 02cb67e6a..0e6f40df2 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 c51a8be8b..bc15fa606 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 1ba3a9bbb..484ce4eb3 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 66fea3cb3..ab00f209f 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 36ebc2c49..4a75e2987 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 d65909eb5..814aa723b 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 cead92252..393face93 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 2ff9a1450..967761995 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 a9720ddde..04282738b 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 c68e0bc58..191bbe012 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 c3f6fb33a..970ec8d12 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 c5d230bc5..4a9f4f4d9 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 2579704f9..9bf57437f 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