@ -459,13 +459,14 @@ class SegWitTest(BitcoinTestFramework):
self . mine_and_test_listunspent ( unsolvable_after_importaddress , 1 )
self . mine_and_test_listunspent ( unsolvable_after_importaddress , 1 )
self . mine_and_test_listunspent ( unseen_anytime , 0 )
self . mine_and_test_listunspent ( unseen_anytime , 0 )
# addwitnessaddress should refuse to return a witness address if an uncompressed key is used or the address is
# addwitnessaddress should refuse to return a witness address if an uncompressed key is used
# not in the wallet
# note that no witness address should be returned by unsolvable addresses
# note that no witness address should be returned by unsolvable addresses
# the multisig_without_privkey_address will fail because its keys were not added with importpubkey
for i in uncompressed_spendable_address + uncompressed_solvable_address + unknown_address + unsolvable_address :
for i in uncompressed_spendable_address + uncompressed_solvable_address + unknown_address + unsolvable_address + [ multisig_without_privkey_address ] :
assert_raises_jsonrpc ( - 4 , " Public key or redeemscript not known to wallet, or the key is uncompressed " , self . nodes [ 0 ] . addwitnessaddress , i )
assert_raises_jsonrpc ( - 4 , " Public key or redeemscript not known to wallet, or the key is uncompressed " , self . nodes [ 0 ] . addwitnessaddress , i )
# addwitnessaddress should return a witness addresses even if keys are not in the wallet
self . nodes [ 0 ] . addwitnessaddress ( multisig_without_privkey_address )
for i in compressed_spendable_address + compressed_solvable_address :
for i in compressed_spendable_address + compressed_solvable_address :
witaddress = self . nodes [ 0 ] . addwitnessaddress ( i )
witaddress = self . nodes [ 0 ] . addwitnessaddress ( i )
# addwitnessaddress should return the same address if it is a known P2SH-witness address
# addwitnessaddress should return the same address if it is a known P2SH-witness address
@ -542,7 +543,7 @@ class SegWitTest(BitcoinTestFramework):
# addwitnessaddress should refuse to return a witness address if an uncompressed key is used
# addwitnessaddress should refuse to return a witness address if an uncompressed key is used
# note that a multisig address returned by addmultisigaddress is not solvable until it is added with importaddress
# note that a multisig address returned by addmultisigaddress is not solvable until it is added with importaddress
# premature_witaddress are not accepted until the script is added with addwitnessaddress first
# premature_witaddress are not accepted until the script is added with addwitnessaddress first
for i in uncompressed_spendable_address + uncompressed_solvable_address + premature_witaddress + [ compressed_solvable_address [ 1 ] ] :
for i in uncompressed_spendable_address + uncompressed_solvable_address + premature_witaddress :
# This will raise an exception
# This will raise an exception
assert_raises_jsonrpc ( - 4 , " Public key or redeemscript not known to wallet, or the key is uncompressed " , self . nodes [ 0 ] . addwitnessaddress , i )
assert_raises_jsonrpc ( - 4 , " Public key or redeemscript not known to wallet, or the key is uncompressed " , self . nodes [ 0 ] . addwitnessaddress , i )