What changed, and why it matters
This commit removes support for Litecoin from the Core Lightning software. It deletes Litecoin-specific configuration data, Docker build steps, command-line help text, and a network option from developer tools. There is no security fix or vulnerability being patched; it is a cleanup change because the feature was untested and likely unused.
No security action required. Reviewers may verify that downstream users no longer rely on the removed --network=litecoin option.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The patch strips Litecoin network definitions (mainnet and testnet) from bitcoin/chainparams.c, removes litecoin-cli download/verification from the Dockerfile, updates help strings in common/configdir.c, devtools/gossipwith.c, doc/lightning-reckless.1.md, and tools/reckless, and removes a Litecoin-related comment in hsmd/libhsmd.c. No cryptographic, memory-safety, or protocol logic is modified.
Changed components
Dockerfilebitcoin/chainparams.ccommon/configdir.cdevtools/gossipwith.cdoc/lightning-reckless.1.mdhsmd/libhsmd.ctools/recklessInspect captured patch +6 / −80
diff --git a/Dockerfile b/Dockerfile
index fa9db35e..db9e2691 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -43,25 +43,6 @@ RUN gpg --quiet --import gpg/* && \
RUN tar xzf ${BITCOIN_TARBALL} --strip-components=1
-ARG LITECOIN_VERSION=0.16.3
-ARG LITECOIN_BASE_URL=https://download.litecoin.org/litecoin-${LITECOIN_VERSION}
-ARG LITECOIN_URL=${LITECOIN_BASE_URL}/linux
-ARG LITECOIN_TARBALL=litecoin-${LITECOIN_VERSION}-${target_arch}.tar.gz
-
-WORKDIR /opt/litecoin
-
-ADD ${LITECOIN_URL}/${LITECOIN_TARBALL} .
-ADD ${LITECOIN_URL}/${LITECOIN_TARBALL}.asc .
-ADD ${LITECOIN_BASE_URL}/SHA256SUMS.asc .
-COPY contrib/keys/litecoin/ gpg/
-
-RUN gpg --quiet --import gpg/* && \
- gpg --verify SHA256SUMS.asc && \
- gpg --verify ${LITECOIN_TARBALL}.asc ${LITECOIN_TARBALL} && \
- sha256sum -c SHA256SUMS.asc --ignore-missing
-
-RUN tar xzf ${LITECOIN_TARBALL} --strip-components=1
-
FROM base-host AS base-builder
RUN apt-get update && \
@@ -185,7 +166,6 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/*
COPY --from=downloader /opt/bitcoin/bin/bitcoin-cli /usr/bin/
-COPY --from=downloader /opt/litecoin/bin/litecoin-cli /usr/bin/
COPY --from=builder /tmp/lightning_install/ /usr/local/
COPY tools/docker-entrypoint.sh /entrypoint.sh
@@ -197,4 +177,4 @@ ENV LIGHTNINGD_NETWORK=bitcoin
EXPOSE 9735 9835
VOLUME ["/root/.lightning"]
-ENTRYPOINT ["/entrypoint.sh"]
\ No newline at end of file
+ENTRYPOINT ["/entrypoint.sh"]
diff --git a/bitcoin/chainparams.c b/bitcoin/chainparams.c
index 9d2883ba..9ce3b052 100644
--- a/bitcoin/chainparams.c
+++ b/bitcoin/chainparams.c
@@ -162,58 +162,6 @@ const struct chainparams networks[] = {
.bip32_key_version = {.bip32_pubkey_version = BIP32_VER_TEST_PUBLIC,
.bip32_privkey_version = BIP32_VER_TEST_PRIVATE},
.is_elements = false},
- {.network_name = "litecoin",
- .onchain_hrp = "ltc",
- .lightning_hrp = "ltc",
- .bip70_name = "main",
- .genesis_blockhash = {{{.u.u8 = {0xe2, 0xbf, 0x04, 0x7e, 0x7e, 0x5a, 0x19,
- 0x1a, 0xa4, 0xef, 0x34, 0xd3, 0x14, 0x97,
- 0x9d, 0xc9, 0x98, 0x6e, 0x0f, 0x19, 0x25,
- 0x1e, 0xda, 0xba, 0x59, 0x40, 0xfd, 0x1f,
- 0xe3, 0x65, 0xa7, 0x12}}}},
- .rpc_port = 9332,
- .ln_port = 9735,
- .cli = "litecoin-cli",
- .cli_args = NULL,
- .cli_min_supported_version = 150000,
- .dust_limit = { 100000 },
- .max_funding = AMOUNT_SAT_INIT(60 * ((1 << 24) - 1)),
- .max_payment = AMOUNT_MSAT_INIT(60 * 0xFFFFFFFFULL),
- .max_supply = AMOUNT_SAT_INIT(2100000000000000),
- .when_lightning_became_cool = 1320000,
- .p2pkh_version = 48,
- .p2sh_version = 50,
- .testnet = false,
- .fee_asset_tag = NULL,
- .bip32_key_version = {.bip32_pubkey_version = BIP32_VER_MAIN_PUBLIC,
- .bip32_privkey_version = BIP32_VER_MAIN_PRIVATE},
- .is_elements = false},
- {.network_name = "litecoin-testnet",
- .onchain_hrp = "tltc",
- .lightning_hrp = "tltc",
- .bip70_name = "test",
- .genesis_blockhash = {{{.u.u8 = {0xa0, 0x29, 0x3e, 0x4e, 0xeb, 0x3d, 0xa6,
- 0xe6, 0xf5, 0x6f, 0x81, 0xed, 0x59, 0x5f,
- 0x57, 0x88, 0x0d, 0x1a, 0x21, 0x56, 0x9e,
- 0x13, 0xee, 0xfd, 0xd9, 0x51, 0x28, 0x4b,
- 0x5a, 0x62, 0x66, 0x49}}}},
- .rpc_port = 19332,
- .ln_port = 9735,
- .cli = "litecoin-cli",
- .cli_args = "-testnet",
- .cli_min_supported_version = 150000,
- .dust_limit = { 100000 },
- .max_funding = AMOUNT_SAT_INIT(60 * ((1 << 24) - 1)),
- .max_payment = AMOUNT_MSAT_INIT(60 * 0xFFFFFFFFULL),
- .max_supply = AMOUNT_SAT_INIT(2100000000000000),
- .when_lightning_became_cool = 1,
- .p2pkh_version = 111,
- .p2sh_version = 58,
- .testnet = true,
- .fee_asset_tag = NULL,
- .bip32_key_version = {.bip32_pubkey_version = BIP32_VER_TEST_PUBLIC,
- .bip32_privkey_version = BIP32_VER_TEST_PRIVATE},
- .is_elements = false},
{.network_name = "liquid-regtest",
.onchain_hrp = "ert",
.lightning_hrp = "ert",
diff --git a/common/configdir.c b/common/configdir.c
index 453e3424..8a68f5d1 100644
--- a/common/configdir.c
+++ b/common/configdir.c
@@ -341,7 +341,7 @@ struct configvar **initial_config_opts(const tal_t *ctx,
opt_register_early_arg("--network", opt_set_network, opt_show_network,
NULL,
"Select the network parameters (bitcoin, testnet,"
- " signet, regtest, litecoin or litecoin-testnet)");
+ " signet, or regtest)");
opt_register_early_noarg("--testnet",
opt_set_specific_network, "testnet",
"Alias for --network=testnet");
diff --git a/devtools/gossipwith.c b/devtools/gossipwith.c
index a0e55ab9..827c1a68 100644
--- a/devtools/gossipwith.c
+++ b/devtools/gossipwith.c
@@ -369,8 +369,7 @@ int main(int argc, char *argv[])
opt_register_arg("--network", opt_set_network, opt_show_network,
NULL,
"Select the network parameters (bitcoin, testnet, signet,"
- " regtest, liquid, liquid-regtest, litecoin or"
- " litecoin-testnet)");
+ " regtest, liquid, or liquid-regtest)");
opt_register_noarg("--must-get-max-messages", opt_set_bool, &no_early_close,
"Fail with exit code 1 unless we reach maximum messages");
opt_register_noarg("--help|-h", opt_usage_and_exit,
diff --git a/doc/lightning-reckless.1.md b/doc/lightning-reckless.1.md
index d8820bd1..36424650 100644
--- a/doc/lightning-reckless.1.md
+++ b/doc/lightning-reckless.1.md
@@ -85,7 +85,7 @@ Available option flags:
request additional debug output
**--network**=*network*
- specify bitcoin, regtest, liquid, liquid-regtest, litecoin, signet,
+ specify bitcoin, regtest, liquid, liquid-regtest, signet,
or testnet networks. (default: bitcoin)
NOTES
diff --git a/hsmd/libhsmd.c b/hsmd/libhsmd.c
index 5488302e..e4a14e44 100644
--- a/hsmd/libhsmd.c
+++ b/hsmd/libhsmd.c
@@ -2466,8 +2466,7 @@ u8 *hsmd_init(const u8 *secret_data, size_t secret_len, const u64 hsmd_version,
/* Fill in the BIP32 tree for bitcoin addresses. */
/* In libwally-core, the version BIP32_VER_TEST_PRIVATE is for testnet/regtest,
- * and BIP32_VER_MAIN_PRIVATE is for mainnet. For litecoin, we also set it like
- * bitcoin else.*/
+ * and BIP32_VER_MAIN_PRIVATE is for mainnet. */
do {
hkdf_sha256(bip32_seed, sizeof(bip32_seed),
&salt, sizeof(salt),
diff --git a/tools/reckless b/tools/reckless
index 33ef0fa2..5358a3fc 100755
--- a/tools/reckless
+++ b/tools/reckless
@@ -2033,7 +2033,7 @@ if __name__ == '__main__':
NETWORK = 'regtest' if args.regtest else 'bitcoin'
SUPPORTED_NETWORKS = ['bitcoin', 'regtest', 'liquid', 'liquid-regtest',
- 'litecoin', 'signet', 'testnet', 'testnet4']
+ 'signet', 'testnet', 'testnet4']
if args.version:
report_version()
elif args.cmd1 is None:
Why this scored 20/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.