@@ -38,6 +38,7 @@ import org.lightningdevkit.ldknode.PaymentDetails
3838import org.lightningdevkit.ldknode.PaymentId
3939import org.lightningdevkit.ldknode.PeerDetails
4040import org.lightningdevkit.ldknode.PublicKey
41+ import org.lightningdevkit.ldknode.ScoringFeeParameters
4142import org.lightningdevkit.ldknode.SpendableUtxo
4243import org.lightningdevkit.ldknode.Txid
4344import org.lightningdevkit.ldknode.defaultConfig
@@ -89,6 +90,12 @@ class LightningService @Inject constructor(
8990 companion object {
9091 private const val TAG = " LightningService"
9192 private const val NODE_ID_PREVIEW_LEN = 20
93+ private const val SCORING_BASE_PENALTY_MSAT = 50_000uL
94+ private const val SCORING_LIQUIDITY_PENALTY_MULTIPLIER_MSAT = 10_000uL
95+ private const val SCORING_LIQUIDITY_PENALTY_AMOUNT_MULTIPLIER_MSAT = 10_000uL
96+ private const val SCORING_HISTORICAL_LIQUIDITY_PENALTY_AMOUNT_MULTIPLIER_MSAT = 20_000uL
97+ private const val SCORING_CONSIDERED_IMPOSSIBLE_PENALTY_MSAT = 1_000_000_000_000uL
98+ private const val SCORING_PROBING_DIVERSITY_PENALTY_MSAT = 60_000uL
9299 }
93100
94101 @Volatile
@@ -168,6 +175,7 @@ class LightningService @Inject constructor(
168175 configureChainSource(customServerUrl)
169176 configureGossipSource(customRgsServerUrl)
170177 configureScorerSource()
178+ setScoringFeeParams(scorerFeeParameters(config))
171179 setAddressType(selectedType)
172180 setAddressTypesToMonitor(monitoredTypes)
173181
@@ -860,6 +868,15 @@ class LightningService @Inject constructor(
860868 }
861869 // endregion
862870
871+ private fun scorerFeeParameters (config : Config ): ScoringFeeParameters = config.scoringFeeParams.copy(
872+ basePenaltyMsat = SCORING_BASE_PENALTY_MSAT ,
873+ liquidityPenaltyMultiplierMsat = SCORING_LIQUIDITY_PENALTY_MULTIPLIER_MSAT ,
874+ liquidityPenaltyAmountMultiplierMsat = SCORING_LIQUIDITY_PENALTY_AMOUNT_MULTIPLIER_MSAT ,
875+ historicalLiquidityPenaltyAmountMultiplierMsat = SCORING_HISTORICAL_LIQUIDITY_PENALTY_AMOUNT_MULTIPLIER_MSAT ,
876+ consideredImpossiblePenaltyMsat = SCORING_CONSIDERED_IMPOSSIBLE_PENALTY_MSAT ,
877+ probingDiversityPenaltyMsat = SCORING_PROBING_DIVERSITY_PENALTY_MSAT ,
878+ )
879+
863880 // region utxo selection
864881 suspend fun listSpendableOutputs (): Result <List <SpendableUtxo >> {
865882 val node = this .node ? : throw ServiceError .NodeNotSetup ()
0 commit comments