Skip to content

Commit 9c63b13

Browse files
committed
use combined scorer
1 parent b388ee1 commit 9c63b13

File tree

3 files changed

+33
-30
lines changed

3 files changed

+33
-30
lines changed

Cargo.toml

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,16 @@ panic = 'abort' # Abort on panic
2828
default = []
2929

3030
[dependencies]
31-
lightning = { version = "0.1.0", features = ["std"] }
32-
lightning-types = { version = "0.2.0" }
33-
lightning-invoice = { version = "0.33.0", features = ["std"] }
34-
lightning-net-tokio = { version = "0.1.0" }
35-
lightning-persister = { version = "0.1.0" }
36-
lightning-background-processor = { version = "0.1.0", features = ["futures"] }
37-
lightning-rapid-gossip-sync = { version = "0.1.0" }
38-
lightning-block-sync = { version = "0.1.0", features = ["rpc-client", "tokio"] }
39-
lightning-transaction-sync = { version = "0.1.0", features = ["esplora-async-https", "time"] }
40-
lightning-liquidity = { version = "0.1.0", features = ["std"] }
31+
#lightning = { version = "0.1.0", features = ["std"] }
32+
#lightning-types = { version = "0.2.0" }
33+
#lightning-invoice = { version = "0.33.0", features = ["std"] }
34+
#lightning-net-tokio = { version = "0.1.0" }
35+
#lightning-persister = { version = "0.1.0" }
36+
#lightning-background-processor = { version = "0.1.0", features = ["futures"] }
37+
#lightning-rapid-gossip-sync = { version = "0.1.0" }
38+
#lightning-block-sync = { version = "0.1.0", features = ["rpc-client", "tokio"] }
39+
#lightning-transaction-sync = { version = "0.1.0", features = ["esplora-async-https", "time"] }
40+
#lightning-liquidity = { version = "0.1.0", features = ["std"] }
4141

4242
#lightning = { git = "https://github.com/lightningdevkit/rust-lightning", branch = "main", features = ["std"] }
4343
#lightning-types = { git = "https://github.com/lightningdevkit/rust-lightning", branch = "main" }
@@ -50,16 +50,16 @@ lightning-liquidity = { version = "0.1.0", features = ["std"] }
5050
#lightning-transaction-sync = { git = "https://github.com/lightningdevkit/rust-lightning", branch = "main", features = ["esplora-async-https", "time"] }
5151
#lightning-liquidity = { git = "https://github.com/lightningdevkit/rust-lightning", branch = "main" }
5252

53-
#lightning = { path = "../rust-lightning/lightning", features = ["std"] }
54-
#lightning-types = { path = "../rust-lightning/lightning-types" }
55-
#lightning-invoice = { path = "../rust-lightning/lightning-invoice", features = ["std"] }
56-
#lightning-net-tokio = { path = "../rust-lightning/lightning-net-tokio" }
57-
#lightning-persister = { path = "../rust-lightning/lightning-persister" }
58-
#lightning-background-processor = { path = "../rust-lightning/lightning-background-processor", features = ["futures"] }
59-
#lightning-rapid-gossip-sync = { path = "../rust-lightning/lightning-rapid-gossip-sync" }
60-
#lightning-block-sync = { path = "../rust-lightning/lightning-block-sync", features = ["rpc-client", "tokio"] }
61-
#lightning-transaction-sync = { path = "../rust-lightning/lightning-transaction-sync", features = ["esplora-async-https", "time"] }
62-
#lightning-liquidity = { path = "../rust-lightning/lightning-liquidity", features = ["std"] }
53+
lightning = { path = "../rust-lightning/lightning", features = ["std"] }
54+
lightning-types = { path = "../rust-lightning/lightning-types" }
55+
lightning-invoice = { path = "../rust-lightning/lightning-invoice", features = ["std"] }
56+
lightning-net-tokio = { path = "../rust-lightning/lightning-net-tokio" }
57+
lightning-persister = { path = "../rust-lightning/lightning-persister" }
58+
lightning-background-processor = { path = "../rust-lightning/lightning-background-processor", features = ["futures"] }
59+
lightning-rapid-gossip-sync = { path = "../rust-lightning/lightning-rapid-gossip-sync" }
60+
lightning-block-sync = { path = "../rust-lightning/lightning-block-sync", features = ["rpc-client", "tokio"] }
61+
lightning-transaction-sync = { path = "../rust-lightning/lightning-transaction-sync", features = ["esplora-async-https", "time"] }
62+
lightning-liquidity = { path = "../rust-lightning/lightning-liquidity", features = ["std"] }
6363

