@@ -32,7 +32,10 @@ use gasket::{
3232 messaging:: { tokio:: funnel_ports, OutputPort } ,
3333 runtime:: Tether ,
3434} ;
35- use pallas_network:: { facades:: PeerClient , miniprotocols:: chainsync:: Tip } ;
35+ use pallas_network:: {
36+ facades:: PeerClient ,
37+ miniprotocols:: { chainsync:: Tip , Point } ,
38+ } ;
3639use std:: { path:: PathBuf , sync:: Arc } ;
3740use tokio:: sync:: Mutex ;
3841
@@ -90,11 +93,15 @@ pub fn bootstrap(
9093 . collect :: < Vec < _ > > ( ) ;
9194 let chain_store = RocksDBStore :: new ( config. chain_dir . clone ( ) , era_history) ?;
9295
93- #[ allow( clippy:: expect_used) ]
94- let header: Header = chain_store
95- . load_header ( & Hash :: from ( & tip) )
96- . expect ( "Tip not found" ) ;
97- let our_tip = Tip ( header. pallas_point ( ) , header. block_height ( ) ) ;
96+ let our_tip = if let amaru_kernel:: Point :: Specific ( _slot, hash) = & tip {
97+ #[ allow( clippy:: expect_used) ]
98+ let header: Header = chain_store
99+ . load_header ( & Hash :: from ( & * * hash) )
100+ . expect ( "Tip not found" ) ;
101+ Tip ( header. pallas_point ( ) , header. block_height ( ) )
102+ } else {
103+ Tip ( Point :: Origin , 0 )
104+ } ;
98105
99106 let chain_selector = make_chain_selector ( tip. clone ( ) , & chain_store, & peer_sessions) ?;
100107 let chain_ref = Arc :: new ( Mutex :: new ( chain_store) ) ;
0 commit comments