3
3
# Distributed under the MIT software license, see the accompanying
4
4
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
5
"""Test MiniWallet."""
6
+ import random
7
+ import string
8
+
6
9
from test_framework .blocktools import COINBASE_MATURITY
7
10
from test_framework .test_framework import BitcoinTestFramework
8
11
from test_framework .util import (
@@ -31,6 +34,20 @@ def test_tx_padding(self):
31
34
assert_greater_than_or_equal (tx .get_weight (), target_weight )
32
35
assert_greater_than_or_equal (target_weight + 3 , tx .get_weight ())
33
36
37
+ def test_wallet_tagging (self ):
38
+ """Verify that tagged wallet instances are able to send funds."""
39
+ self .log .info (f"Test tagged wallet instances..." )
40
+ node = self .nodes [0 ]
41
+ untagged_wallet = self .wallets [0 ][1 ]
42
+ for i in range (10 ):
43
+ tag = '' .join (random .choice (string .ascii_letters ) for _ in range (20 ))
44
+ self .log .debug (f"-> ({ i } ) tag name: { tag } " )
45
+ tagged_wallet = MiniWallet (node , tag_name = tag )
46
+ untagged_wallet .send_to (from_node = node , scriptPubKey = tagged_wallet .get_scriptPubKey (), amount = 100000 )
47
+ tagged_wallet .rescan_utxos ()
48
+ tagged_wallet .send_self_transfer (from_node = node )
49
+ self .generate (node , 1 ) # clear mempool
50
+
34
51
def run_test (self ):
35
52
node = self .nodes [0 ]
36
53
self .wallets = [
@@ -43,6 +60,7 @@ def run_test(self):
43
60
self .generate (wallet , COINBASE_MATURITY )
44
61
45
62
self .test_tx_padding ()
63
+ self .test_wallet_tagging ()
46
64
47
65
48
66
if __name__ == '__main__' :
0 commit comments