1919
2020use bitcoin::blockdata::block::BlockHeader;
2121use bitcoin::blockdata::transaction::Transaction;
22- use bitcoin::blockdata::constants::{genesis_block, ChainHash} ;
22+ use bitcoin::blockdata::constants::ChainHash;
2323use bitcoin::network::constants::Network;
2424
2525use bitcoin::hashes::Hash;
@@ -1018,7 +1018,7 @@ where
10181018 L::Target: Logger,
10191019{
10201020 default_configuration: UserConfig,
1021- genesis_hash: BlockHash ,
1021+ chain_hash: ChainHash ,
10221022 fee_estimator: LowerBoundedFeeEstimator<F>,
10231023 chain_monitor: M,
10241024 tx_broadcaster: T,
@@ -2012,7 +2012,7 @@ macro_rules! emit_channel_ready_event {
20122012macro_rules! handle_monitor_update_completion {
20132013 ($self: ident, $peer_state_lock: expr, $peer_state: expr, $per_peer_state_lock: expr, $chan: expr) => { {
20142014 let mut updates = $chan.monitor_updating_restored(&$self.logger,
2015- &$self.node_signer, $self.genesis_hash , &$self.default_configuration,
2015+ &$self.node_signer, $self.chain_hash , &$self.default_configuration,
20162016 $self.best_block.read().unwrap().height());
20172017 let counterparty_node_id = $chan.context.get_counterparty_node_id();
20182018 let channel_update = if updates.channel_ready.is_some() && $chan.context.is_usable() {
@@ -2258,7 +2258,7 @@ where
22582258 let expanded_inbound_key = inbound_payment::ExpandedKey::new(&inbound_pmt_key_material);
22592259 ChannelManager {
22602260 default_configuration: config.clone(),
2261- genesis_hash: genesis_block (params.network).header.block_hash( ),
2261+ chain_hash: ChainHash::using_genesis_block (params.network),
22622262 fee_estimator: LowerBoundedFeeEstimator::new(fee_est),
22632263 chain_monitor,
22642264 tx_broadcaster,
@@ -2317,7 +2317,7 @@ where
23172317 if cfg!(fuzzing) { // fuzzing chacha20 doesn't use the key at all so we always get the same alias
23182318 outbound_scid_alias += 1;
23192319 } else {
2320- outbound_scid_alias = fake_scid::Namespace::OutboundAlias.get_fake_scid(height, &self.genesis_hash , &self.fake_scid_rand_bytes, &self.entropy_source);
2320+ outbound_scid_alias = fake_scid::Namespace::OutboundAlias.get_fake_scid(height, &self.chain_hash , &self.fake_scid_rand_bytes, &self.entropy_source);
23212321 }
23222322 if outbound_scid_alias != 0 && self.outbound_scid_aliases.lock().unwrap().insert(outbound_scid_alias) {
23232323 break;
@@ -2387,7 +2387,7 @@ where
23872387 },
23882388 }
23892389 };
2390- let res = channel.get_open_channel(self.genesis_hash.clone() );
2390+ let res = channel.get_open_channel(self.chain_hash );
23912391
23922392 let temporary_channel_id = channel.context.channel_id();
23932393 match peer_state.channel_by_id.entry(temporary_channel_id) {
@@ -3101,8 +3101,8 @@ where
31013101 // Note that this is likely a timing oracle for detecting whether an scid is a
31023102 // phantom or an intercept.
31033103 if (self.default_configuration.accept_intercept_htlcs &&
3104- fake_scid::is_valid_intercept(&self.fake_scid_rand_bytes, outgoing_scid, &self.genesis_hash )) ||
3105- fake_scid::is_valid_phantom(&self.fake_scid_rand_bytes, outgoing_scid, &self.genesis_hash )
3104+ fake_scid::is_valid_intercept(&self.fake_scid_rand_bytes, outgoing_scid, &self.chain_hash )) ||
3105+ fake_scid::is_valid_phantom(&self.fake_scid_rand_bytes, outgoing_scid, &self.chain_hash )
31063106 {
31073107 None
31083108 } else {
@@ -3330,7 +3330,7 @@ where
33303330 };
33313331
33323332 let unsigned = msgs::UnsignedChannelUpdate {
3333- chain_hash: self.genesis_hash ,
3333+ chain_hash: self.chain_hash ,
33343334 short_channel_id,
33353335 timestamp: chan.context.get_update_time_counter(),
33363336 flags: (!were_node_one) as u8 | ((!enabled as u8) << 1),
@@ -4248,7 +4248,7 @@ where
42484248 }
42494249 if let PendingHTLCRouting::Forward { onion_packet, .. } = routing {
42504250 let phantom_pubkey_res = self.node_signer.get_node_id(Recipient::PhantomNode);
4251- if phantom_pubkey_res.is_ok() && fake_scid::is_valid_phantom(&self.fake_scid_rand_bytes, short_chan_id, &self.genesis_hash ) {
4251+ if phantom_pubkey_res.is_ok() && fake_scid::is_valid_phantom(&self.fake_scid_rand_bytes, short_chan_id, &self.chain_hash ) {
42524252 let phantom_shared_secret = self.node_signer.ecdh(Recipient::PhantomNode, &onion_packet.public_key.unwrap(), None).unwrap().secret_bytes();
42534253 let next_hop = match onion_utils::decode_next_payment_hop(
42544254 phantom_shared_secret, &onion_packet.hop_data, onion_packet.hmac,
@@ -5872,7 +5872,7 @@ where
58725872 fn internal_open_channel(&self, counterparty_node_id: &PublicKey, msg: &msgs::OpenChannel) -> Result<(), MsgHandleErrInternal> {
58735873 // Note that the ChannelManager is NOT re-persisted on disk after this, so any changes are
58745874 // likely to be lost on restart!
5875- if msg.chain_hash != self.genesis_hash {
5875+ if msg.chain_hash != self.chain_hash {
58765876 return Err(MsgHandleErrInternal::send_err_msg_no_close("Unknown genesis block hash".to_owned(), msg.temporary_channel_id.clone()));
58775877 }
58785878
@@ -6137,7 +6137,7 @@ where
61376137 hash_map::Entry::Occupied(mut chan_phase_entry) => {
61386138 if let ChannelPhase::Funded(chan) = chan_phase_entry.get_mut() {
61396139 let announcement_sigs_opt = try_chan_phase_entry!(self, chan.channel_ready(&msg, &self.node_signer,
6140- self.genesis_hash.clone() , &self.default_configuration, &self.best_block.read().unwrap(), &self.logger), chan_phase_entry);
6140+ self.chain_hash , &self.default_configuration, &self.best_block.read().unwrap(), &self.logger), chan_phase_entry);
61416141 if let Some(announcement_sigs) = announcement_sigs_opt {
61426142 log_trace!(self.logger, "Sending announcement_signatures for channel {}", chan.context.channel_id());
61436143 peer_state.pending_msg_events.push(events::MessageSendEvent::SendAnnouncementSignatures {
@@ -6514,7 +6514,7 @@ where
65146514 },
65156515 hash_map::Entry::Vacant(entry) => {
65166516 if !is_our_scid && forward_info.incoming_amt_msat.is_some() &&
6517- fake_scid::is_valid_intercept(&self.fake_scid_rand_bytes, scid, &self.genesis_hash )
6517+ fake_scid::is_valid_intercept(&self.fake_scid_rand_bytes, scid, &self.chain_hash )
65186518 {
65196519 let intercept_id = InterceptId(Sha256::hash(&forward_info.incoming_shared_secret).into_inner());
65206520 let mut pending_intercepts = self.pending_intercepted_htlcs.lock().unwrap();
@@ -6707,7 +6707,7 @@ where
67076707
67086708 peer_state.pending_msg_events.push(events::MessageSendEvent::BroadcastChannelAnnouncement {
67096709 msg: try_chan_phase_entry!(self, chan.announcement_signatures(
6710- &self.node_signer, self.genesis_hash.clone() , self.best_block.read().unwrap().height(),
6710+ &self.node_signer, self.chain_hash , self.best_block.read().unwrap().height(),
67116711 msg, &self.default_configuration
67126712 ), chan_phase_entry),
67136713 // Note that announcement_signatures fails if the channel cannot be announced,
@@ -6795,7 +6795,7 @@ where
67956795 // freed HTLCs to fail backwards. If in the future we no longer drop pending
67966796 // add-HTLCs on disconnect, we may be handed HTLCs to fail backwards here.
67976797 let responses = try_chan_phase_entry!(self, chan.channel_reestablish(
6798- msg, &self.logger, &self.node_signer, self.genesis_hash ,
6798+ msg, &self.logger, &self.node_signer, self.chain_hash ,
67996799 &self.default_configuration, &*self.best_block.read().unwrap()), chan_phase_entry);
68006800 let mut channel_update = None;
68016801 if let Some(msg) = responses.shutdown_msg {
@@ -7175,7 +7175,7 @@ where
71757175 let best_block_height = self.best_block.read().unwrap().height();
71767176 let short_to_chan_info = self.short_to_chan_info.read().unwrap();
71777177 loop {
7178- let scid_candidate = fake_scid::Namespace::Phantom.get_fake_scid(best_block_height, &self.genesis_hash , &self.fake_scid_rand_bytes, &self.entropy_source);
7178+ let scid_candidate = fake_scid::Namespace::Phantom.get_fake_scid(best_block_height, &self.chain_hash , &self.fake_scid_rand_bytes, &self.entropy_source);
71797179 // Ensure the generated scid doesn't conflict with a real channel.
71807180 match short_to_chan_info.get(&scid_candidate) {
71817181 Some(_) => continue,
@@ -7205,7 +7205,7 @@ where
72057205 let best_block_height = self.best_block.read().unwrap().height();
72067206 let short_to_chan_info = self.short_to_chan_info.read().unwrap();
72077207 loop {
7208- let scid_candidate = fake_scid::Namespace::Intercept.get_fake_scid(best_block_height, &self.genesis_hash , &self.fake_scid_rand_bytes, &self.entropy_source);
7208+ let scid_candidate = fake_scid::Namespace::Intercept.get_fake_scid(best_block_height, &self.chain_hash , &self.fake_scid_rand_bytes, &self.entropy_source);
72097209 // Ensure the generated scid doesn't conflict with a real channel.
72107210 if short_to_chan_info.contains_key(&scid_candidate) { continue }
72117211 return scid_candidate
@@ -7468,7 +7468,7 @@ where
74687468 *best_block = BestBlock::new(header.prev_blockhash, new_height)
74697469 }
74707470
7471- self.do_chain_event(Some(new_height), |channel| channel.best_block_updated(new_height, header.time, self.genesis_hash.clone() , &self.node_signer, &self.default_configuration, &self.logger));
7471+ self.do_chain_event(Some(new_height), |channel| channel.best_block_updated(new_height, header.time, self.chain_hash , &self.node_signer, &self.default_configuration, &self.logger));
74727472 }
74737473}
74747474
@@ -7494,13 +7494,13 @@ where
74947494 let _persistence_guard =
74957495 PersistenceNotifierGuard::optionally_notify_skipping_background_events(
74967496 self, || -> NotifyOption { NotifyOption::DoPersist });
7497- self.do_chain_event(Some(height), |channel| channel.transactions_confirmed(&block_hash, height, txdata, self.genesis_hash.clone() , &self.node_signer, &self.default_configuration, &self.logger)
7497+ self.do_chain_event(Some(height), |channel| channel.transactions_confirmed(&block_hash, height, txdata, self.chain_hash , &self.node_signer, &self.default_configuration, &self.logger)
74987498 .map(|(a, b)| (a, Vec::new(), b)));
74997499
75007500 let last_best_block_height = self.best_block.read().unwrap().height();
75017501 if height < last_best_block_height {
75027502 let timestamp = self.highest_seen_timestamp.load(Ordering::Acquire);
7503- self.do_chain_event(Some(last_best_block_height), |channel| channel.best_block_updated(last_best_block_height, timestamp as u32, self.genesis_hash.clone() , &self.node_signer, &self.default_configuration, &self.logger));
7503+ self.do_chain_event(Some(last_best_block_height), |channel| channel.best_block_updated(last_best_block_height, timestamp as u32, self.chain_hash , &self.node_signer, &self.default_configuration, &self.logger));
75047504 }
75057505 }
75067506
@@ -7517,7 +7517,7 @@ where
75177517 self, || -> NotifyOption { NotifyOption::DoPersist });
75187518 *self.best_block.write().unwrap() = BestBlock::new(block_hash, height);
75197519
7520- self.do_chain_event(Some(height), |channel| channel.best_block_updated(height, header.time, self.genesis_hash.clone() , &self.node_signer, &self.default_configuration, &self.logger));
7520+ self.do_chain_event(Some(height), |channel| channel.best_block_updated(height, header.time, self.chain_hash , &self.node_signer, &self.default_configuration, &self.logger));
75217521
75227522 macro_rules! max_time {
75237523 ($timestamp: expr) => {
@@ -7637,7 +7637,7 @@ where
76377637 msg: announcement_sigs,
76387638 });
76397639 if let Some(height) = height_opt {
7640- if let Some(announcement) = channel.get_signed_channel_announcement(&self.node_signer, self.genesis_hash , height, &self.default_configuration) {
7640+ if let Some(announcement) = channel.get_signed_channel_announcement(&self.node_signer, self.chain_hash , height, &self.default_configuration) {
76417641 pending_msg_events.push(events::MessageSendEvent::BroadcastChannelAnnouncement {
76427642 msg: announcement,
76437643 // Note that announcement_signatures fails if the channel cannot be announced,
@@ -8247,7 +8247,7 @@ where
82478247 let mut peer_state_lock = peer_state_mutex_opt.unwrap().lock().unwrap();
82488248 let peer_state = &mut *peer_state_lock;
82498249 if let Some(ChannelPhase::UnfundedOutboundV1(chan)) = peer_state.channel_by_id.get_mut(&msg.channel_id) {
8250- if let Ok(msg) = chan.maybe_handle_error_without_close(self.genesis_hash , &self.fee_estimator) {
8250+ if let Ok(msg) = chan.maybe_handle_error_without_close(self.chain_hash , &self.fee_estimator) {
82518251 peer_state.pending_msg_events.push(events::MessageSendEvent::SendOpenChannel {
82528252 node_id: *counterparty_node_id,
82538253 msg,
@@ -8270,8 +8270,8 @@ where
82708270 provided_init_features(&self.default_configuration)
82718271 }
82728272
8273- fn get_genesis_hashes (&self) -> Option<Vec<ChainHash>> {
8274- Some(vec![ChainHash::from(& self.genesis_hash[..]) ])
8273+ fn get_chain_hashes (&self) -> Option<Vec<ChainHash>> {
8274+ Some(vec![self.chain_hash ])
82758275 }
82768276
82778277 fn handle_tx_add_input(&self, counterparty_node_id: &PublicKey, msg: &msgs::TxAddInput) {
@@ -8816,7 +8816,7 @@ where
88168816
88178817 write_ver_prefix!(writer, SERIALIZATION_VERSION, MIN_SERIALIZATION_VERSION);
88188818
8819- self.genesis_hash .write(writer)?;
8819+ self.chain_hash .write(writer)?;
88208820 {
88218821 let best_block = self.best_block.read().unwrap();
88228822 best_block.height().write(writer)?;
@@ -9227,7 +9227,7 @@ where
92279227 fn read<Reader: io::Read>(reader: &mut Reader, mut args: ChannelManagerReadArgs<'a, M, T, ES, NS, SP, F, R, L>) -> Result<Self, DecodeError> {
92289228 let _ver = read_ver_prefix!(reader, SERIALIZATION_VERSION);
92299229
9230- let genesis_hash: BlockHash = Readable::read(reader)?;
9230+ let chain_hash: ChainHash = Readable::read(reader)?;
92319231 let best_block_height: u32 = Readable::read(reader)?;
92329232 let best_block_hash: BlockHash = Readable::read(reader)?;
92339233
@@ -9875,7 +9875,7 @@ where
98759875 let mut outbound_scid_alias;
98769876 loop {
98779877 outbound_scid_alias = fake_scid::Namespace::OutboundAlias
9878- .get_fake_scid(best_block_height, &genesis_hash , fake_scid_rand_bytes.as_ref().unwrap(), &args.entropy_source);
9878+ .get_fake_scid(best_block_height, &chain_hash , fake_scid_rand_bytes.as_ref().unwrap(), &args.entropy_source);
98799879 if outbound_scid_aliases.insert(outbound_scid_alias) { break; }
98809880 }
98819881 chan.context.set_outbound_scid_alias(outbound_scid_alias);
@@ -9989,7 +9989,7 @@ where
99899989 }
99909990
99919991 let channel_manager = ChannelManager {
9992- genesis_hash ,
9992+ chain_hash ,
99939993 fee_estimator: bounded_fee_estimator,
99949994 chain_monitor: args.chain_monitor,
99959995 tx_broadcaster: args.tx_broadcaster,
0 commit comments