test: Replace usage of addmultisigaddress
This commit is contained in:
1 parent
d314207779
commit
fe838dd391
5 files changed
+24
-26
No files matched your search
@@ -314,9 +314,19 @@ class PSBTTest(BitcoinTestFramework):
|
|||||||
wmulti = self.nodes[2].get_wallet_rpc('wmulti')
|
wmulti = self.nodes[2].get_wallet_rpc('wmulti')
|
||||||
|
|
||||||
# Create all the addresses
|
# Create all the addresses
|
||||||
p2sh = wmulti.addmultisigaddress(2, [pubkey0, pubkey1, pubkey2], label="", address_type="legacy")["address"]
|
p2sh_ms = wmulti.createmultisig(2, [pubkey0, pubkey1, pubkey2], address_type="legacy")
|
||||||
p2wsh = wmulti.addmultisigaddress(2, [pubkey0, pubkey1, pubkey2], label="", address_type="bech32")["address"]
|
p2sh = p2sh_ms["address"]
|
||||||
p2sh_p2wsh = wmulti.addmultisigaddress(2, [pubkey0, pubkey1, pubkey2], label="", address_type="p2sh-segwit")["address"]
|
p2wsh_ms = wmulti.createmultisig(2, [pubkey0, pubkey1, pubkey2], address_type="bech32")
|
||||||
|
p2wsh = p2wsh_ms["address"]
|
||||||
|
p2sh_p2wsh_ms = wmulti.createmultisig(2, [pubkey0, pubkey1, pubkey2], address_type="p2sh-segwit")
|
||||||
|
p2sh_p2wsh = p2sh_p2wsh_ms["address"]
|
||||||
|
import_res = wmulti.importdescriptors(
|
||||||
|
[
|
||||||
|
{"desc": p2sh_ms["descriptor"], "timestamp": "now"},
|
||||||
|
{"desc": p2wsh_ms["descriptor"], "timestamp": "now"},
|
||||||
|
{"desc": p2sh_p2wsh_ms["descriptor"], "timestamp": "now"},
|
||||||
|
])
|
||||||
|
assert_equal(all([r["success"] for r in import_res]), True)
|
||||||
p2wpkh = self.nodes[1].getnewaddress("", "bech32")
|
p2wpkh = self.nodes[1].getnewaddress("", "bech32")
|
||||||
p2pkh = self.nodes[1].getnewaddress("", "legacy")
|
p2pkh = self.nodes[1].getnewaddress("", "legacy")
|
||||||
p2sh_p2wpkh = self.nodes[1].getnewaddress("", "p2sh-segwit")
|
p2sh_p2wpkh = self.nodes[1].getnewaddress("", "p2sh-segwit")
|
||||||
|
|||||||
@@ -931,21 +931,6 @@ class RPCOverloadWrapper():
|
|||||||
def __getattr__(self, name):
|
def __getattr__(self, name):
|
||||||
return getattr(self.rpc, name)
|
return getattr(self.rpc, name)
|
||||||
|
|
||||||
def addmultisigaddress(self, nrequired, keys, *, label=None, address_type=None):
|
|
||||||
wallet_info = self.getwalletinfo()
|
|
||||||
if 'descriptors' not in wallet_info or ('descriptors' in wallet_info and not wallet_info['descriptors']):
|
|
||||||
return self.__getattr__('addmultisigaddress')(nrequired, keys, label, address_type)
|
|
||||||
cms = self.createmultisig(nrequired, keys, address_type)
|
|
||||||
req = [{
|
|
||||||
'desc': cms['descriptor'],
|
|
||||||
'timestamp': 0,
|
|
||||||
'label': label if label else '',
|
|
||||||
}]
|
|
||||||
import_res = self.importdescriptors(req)
|
|
||||||
if not import_res[0]['success']:
|
|
||||||
raise JSONRPCException(import_res[0]['error'])
|
|
||||||
return cms
|
|
||||||
|
|
||||||
def importpubkey(self, pubkey, *, label=None, rescan=None):
|
def importpubkey(self, pubkey, *, label=None, rescan=None):
|
||||||
wallet_info = self.getwalletinfo()
|
wallet_info = self.getwalletinfo()
|
||||||
if 'descriptors' not in wallet_info or ('descriptors' in wallet_info and not wallet_info['descriptors']):
|
if 'descriptors' not in wallet_info or ('descriptors' in wallet_info and not wallet_info['descriptors']):
|
||||||
|
|||||||
@@ -260,9 +260,11 @@ class AddressTypeTest(BitcoinTestFramework):
|
|||||||
else:
|
else:
|
||||||
address = self.nodes[to_node].getnewaddress(address_type=address_type)
|
address = self.nodes[to_node].getnewaddress(address_type=address_type)
|
||||||
else:
|
else:
|
||||||
addr1 = self.nodes[to_node].getnewaddress()
|
pubkey1 = self.nodes[to_node].getaddressinfo(self.nodes[to_node].getnewaddress())["pubkey"]
|
||||||
addr2 = self.nodes[to_node].getnewaddress()
|
pubkey2 = self.nodes[to_node].getaddressinfo(self.nodes[to_node].getnewaddress())["pubkey"]
|
||||||
address = self.nodes[to_node].addmultisigaddress(2, [addr1, addr2])['address']
|
ms = self.nodes[to_node].createmultisig(2, [pubkey1, pubkey2])
|
||||||
|
import_res = self.nodes[to_node].importdescriptors([{"desc": ms["descriptor"], "timestamp": 0}])
|
||||||
|
assert_equal(import_res[0]["success"], True)
|
||||||
|
|
||||||
# Do some sanity checking on the created address
|
# Do some sanity checking on the created address
|
||||||
if address_type is not None:
|
if address_type is not None:
|
||||||
@@ -344,7 +346,7 @@ class AddressTypeTest(BitcoinTestFramework):
|
|||||||
self.test_address(3, self.nodes[3].getrawchangeaddress(), multisig=False, typ='bech32')
|
self.test_address(3, self.nodes[3].getrawchangeaddress(), multisig=False, typ='bech32')
|
||||||
|
|
||||||
self.log.info('test invalid address type arguments')
|
self.log.info('test invalid address type arguments')
|
||||||
assert_raises_rpc_error(-5, "Unknown address type ''", self.nodes[3].addmultisigaddress, 2, [compressed_1, compressed_2], address_type="")
|
assert_raises_rpc_error(-5, "Unknown address type ''", self.nodes[3].createmultisig, 2, [compressed_1, compressed_2], address_type="")
|
||||||
assert_raises_rpc_error(-5, "Unknown address type ''", self.nodes[3].getnewaddress, None, '')
|
assert_raises_rpc_error(-5, "Unknown address type ''", self.nodes[3].getnewaddress, None, '')
|
||||||
assert_raises_rpc_error(-5, "Unknown address type ''", self.nodes[3].getrawchangeaddress, '')
|
assert_raises_rpc_error(-5, "Unknown address type ''", self.nodes[3].getrawchangeaddress, '')
|
||||||
assert_raises_rpc_error(-5, "Unknown address type 'bech23'", self.nodes[3].getrawchangeaddress, 'bech23')
|
assert_raises_rpc_error(-5, "Unknown address type 'bech23'", self.nodes[3].getrawchangeaddress, 'bech23')
|
||||||
|
|||||||
@@ -565,16 +565,18 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||||||
self.nodes[2].createwallet(wallet_name='wmulti', disable_private_keys=True)
|
self.nodes[2].createwallet(wallet_name='wmulti', disable_private_keys=True)
|
||||||
wmulti = self.nodes[2].get_wallet_rpc('wmulti')
|
wmulti = self.nodes[2].get_wallet_rpc('wmulti')
|
||||||
w2 = self.nodes[2].get_wallet_rpc(self.default_wallet_name)
|
w2 = self.nodes[2].get_wallet_rpc(self.default_wallet_name)
|
||||||
mSigObj = wmulti.addmultisigaddress(
|
mSigObj = self.nodes[2].createmultisig(
|
||||||
2,
|
2,
|
||||||
[
|
[
|
||||||
addr1Obj['pubkey'],
|
addr1Obj['pubkey'],
|
||||||
addr2Obj['pubkey'],
|
addr2Obj['pubkey'],
|
||||||
]
|
]
|
||||||
)['address']
|
)
|
||||||
|
import_res = wmulti.importdescriptors([{"desc": mSigObj["descriptor"], "timestamp": "now"}])
|
||||||
|
assert_equal(import_res[0]["success"], True)
|
||||||
|
|
||||||
# Send 1.2 BTC to msig addr.
|
# Send 1.2 BTC to msig addr.
|
||||||
self.nodes[0].sendtoaddress(mSigObj, 1.2)
|
self.nodes[0].sendtoaddress(mSigObj["address"], 1.2)
|
||||||
self.generate(self.nodes[0], 1)
|
self.generate(self.nodes[0], 1)
|
||||||
|
|
||||||
oldBalance = self.nodes[1].getbalance()
|
oldBalance = self.nodes[1].getbalance()
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ class WalletLabelsTest(BitcoinTestFramework):
|
|||||||
[node.setlabel, address],
|
[node.setlabel, address],
|
||||||
[node.getaddressesbylabel],
|
[node.getaddressesbylabel],
|
||||||
[node.importpubkey, pubkey],
|
[node.importpubkey, pubkey],
|
||||||
[node.addmultisigaddress, 1, [pubkey]],
|
|
||||||
[node.getreceivedbylabel],
|
[node.getreceivedbylabel],
|
||||||
[node.listsinceblock, node.getblockhash(0), 1, False, True, False],
|
[node.listsinceblock, node.getblockhash(0), 1, False, True, False],
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in new issue
Block a user