From 49bec2e8768c4887a90d2a75ef780cf4887fd7cc Mon Sep 17 00:00:00 2001 From: sstone Date: Mon, 15 Jan 2024 16:43:09 +0100 Subject: [PATCH] Export a descriptor for swap-in recovery --- src/commonMain/kotlin/fr/acinq/lightning/crypto/KeyManager.kt | 1 + .../kotlin/fr/acinq/lightning/transactions/SwapInProtocol.kt | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/commonMain/kotlin/fr/acinq/lightning/crypto/KeyManager.kt b/src/commonMain/kotlin/fr/acinq/lightning/crypto/KeyManager.kt index c2a102620..4288eac4e 100644 --- a/src/commonMain/kotlin/fr/acinq/lightning/crypto/KeyManager.kt +++ b/src/commonMain/kotlin/fr/acinq/lightning/crypto/KeyManager.kt @@ -138,6 +138,7 @@ interface KeyManager { val legacySwapInProtocol = SwapInProtocolLegacy(userPublicKey, remoteServerPublicKey, refundDelay) val swapInProtocol = SwapInProtocol(userPublicKey, remoteServerPublicKey, userRefundPublicKey, refundDelay) + val descriptor = SwapInProtocol.descriptor(chain, userPublicKey, remoteServerPublicKey, refundDelay, userRefundExtendedPrivateKey) /** * The output script descriptor matching our legacy swap-in addresses. diff --git a/src/commonMain/kotlin/fr/acinq/lightning/transactions/SwapInProtocol.kt b/src/commonMain/kotlin/fr/acinq/lightning/transactions/SwapInProtocol.kt index 2fc12f484..48373b89a 100644 --- a/src/commonMain/kotlin/fr/acinq/lightning/transactions/SwapInProtocol.kt +++ b/src/commonMain/kotlin/fr/acinq/lightning/transactions/SwapInProtocol.kt @@ -90,8 +90,7 @@ class SwapInProtocol(val userPublicKey: PublicKey, val serverPublicKey: PublicKe else -> DeterministicWallet.tprv } val xpriv = DeterministicWallet.encode(masterRefundKey, prefix) - val path = masterRefundKey.path.toString().replace('\'', 'h').removePrefix("m") - val desc = "tr(${internalPubKey.value},and_v(v:pk($xpriv$path/*),older($refundDelay)))" + val desc = "tr(${internalPubKey.value},and_v(v:pk($xpriv/*),older($refundDelay)))" val checksum = Descriptor.checksum(desc) return "$desc#$checksum" }