Skip to content

Commit 1df251b

Browse files
committed
test: Silent Payment labels
1 parent c445b64 commit 1df251b

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

test/functional/wallet_silentpayments_receiving.py

+26
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,31 @@ def skip_test_if_missing_module(self):
2020
self.skip_if_no_wallet()
2121
self.skip_if_no_sqlite()
2222

23+
def test_labels(self):
24+
self.log.info("Check Silent Payment Labels")
25+
26+
self.nodes[0].createwallet(wallet_name="labels", silent_payment=True)
27+
wallet = self.nodes[0].get_wallet_rpc("labels")
28+
29+
labeled_sp_addr = wallet.getnewaddress(address_type="silent-payments", label="test")
30+
addr_info = wallet.getaddressinfo(labeled_sp_addr)
31+
assert_equal(addr_info["labels"][0], "test")
32+
assert_equal(wallet.listlabels(), ["test"])
33+
assert_raises_rpc_error(-11, "No addresses with label test", wallet.getaddressesbylabel, "test") # SP destination is ignored
34+
35+
self.def_wallet.sendtoaddress(labeled_sp_addr, 10)
36+
self.generate(self.nodes[0], 1)
37+
38+
addresses = wallet.getaddressesbylabel("test")
39+
sp_taproot_spk_addr = list(addresses)[0]
40+
assert_equal(len(addresses), 1)
41+
assert_equal(addresses[sp_taproot_spk_addr]["purpose"], "receive")
42+
assert_equal(wallet.getaddressinfo(sp_taproot_spk_addr)["labels"][0], "test")
43+
wallet_txs_by_label = wallet.listreceivedbylabel()
44+
assert_equal(wallet_txs_by_label[0]["amount"], 10)
45+
assert_equal(wallet_txs_by_label[0]["label"], "test")
46+
assert_equal(wallet.getreceivedbylabel("test"), 10)
47+
2348
def test_encrypt_and_decrypt(self):
2449
self.log.info("Check that a silent payments wallet can be encrypted and decrypted")
2550
self.log.info("Create encrypted wallet")
@@ -171,6 +196,7 @@ def run_test(self):
171196
self.test_encrypting_unencrypted()
172197
self.test_basic()
173198
self.test_import_rescan()
199+
self.test_labels()
174200

175201

176202
if __name__ == '__main__':

0 commit comments

Comments
 (0)