|
|
@ -5,8 +5,8 @@ |
|
|
|
|
|
|
|
|
|
|
|
from test_framework.test_framework import BitcoinTestFramework |
|
|
|
from test_framework.util import assert_equal, assert_true, start_node, \ |
|
|
|
start_nodes, connect_nodes_bi, bitcoind_processes |
|
|
|
from test_framework.util import assert_equal, assert_true, bitcoind_processes, \ |
|
|
|
connect_nodes_bi, start_node, start_nodes, wait_and_assert_operationid_status |
|
|
|
|
|
|
|
import time |
|
|
|
from decimal import Decimal |
|
|
@ -25,22 +25,8 @@ class WalletNullifiersTest (BitcoinTestFramework): |
|
|
|
mytaddr = self.nodes[0].getnewaddress(); |
|
|
|
recipients = [] |
|
|
|
recipients.append({"address":myzaddr0, "amount":Decimal('10.0')-Decimal('0.0001')}) # utxo amount less fee |
|
|
|
myopid = self.nodes[0].z_sendmany(mytaddr, recipients) |
|
|
|
|
|
|
|
opids = [] |
|
|
|
opids.append(myopid) |
|
|
|
|
|
|
|
timeout = 120 |
|
|
|
status = None |
|
|
|
for x in xrange(1, timeout): |
|
|
|
results = self.nodes[0].z_getoperationresult(opids) |
|
|
|
if len(results)==0: |
|
|
|
time.sleep(1) |
|
|
|
else: |
|
|
|
status = results[0]["status"] |
|
|
|
assert_equal("success", status) |
|
|
|
mytxid = results[0]["result"]["txid"] |
|
|
|
break |
|
|
|
|
|
|
|
wait_and_assert_operationid_status(self.nodes[0], self.nodes[0].z_sendmany(mytaddr, recipients)) |
|
|
|
|
|
|
|
self.sync_all() |
|
|
|
self.nodes[0].generate(1) |
|
|
@ -66,22 +52,8 @@ class WalletNullifiersTest (BitcoinTestFramework): |
|
|
|
# send node 0 zaddr to note 2 zaddr |
|
|
|
recipients = [] |
|
|
|
recipients.append({"address":myzaddr, "amount":7.0}) |
|
|
|
myopid = self.nodes[0].z_sendmany(myzaddr0, recipients) |
|
|
|
|
|
|
|
opids = [] |
|
|
|
opids.append(myopid) |
|
|
|
|
|
|
|
timeout = 120 |
|
|
|
status = None |
|
|
|
for x in xrange(1, timeout): |
|
|
|
results = self.nodes[0].z_getoperationresult(opids) |
|
|
|
if len(results)==0: |
|
|
|
time.sleep(1) |
|
|
|
else: |
|
|
|
status = results[0]["status"] |
|
|
|
assert_equal("success", status) |
|
|
|
mytxid = results[0]["result"]["txid"] |
|
|
|
break |
|
|
|
|
|
|
|
wait_and_assert_operationid_status(self.nodes[0], self.nodes[0].z_sendmany(myzaddr0, recipients)) |
|
|
|
|
|
|
|
self.sync_all() |
|
|
|
self.nodes[0].generate(1) |
|
|
@ -98,22 +70,8 @@ class WalletNullifiersTest (BitcoinTestFramework): |
|
|
|
# send node 2 zaddr to note 3 zaddr |
|
|
|
recipients = [] |
|
|
|
recipients.append({"address":myzaddr3, "amount":2.0}) |
|
|
|
myopid = self.nodes[2].z_sendmany(myzaddr, recipients) |
|
|
|
|
|
|
|
opids = [] |
|
|
|
opids.append(myopid) |
|
|
|
|
|
|
|
timeout = 120 |
|
|
|
status = None |
|
|
|
for x in xrange(1, timeout): |
|
|
|
results = self.nodes[2].z_getoperationresult(opids) |
|
|
|
if len(results)==0: |
|
|
|
time.sleep(1) |
|
|
|
else: |
|
|
|
status = results[0]["status"] |
|
|
|
assert_equal("success", status) |
|
|
|
mytxid = results[0]["result"]["txid"] |
|
|
|
break |
|
|
|
|
|
|
|
wait_and_assert_operationid_status(self.nodes[2], self.nodes[2].z_sendmany(myzaddr, recipients)) |
|
|
|
|
|
|
|
self.sync_all() |
|
|
|
self.nodes[2].generate(1) |
|
|
@ -139,23 +97,8 @@ class WalletNullifiersTest (BitcoinTestFramework): |
|
|
|
mytaddr1 = self.nodes[1].getnewaddress(); |
|
|
|
recipients = [] |
|
|
|
recipients.append({"address":mytaddr1, "amount":1.0}) |
|
|
|
myopid = self.nodes[1].z_sendmany(myzaddr, recipients) |
|
|
|
|
|
|
|
opids = [] |
|
|
|
opids.append(myopid) |
|
|
|
|
|
|
|
timeout = 120 |
|
|
|
status = None |
|
|
|
for x in xrange(1, timeout): |
|
|
|
results = self.nodes[1].z_getoperationresult(opids) |
|
|
|
if len(results)==0: |
|
|
|
time.sleep(1) |
|
|
|
else: |
|
|
|
status = results[0]["status"] |
|
|
|
assert_equal("success", status) |
|
|
|
mytxid = results[0]["result"]["txid"] |
|
|
|
[mytxid] # hush pyflakes |
|
|
|
break |
|
|
|
|
|
|
|
wait_and_assert_operationid_status(self.nodes[1], self.nodes[1].z_sendmany(myzaddr, recipients)) |
|
|
|
|
|
|
|
self.sync_all() |
|
|
|
self.nodes[1].generate(1) |
|
|
@ -206,7 +149,6 @@ class WalletNullifiersTest (BitcoinTestFramework): |
|
|
|
if key != 'change': |
|
|
|
assert_equal(received2[key], received3[key]) |
|
|
|
|
|
|
|
|
|
|
|
# Node 3's balances should be unchanged without explicitly requesting |
|
|
|
# to include watch-only balances |
|
|
|
assert_equal({k: Decimal(v) for k, v in self.nodes[3].z_gettotalbalance().items()}, { |
|
|
|