aboutsummaryrefslogtreecommitdiff
path: root/test/functional/wallet_listdescriptors.py
diff options
context:
space:
mode:
authorS3RK <1466284+S3RK@users.noreply.github.com>2021-06-24 08:35:23 +0200
committerS3RK <1466284+S3RK@users.noreply.github.com>2021-07-10 15:20:52 +0200
commitbb822a7af86897a9b6a5d616f193c258e8e76729 (patch)
treeab05012696e41e9dc0e358e81622038379c62cf0 /test/functional/wallet_listdescriptors.py
parent088b348dbe82689ce1782653c8fdcebb3b636eb5 (diff)
downloadbitcoin-bb822a7af86897a9b6a5d616f193c258e8e76729.tar.xz
wallet, rpc: add listdescriptors private option
Diffstat (limited to 'test/functional/wallet_listdescriptors.py')
-rwxr-xr-xtest/functional/wallet_listdescriptors.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/functional/wallet_listdescriptors.py b/test/functional/wallet_listdescriptors.py
index bf53c99855..6e7be929cc 100755
--- a/test/functional/wallet_listdescriptors.py
+++ b/test/functional/wallet_listdescriptors.py
@@ -71,11 +71,39 @@ class ListDescriptorsTest(BitcoinTestFramework):
],
}
assert_equal(expected, wallet.listdescriptors())
+ assert_equal(expected, wallet.listdescriptors(False))
+
+ self.log.info('Test list private descriptors')
+ expected_private = {
+ 'wallet_name': 'w2',
+ 'descriptors': [
+ {'desc': descsum_create('wpkh(' + xprv + hardened_path + '/0/*)'),
+ 'timestamp': 1296688602,
+ 'active': False,
+ 'range': [0, 0],
+ 'next': 0},
+ ],
+ }
+ assert_equal(expected_private, wallet.listdescriptors(True))
self.log.info("Test listdescriptors with encrypted wallet")
wallet.encryptwallet("pass")
assert_equal(expected, wallet.listdescriptors())
+ self.log.info('Test list private descriptors with encrypted wallet')
+ assert_raises_rpc_error(-13, 'Please enter the wallet passphrase with walletpassphrase first.', wallet.listdescriptors, True)
+ wallet.walletpassphrase(passphrase="pass", timeout=1000000)
+ assert_equal(expected_private, wallet.listdescriptors(True))
+
+ self.log.info('Test list private descriptors with watch-only wallet')
+ node.createwallet(wallet_name='watch-only', descriptors=True, disable_private_keys=True)
+ watch_only_wallet = node.get_wallet_rpc('watch-only')
+ watch_only_wallet.importdescriptors([{
+ 'desc': descsum_create('wpkh(' + xpub_acc + ')'),
+ 'timestamp': 1296688602,
+ }])
+ assert_raises_rpc_error(-4, 'Can\'t get descriptor string', watch_only_wallet.listdescriptors, True)
+
self.log.info('Test non-active non-range combo descriptor')
node.createwallet(wallet_name='w4', blank=True, descriptors=True)
wallet = node.get_wallet_rpc('w4')