Skip to content

Commit 0d75298

Browse files
committed
Add 4 additional electrum server config settings.
1 parent 34a261e commit 0d75298

3 files changed

Lines changed: 39 additions & 3 deletions

File tree

include/bitcoin/server/settings.hpp

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,21 @@ class BCS_API settings
9090
using base = network::settings::tls_server;
9191
using base::base;
9292

93-
// Maximum number of headers the server will return in single request.
94-
// Recommended to be multiple of difficulty retarget period, e.g. 2016.
93+
/// Maximum number of headers the server will return in single request.
94+
/// Recommended to be a multiple of the difficulty retarget period.
9595
uint32_t maximum_headers{ 10 * 2016 };
96+
97+
/// Maximum cumulative number of address subscriptions per channel.
98+
uint32_t maximum_subscriptions{ 1'000'000 };
99+
100+
/// Arbitrary server name returned by server.version.
101+
std::string server_name{ BC_USER_AGENT };
102+
103+
/// Arbitrary string returned by server.donation_address.
104+
std::string donation_address{};
105+
106+
/// Arbitrary string returned by server.banner.
107+
std::string banner_message{};
96108
};
97109

98110
/// html (http/s) document server settings (has directory/default).

src/parser.cpp

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1132,7 +1132,27 @@ options_metadata parser::load_settings() THROWS
11321132
(
11331133
"electrum.maximum_headers",
11341134
value<uint32_t>(&configured.server.electrum.maximum_headers),
1135-
"The maximum allowed header request cound, defaults to '20160'."
1135+
"The maximum allowed headers returned per request, defaults to '20160'."
1136+
)
1137+
(
1138+
"electrum.maximum_subscriptions",
1139+
value<uint32_t>(&configured.server.electrum.maximum_subscriptions),
1140+
"The maximum allowed address subscriptions per channel, defaults to '1000000'."
1141+
)
1142+
(
1143+
"electrum.server_name",
1144+
value<std::string>(&configured.server.electrum.server_name),
1145+
"String returned by server.version, defaults to '" BC_USER_AGENT "'."
1146+
)
1147+
(
1148+
"electrum.donation_address",
1149+
value<std::string>(&configured.server.electrum.donation_address),
1150+
"String returned by server.donation_address, defaults to empty."
1151+
)
1152+
(
1153+
"electrum.banner_message",
1154+
value<std::string>(&configured.server.electrum.banner_message),
1155+
"String returned by server.banner, defaults to empty."
11361156
)
11371157

11381158
/* [stratum_v1] */

test/settings.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,10 @@ BOOST_AUTO_TEST_CASE(server__electrum_server__defaults__expected)
233233

234234
// electrum_server
235235
BOOST_REQUIRE_EQUAL(server.maximum_headers, 10u * 2016u);
236+
BOOST_REQUIRE_EQUAL(server.maximum_subscriptions, 1'000'000u);
237+
BOOST_REQUIRE_EQUAL(server.server_name, BC_USER_AGENT);
238+
BOOST_REQUIRE(server.donation_address.empty());
239+
BOOST_REQUIRE(server.banner_message.empty());
236240
}
237241

238242
BOOST_AUTO_TEST_CASE(server__stratum_v1_server__defaults__expected)

0 commit comments

Comments
 (0)