@@ -16,7 +16,7 @@ use chain::{Confirm, Listen, Watch};
16
16
use chain:: channelmonitor;
17
17
use chain:: channelmonitor:: { ChannelMonitor , CLTV_CLAIM_BUFFER , LATENCY_GRACE_PERIOD_BLOCKS , ANTI_REORG_DELAY } ;
18
18
use chain:: transaction:: OutPoint ;
19
- use chain:: keysinterface:: { KeysInterface , BaseSign } ;
19
+ use chain:: keysinterface:: BaseSign ;
20
20
use ln:: { PaymentPreimage , PaymentSecret , PaymentHash } ;
21
21
use ln:: channel:: { COMMITMENT_TX_BASE_WEIGHT , COMMITMENT_TX_WEIGHT_PER_HTLC } ;
22
22
use ln:: channelmanager:: { ChannelManager , ChannelManagerReadArgs , RAACommitmentOrder , PaymentSendFailure , BREAKDOWN_TIMEOUT , MIN_CLTV_EXPIRY_DELTA } ;
@@ -35,7 +35,6 @@ use util::errors::APIError;
35
35
use util:: ser:: { Writeable , ReadableArgs } ;
36
36
use util:: config:: UserConfig ;
37
37
38
- use bitcoin:: hashes:: sha256d:: Hash as Sha256dHash ;
39
38
use bitcoin:: hash_types:: { Txid , BlockHash } ;
40
39
use bitcoin:: blockdata:: block:: { Block , BlockHeader } ;
41
40
use bitcoin:: blockdata:: script:: Builder ;
@@ -46,7 +45,7 @@ use bitcoin::network::constants::Network;
46
45
use bitcoin:: hashes:: sha256:: Hash as Sha256 ;
47
46
use bitcoin:: hashes:: Hash ;
48
47
49
- use bitcoin:: secp256k1:: { Secp256k1 , Message } ;
48
+ use bitcoin:: secp256k1:: Secp256k1 ;
50
49
use bitcoin:: secp256k1:: key:: { PublicKey , SecretKey } ;
51
50
52
51
use regex;
@@ -4015,83 +4014,6 @@ fn test_holding_cell_htlc_add_timeouts() {
4015
4014
do_test_holding_cell_htlc_add_timeouts ( true ) ;
4016
4015
}
4017
4016
4018
- #[ test]
4019
- fn test_invalid_channel_announcement ( ) {
4020
- //Test BOLT 7 channel_announcement msg requirement for final node, gather data to build customed channel_announcement msgs
4021
- let secp_ctx = Secp256k1 :: new ( ) ;
4022
- let chanmon_cfgs = create_chanmon_cfgs ( 2 ) ;
4023
- let node_cfgs = create_node_cfgs ( 2 , & chanmon_cfgs) ;
4024
- let node_chanmgrs = create_node_chanmgrs ( 2 , & node_cfgs, & [ None , None ] ) ;
4025
- let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
4026
-
4027
- let chan_announcement = create_chan_between_nodes ( & nodes[ 0 ] , & nodes[ 1 ] , InitFeatures :: known ( ) , InitFeatures :: known ( ) ) ;
4028
-
4029
- let a_channel_lock = nodes[ 0 ] . node . channel_state . lock ( ) . unwrap ( ) ;
4030
- let b_channel_lock = nodes[ 1 ] . node . channel_state . lock ( ) . unwrap ( ) ;
4031
- let as_chan = a_channel_lock. by_id . get ( & chan_announcement. 3 ) . unwrap ( ) ;
4032
- let bs_chan = b_channel_lock. by_id . get ( & chan_announcement. 3 ) . unwrap ( ) ;
4033
-
4034
- nodes[ 0 ] . net_graph_msg_handler . handle_htlc_fail_channel_update ( & msgs:: HTLCFailChannelUpdate :: ChannelClosed { short_channel_id : as_chan. get_short_channel_id ( ) . unwrap ( ) , is_permanent : false } ) ;
4035
-
4036
- let as_bitcoin_key = as_chan. get_signer ( ) . inner . holder_channel_pubkeys . funding_pubkey ;
4037
- let bs_bitcoin_key = bs_chan. get_signer ( ) . inner . holder_channel_pubkeys . funding_pubkey ;
4038
-
4039
- let as_network_key = nodes[ 0 ] . node . get_our_node_id ( ) ;
4040
- let bs_network_key = nodes[ 1 ] . node . get_our_node_id ( ) ;
4041
-
4042
- let were_node_one = as_bitcoin_key. serialize ( ) [ ..] < bs_bitcoin_key. serialize ( ) [ ..] ;
4043
-
4044
- let mut chan_announcement;
4045
-
4046
- macro_rules! dummy_unsigned_msg {
4047
- ( ) => {
4048
- msgs:: UnsignedChannelAnnouncement {
4049
- features: ChannelFeatures :: known( ) ,
4050
- chain_hash: genesis_block( Network :: Testnet ) . header. block_hash( ) ,
4051
- short_channel_id: as_chan. get_short_channel_id( ) . unwrap( ) ,
4052
- node_id_1: if were_node_one { as_network_key } else { bs_network_key } ,
4053
- node_id_2: if were_node_one { bs_network_key } else { as_network_key } ,
4054
- bitcoin_key_1: if were_node_one { as_bitcoin_key } else { bs_bitcoin_key } ,
4055
- bitcoin_key_2: if were_node_one { bs_bitcoin_key } else { as_bitcoin_key } ,
4056
- excess_data: Vec :: new( ) ,
4057
- }
4058
- }
4059
- }
4060
-
4061
- macro_rules! sign_msg {
4062
- ( $unsigned_msg: expr) => {
4063
- let msghash = Message :: from_slice( & Sha256dHash :: hash( & $unsigned_msg. encode( ) [ ..] ) [ ..] ) . unwrap( ) ;
4064
- let as_bitcoin_sig = secp_ctx. sign( & msghash, & as_chan. get_signer( ) . inner. funding_key) ;
4065
- let bs_bitcoin_sig = secp_ctx. sign( & msghash, & bs_chan. get_signer( ) . inner. funding_key) ;
4066
- let as_node_sig = secp_ctx. sign( & msghash, & nodes[ 0 ] . keys_manager. get_node_secret( ) ) ;
4067
- let bs_node_sig = secp_ctx. sign( & msghash, & nodes[ 1 ] . keys_manager. get_node_secret( ) ) ;
4068
- chan_announcement = msgs:: ChannelAnnouncement {
4069
- node_signature_1 : if were_node_one { as_node_sig } else { bs_node_sig} ,
4070
- node_signature_2 : if were_node_one { bs_node_sig } else { as_node_sig} ,
4071
- bitcoin_signature_1: if were_node_one { as_bitcoin_sig } else { bs_bitcoin_sig } ,
4072
- bitcoin_signature_2 : if were_node_one { bs_bitcoin_sig } else { as_bitcoin_sig } ,
4073
- contents: $unsigned_msg
4074
- }
4075
- }
4076
- }
4077
-
4078
- let unsigned_msg = dummy_unsigned_msg ! ( ) ;
4079
- sign_msg ! ( unsigned_msg) ;
4080
- assert_eq ! ( nodes[ 0 ] . net_graph_msg_handler. handle_channel_announcement( & chan_announcement) . unwrap( ) , true ) ;
4081
- let _ = nodes[ 0 ] . net_graph_msg_handler . handle_htlc_fail_channel_update ( & msgs:: HTLCFailChannelUpdate :: ChannelClosed { short_channel_id : as_chan. get_short_channel_id ( ) . unwrap ( ) , is_permanent : false } ) ;
4082
-
4083
- // Configured with Network::Testnet
4084
- let mut unsigned_msg = dummy_unsigned_msg ! ( ) ;
4085
- unsigned_msg. chain_hash = genesis_block ( Network :: Bitcoin ) . header . block_hash ( ) ;
4086
- sign_msg ! ( unsigned_msg) ;
4087
- assert ! ( nodes[ 0 ] . net_graph_msg_handler. handle_channel_announcement( & chan_announcement) . is_err( ) ) ;
4088
-
4089
- let mut unsigned_msg = dummy_unsigned_msg ! ( ) ;
4090
- unsigned_msg. chain_hash = BlockHash :: hash ( & [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] ) ;
4091
- sign_msg ! ( unsigned_msg) ;
4092
- assert ! ( nodes[ 0 ] . net_graph_msg_handler. handle_channel_announcement( & chan_announcement) . is_err( ) ) ;
4093
- }
4094
-
4095
4017
#[ test]
4096
4018
fn test_no_txn_manager_serialize_deserialize ( ) {
4097
4019
let chanmon_cfgs = create_chanmon_cfgs ( 2 ) ;
0 commit comments