@@ -214,11 +214,11 @@ fn main() {
214214 test_get_descriptor_info ( & cl) ;
215215 test_derive_addresses ( & cl) ;
216216 test_get_mempool_info ( & cl) ;
217+ test_add_multisig_address ( & cl) ;
217218 //TODO import_multi(
218219 //TODO verify_message(
219220 //TODO encrypt_wallet(&self, passphrase: &str) -> Result<()> {
220221 //TODO get_by_id<T: queryable::Queryable<Self>>(
221- //TODO add_multisig_address(
222222 test_add_node ( & cl) ;
223223 test_get_added_node_info ( & cl) ;
224224 test_get_node_addresses ( & cl) ;
@@ -1191,8 +1191,12 @@ fn test_add_node(cl: &Client) {
11911191
11921192fn test_get_added_node_info ( cl : & Client ) {
11931193 cl. add_node ( "127.0.0.1:1234" ) . unwrap ( ) ;
1194- let added_info = cl. get_added_node_info ( None ) . unwrap ( ) ;
1195- assert_eq ! ( added_info. len( ) , 1 ) ;
1194+ cl. add_node ( "127.0.0.1:4321" ) . unwrap ( ) ;
1195+
1196+ assert ! ( cl. get_added_node_info( Some ( "127.0.0.1:1111" ) ) . is_err( ) ) ;
1197+ assert_eq ! ( cl. get_added_node_info( None ) . unwrap( ) . len( ) , 2 ) ;
1198+ assert_eq ! ( cl. get_added_node_info( Some ( "127.0.0.1:1234" ) ) . unwrap( ) . len( ) , 1 ) ;
1199+ assert_eq ! ( cl. get_added_node_info( Some ( "127.0.0.1:4321" ) ) . unwrap( ) . len( ) , 1 ) ;
11961200}
11971201
11981202fn test_get_node_addresses ( cl : & Client ) {
@@ -1345,6 +1349,24 @@ fn test_get_descriptor_info(cl: &Client) {
13451349 assert ! ( cl. get_descriptor_info( "abcdef" ) . is_err( ) ) ;
13461350}
13471351
1352+ fn test_add_multisig_address ( cl : & Client ) {
1353+ let addr1 = cl. get_new_address ( None , Some ( json:: AddressType :: Bech32 ) ) . unwrap ( ) . assume_checked ( ) ;
1354+ let addr2 = cl. get_new_address ( None , Some ( json:: AddressType :: Bech32 ) ) . unwrap ( ) . assume_checked ( ) ;
1355+ let addresses = [
1356+ json:: PubKeyOrAddress :: Address ( & addr1) ,
1357+ json:: PubKeyOrAddress :: Address ( & addr2) ,
1358+ ] ;
1359+
1360+ assert ! ( cl. add_multisig_address( addresses. len( ) , & addresses, None , None ) . is_ok( ) ) ;
1361+ assert ! ( cl. add_multisig_address( addresses. len( ) - 1 , & addresses, None , None ) . is_ok( ) ) ;
1362+ assert ! ( cl. add_multisig_address( addresses. len( ) + 1 , & addresses, None , None ) . is_err( ) ) ;
1363+ assert ! ( cl. add_multisig_address( 0 , & addresses, None , None ) . is_err( ) ) ;
1364+ assert ! ( cl. add_multisig_address( addresses. len( ) , & addresses, Some ( "test_label" ) , None ) . is_ok( ) ) ;
1365+ assert ! ( cl. add_multisig_address( addresses. len( ) , & addresses, None , Some ( json:: AddressType :: Legacy ) ) . is_ok( ) ) ;
1366+ assert ! ( cl. add_multisig_address( addresses. len( ) , & addresses, None , Some ( json:: AddressType :: P2shSegwit ) ) . is_ok( ) ) ;
1367+ assert ! ( cl. add_multisig_address( addresses. len( ) , & addresses, None , Some ( json:: AddressType :: Bech32 ) ) . is_ok( ) ) ;
1368+ }
1369+
13481370fn test_derive_addresses ( cl : & Client ) {
13491371 let descriptor = r"pkh(02e96fe52ef0e22d2f131dd425ce1893073a3c6ad20e8cac36726393dfb4856a4c)#62k9sn4x" ;
13501372 assert_eq ! ( cl. derive_addresses( descriptor, None ) . unwrap( ) , vec![ "mrkwtj5xpYQjHeJe5wsweNjVeTKkvR5fCr" . parse( ) . unwrap( ) ] ) ;
0 commit comments