@@ -126,6 +126,29 @@ def run_test(self):
126126 }
127127 assert_equal (expected , wallet .listdescriptors ())
128128
129+ self .log .info ('Test descriptor with missing private keys' )
130+ node .createwallet (wallet_name = 'w5' , blank = True , descriptors = True )
131+ wallet = node .get_wallet_rpc ('w5' )
132+ tr_desc = descsum_create ('tr(' + node .get_deterministic_priv_key ().key +
133+ ',{pk(03cdabb7f2dce7bfbd8a0b9570c6fd1e712e5d64045e9d6b517b3d5072251dc204)' +
134+ ',pk([d34db33f/44h/0h/0h]tpubD6NzVbkrYhZ4WaWSyoBvQwbpLkojyoTZPRsgXELWz3Popb3qkjcJyJUGLnL4qHHoQvao8ESaAstxYSnhyswJ76uZPStJRJCTKvosUCJZL5B/0)})' )
135+ miniscript_desc = descsum_create ('wsh(and_v(v:ripemd160(095ff41131e5946f3c85f79e44adbcf8e27e080e),multi(1,' + node .get_deterministic_priv_key ().key +
136+ ',tpubD6NzVbkrYhZ4WaWSyoBvQwbpLkojyoTZPRsgXELWz3Popb3qkjcJyJUGLnL4qHHoQvao8ESaAstxYSnhyswJ76uZPStJRJCTKvosUCJZL5B/0)))' )
137+ wallet .importdescriptors ([
138+ {
139+ 'desc' : tr_desc ,
140+ 'timestamp' : TIME_GENESIS_BLOCK ,
141+ },
142+ {
143+ 'desc' : miniscript_desc ,
144+ 'timestamp' : TIME_GENESIS_BLOCK ,
145+ }
146+ ])
147+ result = wallet .listdescriptors (True )
148+ expected_descs = [tr_desc , miniscript_desc ]
149+ actual_descs = [d ['desc' ] for d in result ['descriptors' ]]
150+ assert_equal (actual_descs , expected_descs )
151+
129152
130153if __name__ == '__main__' :
131154 ListDescriptorsTest (__file__ ).main ()
0 commit comments