6464
bdk_chain = { version = "0.21.1", default-features = false, features = ["std"] }
6565
bdk_esplora = { version = "0.20.1", default-features = false, features = ["async-https-rustls", "tokio"]}
@@ -88,9 +88,9 @@ prost = { version = "0.11.6", default-features = false}
8888
winapi = { version = "0.3", features = ["winbase"] }
8989

9090
[dev-dependencies]
91-
lightning = { version = "0.1.0", features = ["std", "_test_utils"] }
91+
#lightning = { version = "0.1.0", features = ["std", "_test_utils"] }
9292
#lightning = { git = "https://github.com/lightningdevkit/rust-lightning", branch="main", features = ["std", "_test_utils"] }
93-
#lightning = { path = "../rust-lightning/lightning", features = ["std", "_test_utils"] }
93+
lightning = { path = "../rust-lightning/lightning", features = ["std", "_test_utils"] }
9494
electrum-client = { version = "0.21.0", default-features = true }
9595
bitcoincore-rpc = { version = "0.19.0", default-features = false }
9696
proptest = "1.0.0"

src/builder.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ use lightning::ln::peer_handler::{IgnoringMessageHandler, MessageHandler};
3838
use lightning::routing::gossip::NodeAlias;
3939
use lightning::routing::router::DefaultRouter;
4040
use lightning::routing::scoring::{
41-
ProbabilisticScorer, ProbabilisticScoringDecayParameters, ProbabilisticScoringFeeParameters,
41+
CombinedScorer, ProbabilisticScorer, ProbabilisticScoringDecayParameters, ProbabilisticScoringFeeParameters
4242
};
4343
use lightning::sign::EntropySource;
4444

@@ -877,26 +877,28 @@ fn build_with_store_internal(
877877
},
878878
};
879879

880-
let scorer = match io::utils::read_scorer(
880+
let local_scorer = match io::utils::read_scorer(
881881
Arc::clone(&kv_store),
882882
Arc::clone(&network_graph),
883883
Arc::clone(&logger),
884884
) {
885-
Ok(scorer) => Arc::new(Mutex::new(scorer)),
885+
Ok(scorer) => scorer,
886886
Err(e) => {
887887
if e.kind() == std::io::ErrorKind::NotFound {
888888
let params = ProbabilisticScoringDecayParameters::default();
889-
Arc::new(Mutex::new(ProbabilisticScorer::new(
889+
ProbabilisticScorer::new(
890890
params,
891891
Arc::clone(&network_graph),
892892
Arc::clone(&logger),
893-
)))
893+
)
894894
} else {
895895
return Err(BuildError::ReadFailed);
896896
}
897897
},
898898
};
899-
899+
900+
let scorer = Arc::new(Mutex::new(CombinedScorer::new(local_scorer)));
901+
900902
let scoring_fee_params = ProbabilisticScoringFeeParameters::default();
901903
let router = Arc::new(DefaultRouter::new(
902904
Arc::clone(&network_graph),
@@ -905,7 +907,7 @@ fn build_with_store_internal(
905907
Arc::clone(&scorer),
906908
scoring_fee_params,
907909
));
908-
910+
909911
// Read ChannelMonitor state from store
910912
let channel_monitors = match read_channel_monitors(
911913
Arc::clone(&kv_store),

src/types.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ use lightning::ln::peer_handler::IgnoringMessageHandler;
2121
use lightning::ln::types::ChannelId;
2222
use lightning::routing::gossip;
2323
use lightning::routing::router::DefaultRouter;
24+
use lightning::routing::scoring::CombinedScorer;
2425
use lightning::routing::scoring::{ProbabilisticScorer, ProbabilisticScoringFeeParameters};
2526
use lightning::sign::InMemorySigner;
2627
use lightning::util::persist::KVStore;
@@ -91,7 +92,7 @@ pub(crate) type Router = DefaultRouter<
9192
ProbabilisticScoringFeeParameters,
9293
Scorer,
9394
>;
94-
pub(crate) type Scorer = ProbabilisticScorer<Arc<Graph>, Arc<FilesystemLogger>>;
95+
pub(crate) type Scorer = CombinedScorer<Arc<Graph>, Arc<FilesystemLogger>>;
9596

9697
pub(crate) type Graph = gossip::NetworkGraph<Arc<FilesystemLogger>>;
9798

0 commit comments

Comments
 (0)