mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 14:59:39 -04:00
test: getdescriptorinfo
/importdescriptors
with whitespace in pubkeys
This commit is contained in:
parent
c7afca3d62
commit
a8b548d75d
2 changed files with 21 additions and 0 deletions
|
@ -11,6 +11,7 @@ from test_framework.util import (
|
|||
assert_equal,
|
||||
assert_raises_rpc_error,
|
||||
)
|
||||
from test_framework.wallet_util import generate_keypair
|
||||
|
||||
|
||||
class DescriptorTest(BitcoinTestFramework):
|
||||
|
@ -36,6 +37,12 @@ class DescriptorTest(BitcoinTestFramework):
|
|||
assert_raises_rpc_error(-1, 'getdescriptorinfo', self.nodes[0].getdescriptorinfo)
|
||||
assert_raises_rpc_error(-3, 'JSON value of type number is not of expected type string', self.nodes[0].getdescriptorinfo, 1)
|
||||
assert_raises_rpc_error(-5, "'' is not a valid descriptor function", self.nodes[0].getdescriptorinfo, "")
|
||||
assert_raises_rpc_error(-5, "pk(): Key ' 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798' is invalid due to whitespace", self.nodes[0].getdescriptorinfo, "pk( 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798)")
|
||||
assert_raises_rpc_error(-5, "pk(): Key '0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 ' is invalid due to whitespace", self.nodes[0].getdescriptorinfo, "pk(0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 )")
|
||||
assert_raises_rpc_error(-5, "Multi: Key ' 03a0434d9e47f3c86235477c7b1ae6ae5d3442d49b1943c2b752a68e2a47e247c7' is invalid due to whitespace", self.nodes[0].getdescriptorinfo, "wsh(multi(2, 03a0434d9e47f3c86235477c7b1ae6ae5d3442d49b1943c2b752a68e2a47e247c7,03774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb,03d01115d548e7561b15c38f004d734633687cf4419620095bc5b0f47070afe85a))")
|
||||
assert_raises_rpc_error(-5, "Multi: Key ' 03774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb' is invalid due to whitespace", self.nodes[0].getdescriptorinfo, "wsh(multi(2,03a0434d9e47f3c86235477c7b1ae6ae5d3442d49b1943c2b752a68e2a47e247c7, 03774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb,03d01115d548e7561b15c38f004d734633687cf4419620095bc5b0f47070afe85a))")
|
||||
priv_key = generate_keypair(wif=True)[0]
|
||||
assert_raises_rpc_error(-5, f"pk(): Key ' {priv_key}' is invalid due to whitespace", self.nodes[0].getdescriptorinfo, f"pk( {priv_key})")
|
||||
|
||||
# P2PK output with the specified public key.
|
||||
self.test_desc('pk(0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798)', isrange=False, issolvable=True, hasprivatekeys=False)
|
||||
|
|
|
@ -129,6 +129,20 @@ class ImportDescriptorsTest(BitcoinTestFramework):
|
|||
assert_equal(info["ismine"], True)
|
||||
assert_equal(info["ischange"], True)
|
||||
|
||||
self.log.info("Should not import a descriptor with an invalid public key due to whitespace")
|
||||
self.test_importdesc({"desc": descsum_create("pkh( " + key.pubkey + ")"),
|
||||
"timestamp": "now",
|
||||
"internal": True},
|
||||
error_code=-5,
|
||||
error_message=f"pkh(): Key ' {key.pubkey}' is invalid due to whitespace",
|
||||
success=False)
|
||||
self.test_importdesc({"desc": descsum_create("pkh(" + key.pubkey + " )"),
|
||||
"timestamp": "now",
|
||||
"internal": True},
|
||||
error_code=-5,
|
||||
error_message=f"pkh(): Key '{key.pubkey} ' is invalid due to whitespace",
|
||||
success=False)
|
||||
|
||||
# # Test importing of a P2SH-P2WPKH descriptor
|
||||
key = get_generate_key()
|
||||
self.log.info("Should not import a p2sh-p2wpkh descriptor without checksum")
|
||||
|
|
Loading…
Add table
Reference in a new issue