diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/rpc/net.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/rpc/net.cpp b/src/rpc/net.cpp index 5fea8c22c9..e53f889897 100644 --- a/src/rpc/net.cpp +++ b/src/rpc/net.cpp @@ -313,7 +313,7 @@ static RPCHelpMan addnode() { {"node", RPCArg::Type::STR, RPCArg::Optional::NO, "The address of the peer to connect to"}, {"command", RPCArg::Type::STR, RPCArg::Optional::NO, "'add' to add a node to the list, 'remove' to remove a node from the list, 'onetry' to try a connection to the node once"}, - {"v2transport", RPCArg::Type::BOOL, RPCArg::Default{false}, "Attempt to connect using BIP324 v2 transport protocol (ignored for 'remove' command)"}, + {"v2transport", RPCArg::Type::BOOL, RPCArg::DefaultHint{"set by -v2transport"}, "Attempt to connect using BIP324 v2 transport protocol (ignored for 'remove' command)"}, }, RPCResult{RPCResult::Type::NONE, "", ""}, RPCExamples{ @@ -332,9 +332,10 @@ static RPCHelpMan addnode() CConnman& connman = EnsureConnman(node); const std::string node_arg{request.params[0].get_str()}; - bool use_v2transport = self.Arg<bool>(2); + bool node_v2transport = connman.GetLocalServices() & NODE_P2P_V2; + bool use_v2transport = self.MaybeArg<bool>(2).value_or(node_v2transport); - if (use_v2transport && !(node.connman->GetLocalServices() & NODE_P2P_V2)) { + if (use_v2transport && !node_v2transport) { throw JSONRPCError(RPC_INVALID_PARAMETER, "Error: v2transport requested but not enabled (see -v2transport)"); } |