Add multi-address-tracking limit config

This commit is contained in:
Mononaut
2024-01-12 22:10:10 +00:00
parent 8f7895cb2e
commit aa0948a154
7 changed files with 18 additions and 4 deletions

View File

@@ -217,7 +217,10 @@ class WebsocketHandler {
addressMap[address] = validAddress;
}
}
if (Object.keys(addressMap).length > 0) {
if (Object.keys(addressMap).length > config.MEMPOOL.MAX_TRACKED_ADDRESSES) {
response['track-addresses-error'] = `too many addresses requested, this connection supports tracking a maximum of ${config.MEMPOOL.MAX_TRACKED_ADDRESSES} addresses`;
client['track-addresses'] = null;
} else if (Object.keys(addressMap).length > 0) {
client['track-addresses'] = addressMap;
} else {
client['track-addresses'] = null;
@@ -231,7 +234,10 @@ class WebsocketHandler {
spks.push(spk.toLowerCase());
}
}
if (spks.length) {
if (spks.length > config.MEMPOOL.MAX_TRACKED_ADDRESSES) {
response['track-scriptpubkeys-error'] = `too many scriptpubkeys requested, this connection supports tracking a maximum of ${config.MEMPOOL.MAX_TRACKED_ADDRESSES} scriptpubkeys`;
client['track-scriptpubkeys'] = null;
} else if (spks.length) {
client['track-scriptpubkeys'] = spks;
} else {
client['track-scriptpubkeys'] = null;