@@ -1235,7 +1235,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
12351235			channel_parameters. clone ( ) ,  initial_holder_commitment_tx,  secp_ctx
12361236		) ; 
12371237
1238- 		let  mut  outputs_to_watch = HashMap :: new ( ) ; 
1238+ 		let  mut  outputs_to_watch = new_hash_map ( ) ; 
12391239		outputs_to_watch. insert ( funding_info. 0 . txid ,  vec ! [ ( funding_info. 0 . index as  u32 ,  funding_info. 1 . clone( ) ) ] ) ; 
12401240
12411241		Self :: from_impl ( ChannelMonitorImpl  { 
@@ -1262,17 +1262,17 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
12621262			on_holder_tx_csv :  counterparty_channel_parameters. selected_contest_delay , 
12631263
12641264			commitment_secrets :  CounterpartyCommitmentSecrets :: new ( ) , 
1265- 			counterparty_claimable_outpoints :  HashMap :: new ( ) , 
1266- 			counterparty_commitment_txn_on_chain :  HashMap :: new ( ) , 
1267- 			counterparty_hash_commitment_number :  HashMap :: new ( ) , 
1268- 			counterparty_fulfilled_htlcs :  HashMap :: new ( ) , 
1265+ 			counterparty_claimable_outpoints :  new_hash_map ( ) , 
1266+ 			counterparty_commitment_txn_on_chain :  new_hash_map ( ) , 
1267+ 			counterparty_hash_commitment_number :  new_hash_map ( ) , 
1268+ 			counterparty_fulfilled_htlcs :  new_hash_map ( ) , 
12691269
12701270			prev_holder_signed_commitment_tx :  None , 
12711271			current_holder_commitment_tx :  holder_commitment_tx, 
12721272			current_counterparty_commitment_number :  1  << 48 , 
12731273			current_holder_commitment_number, 
12741274
1275- 			payment_preimages :  HashMap :: new ( ) , 
1275+ 			payment_preimages :  new_hash_map ( ) , 
12761276			pending_monitor_events :  Vec :: new ( ) , 
12771277			pending_events :  Vec :: new ( ) , 
12781278			is_processing_pending_events :  false , 
@@ -2174,7 +2174,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
21742174 	/// HTLCs which were resolved on-chain (i.e. where the final HTLC resolution was done by an 
21752175 	/// event from this `ChannelMonitor`). 
21762176 	pub ( crate )  fn  get_all_current_outbound_htlcs ( & self )  -> HashMap < HTLCSource ,  ( HTLCOutputInCommitment ,  Option < PaymentPreimage > ) >  { 
2177- 		let  mut  res = HashMap :: new ( ) ; 
2177+ 		let  mut  res = new_hash_map ( ) ; 
21782178		// Just examine the available counterparty commitment transactions. See docs on 
21792179		// `fail_unbroadcast_htlcs`, below, for justification. 
21802180		let  us = self . inner . lock ( ) . unwrap ( ) ; 
@@ -2226,7 +2226,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
22262226			return  self . get_all_current_outbound_htlcs ( ) ; 
22272227		} 
22282228
2229- 		let  mut  res = HashMap :: new ( ) ; 
2229+ 		let  mut  res = new_hash_map ( ) ; 
22302230		macro_rules!  walk_htlcs { 
22312231			( $holder_commitment:  expr,  $htlc_iter:  expr)  => { 
22322232				for  ( htlc,  source)  in $htlc_iter { 
@@ -3940,7 +3940,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitorImpl<Signer> {
39403940	/// Filters a block's `txdata` for transactions spending watched outputs or for any child 
39413941 	/// transactions thereof. 
39423942 	fn  filter_block < ' a > ( & self ,  txdata :  & TransactionData < ' a > )  -> Vec < & ' a  Transaction >  { 
3943- 		let  mut  matched_txn = HashSet :: new ( ) ; 
3943+ 		let  mut  matched_txn = new_hash_set ( ) ; 
39443944		txdata. iter ( ) . filter ( |& & ( _,  tx) | { 
39453945			let  mut  matches = self . spends_watched_output ( tx) ; 
39463946			for  input in  tx. input . iter ( )  { 
@@ -4455,7 +4455,7 @@ impl<'a, 'b, ES: EntropySource, SP: SignerProvider> ReadableArgs<(&'a ES, &'b SP
44554455		} 
44564456
44574457		let  counterparty_claimable_outpoints_len:  u64  = Readable :: read ( reader) ?; 
4458- 		let  mut  counterparty_claimable_outpoints = HashMap :: with_capacity ( cmp:: min ( counterparty_claimable_outpoints_len as  usize ,  MAX_ALLOC_SIZE  / 64 ) ) ; 
4458+ 		let  mut  counterparty_claimable_outpoints = hash_map_with_capacity ( cmp:: min ( counterparty_claimable_outpoints_len as  usize ,  MAX_ALLOC_SIZE  / 64 ) ) ; 
44594459		for  _ in  0 ..counterparty_claimable_outpoints_len { 
44604460			let  txid:  Txid  = Readable :: read ( reader) ?; 
44614461			let  htlcs_count:  u64  = Readable :: read ( reader) ?; 
@@ -4469,7 +4469,7 @@ impl<'a, 'b, ES: EntropySource, SP: SignerProvider> ReadableArgs<(&'a ES, &'b SP
44694469		} 
44704470
44714471		let  counterparty_commitment_txn_on_chain_len:  u64  = Readable :: read ( reader) ?; 
4472- 		let  mut  counterparty_commitment_txn_on_chain = HashMap :: with_capacity ( cmp:: min ( counterparty_commitment_txn_on_chain_len as  usize ,  MAX_ALLOC_SIZE  / 32 ) ) ; 
4472+ 		let  mut  counterparty_commitment_txn_on_chain = hash_map_with_capacity ( cmp:: min ( counterparty_commitment_txn_on_chain_len as  usize ,  MAX_ALLOC_SIZE  / 32 ) ) ; 
44734473		for  _ in  0 ..counterparty_commitment_txn_on_chain_len { 
44744474			let  txid:  Txid  = Readable :: read ( reader) ?; 
44754475			let  commitment_number = <U48  as  Readable >:: read ( reader) ?. 0 ; 
@@ -4479,7 +4479,7 @@ impl<'a, 'b, ES: EntropySource, SP: SignerProvider> ReadableArgs<(&'a ES, &'b SP
44794479		} 
44804480
44814481		let  counterparty_hash_commitment_number_len:  u64  = Readable :: read ( reader) ?; 
4482- 		let  mut  counterparty_hash_commitment_number = HashMap :: with_capacity ( cmp:: min ( counterparty_hash_commitment_number_len as  usize ,  MAX_ALLOC_SIZE  / 32 ) ) ; 
4482+ 		let  mut  counterparty_hash_commitment_number = hash_map_with_capacity ( cmp:: min ( counterparty_hash_commitment_number_len as  usize ,  MAX_ALLOC_SIZE  / 32 ) ) ; 
44834483		for  _ in  0 ..counterparty_hash_commitment_number_len { 
44844484			let  payment_hash:  PaymentHash  = Readable :: read ( reader) ?; 
44854485			let  commitment_number = <U48  as  Readable >:: read ( reader) ?. 0 ; 
@@ -4502,7 +4502,7 @@ impl<'a, 'b, ES: EntropySource, SP: SignerProvider> ReadableArgs<(&'a ES, &'b SP
45024502		let  current_holder_commitment_number = <U48  as  Readable >:: read ( reader) ?. 0 ; 
45034503
45044504		let  payment_preimages_len:  u64  = Readable :: read ( reader) ?; 
4505- 		let  mut  payment_preimages = HashMap :: with_capacity ( cmp:: min ( payment_preimages_len as  usize ,  MAX_ALLOC_SIZE  / 32 ) ) ; 
4505+ 		let  mut  payment_preimages = hash_map_with_capacity ( cmp:: min ( payment_preimages_len as  usize ,  MAX_ALLOC_SIZE  / 32 ) ) ; 
45064506		for  _ in  0 ..payment_preimages_len { 
45074507			let  preimage:  PaymentPreimage  = Readable :: read ( reader) ?; 
45084508			let  hash = PaymentHash ( Sha256 :: hash ( & preimage. 0 [ ..] ) . to_byte_array ( ) ) ; 
@@ -4542,7 +4542,7 @@ impl<'a, 'b, ES: EntropySource, SP: SignerProvider> ReadableArgs<(&'a ES, &'b SP
45424542		} 
45434543
45444544		let  outputs_to_watch_len:  u64  = Readable :: read ( reader) ?; 
4545- 		let  mut  outputs_to_watch = HashMap :: with_capacity ( cmp:: min ( outputs_to_watch_len as  usize ,  MAX_ALLOC_SIZE  / ( mem:: size_of :: < Txid > ( )  + mem:: size_of :: < u32 > ( )  + mem:: size_of :: < Vec < ScriptBuf > > ( ) ) ) ) ; 
4545+ 		let  mut  outputs_to_watch = hash_map_with_capacity ( cmp:: min ( outputs_to_watch_len as  usize ,  MAX_ALLOC_SIZE  / ( mem:: size_of :: < Txid > ( )  + mem:: size_of :: < u32 > ( )  + mem:: size_of :: < Vec < ScriptBuf > > ( ) ) ) ) ; 
45464546		for  _ in  0 ..outputs_to_watch_len { 
45474547			let  txid = Readable :: read ( reader) ?; 
45484548			let  outputs_len:  u64  = Readable :: read ( reader) ?; 
@@ -4584,7 +4584,7 @@ impl<'a, 'b, ES: EntropySource, SP: SignerProvider> ReadableArgs<(&'a ES, &'b SP
45844584		let  mut  counterparty_node_id = None ; 
45854585		let  mut  confirmed_commitment_tx_counterparty_output = None ; 
45864586		let  mut  spendable_txids_confirmed = Some ( Vec :: new ( ) ) ; 
4587- 		let  mut  counterparty_fulfilled_htlcs = Some ( HashMap :: new ( ) ) ; 
4587+ 		let  mut  counterparty_fulfilled_htlcs = Some ( new_hash_map ( ) ) ; 
45884588		let  mut  initial_counterparty_commitment_info = None ; 
45894589		let  mut  channel_id = None ; 
45904590		read_tlv_fields ! ( reader,  { 
0 commit comments