Skip to content

Commit

Permalink
add rpc test for listunspents support for zero value txouts
Browse files Browse the repository at this point in the history
  • Loading branch information
jonasschnelli authored and gmaxwell committed Apr 21, 2015
1 parent 219953c commit f89b092
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions qa/rpc-tests/wallet.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,33 @@ def run_test (self):

assert(txid1 in self.nodes[3].getrawmempool())

#check if we can list zero value tx as available coins
#1. create rawtx
#2. hex-changed one output to 0.0
#3. sign and send
#4. check if recipient (node0) can list the zero value tx
usp = self.nodes[1].listunspent()
inputs = [{"txid":usp[0]['txid'], "vout":usp[0]['vout']}]
outputs = {self.nodes[1].getnewaddress(): 49.998, self.nodes[0].getnewaddress(): 11.11}

rawTx = self.nodes[1].createrawtransaction(inputs, outputs).replace("c0833842", "00000000") #replace 11.11 with 0.0 (int32)
decRawTx = self.nodes[1].decoderawtransaction(rawTx)
signedRawTx = self.nodes[1].signrawtransaction(rawTx)
decRawTx = self.nodes[1].decoderawtransaction(signedRawTx['hex'])
zeroValueTxid= decRawTx['txid']
sendResp = self.nodes[1].sendrawtransaction(signedRawTx['hex'])

self.sync_all()
self.nodes[1].generate(1) #mine a block
self.sync_all()

unspentTxs = self.nodes[0].listunspent() #zero value tx must be in listunspents output
found = False
for uTx in unspentTxs:
if uTx['txid'] == zeroValueTxid:
found = True
assert_equal(uTx['amount'], Decimal('0.00000000'));
assert(found)

#do some -walletbroadcast tests
stop_nodes(self.nodes)
Expand Down

0 comments on commit f89b092

Please sign in to comment.