@@ -24,7 +24,6 @@ import org.lightningdevkit.ldknode.ElectrumSyncConfig
2424import org.lightningdevkit.ldknode.Event
2525import org.lightningdevkit.ldknode.FeeRate
2626import org.lightningdevkit.ldknode.Node
27- import org.lightningdevkit.ldknode.NodeEntropy
2827import org.lightningdevkit.ldknode.NodeException
2928import org.lightningdevkit.ldknode.NodeStatus
3029import org.lightningdevkit.ldknode.PaymentDetails
@@ -118,43 +117,32 @@ class LightningService @Inject constructor(
118117 customRgsServerUrl : String? ,
119118 config : Config ,
120119 ): Node = ServiceQueue .LDK .background {
121- val nodeEntropy = NodeEntropy .fromBip39Mnemonic(
122- mnemonic = keychain.loadString(Keychain .Key .BIP39_MNEMONIC .name) ? : throw ServiceError .MnemonicNotFound ,
123- passphrase = keychain.loadString(Keychain .Key .BIP39_PASSPHRASE .name),
124- )
125-
126120 val builder = Builder .fromConfig(config).apply {
127121 setCustomLogger(LdkLogWriter ())
128122 configureChainSource(customServerUrl)
129123 configureGossipSource(customRgsServerUrl)
124+ setEntropyBip39Mnemonic(
125+ mnemonic = keychain.loadString(Keychain .Key .BIP39_MNEMONIC .name) ? : throw ServiceError .MnemonicNotFound ,
126+ passphrase = keychain.loadString(Keychain .Key .BIP39_PASSPHRASE .name),
127+ )
130128 }
131129 try {
132130 val vssStoreId = vssStoreIdProvider.getVssStoreId(walletIndex)
133- val lnurlAuthServerUrl = Env .lnurlAuthServerUrl
134131 val vssUrl = Env .vssServerUrl
135- Logger .verbose(" Building ldk-node with vssUrl: '$vssUrl '" )
136- Logger .verbose(" Building ldk-node with lnurlAuthServerUrl: '$lnurlAuthServerUrl '" )
132+ val lnurlAuthServerUrl = Env .lnurlAuthServerUrl
133+ val fixedHeaders = emptyMap<String , String >()
134+ Logger .verbose(
135+ " Building ldk-node with \n\t vssUrl: '$vssUrl '\n\t lnurlAuthServerUrl: '$lnurlAuthServerUrl '"
136+ )
137137 if (lnurlAuthServerUrl.isNotEmpty()) {
138- builder.buildWithVssStore(
139- vssUrl = vssUrl,
140- storeId = vssStoreId,
141- lnurlAuthServerUrl = lnurlAuthServerUrl,
142- fixedHeaders = emptyMap(),
143- nodeEntropy = nodeEntropy,
144- )
138+ builder.buildWithVssStore(vssUrl, vssStoreId, lnurlAuthServerUrl, fixedHeaders)
145139 } else {
146- builder.buildWithVssStoreAndFixedHeaders(
147- vssUrl = vssUrl,
148- storeId = vssStoreId,
149- fixedHeaders = emptyMap(),
150- nodeEntropy = nodeEntropy,
151- )
140+ builder.buildWithVssStoreAndFixedHeaders(vssUrl, vssStoreId, fixedHeaders)
152141 }
153142 } catch (e: BuildException ) {
154143 throw LdkError (e)
155144 } finally {
156- // cleanup sensitive data
157- nodeEntropy.destroy()
145+ // TODO: cleanup sensitive data after implementing a `SecureString` value holder for Keychain return values
158146 }
159147 }
160148
0 commit comments