]> Git Repo - VerusCoin.git/blame - qa/rpc-tests/zcjoinsplit.py
Adjust fundrawtransaction RPC test for Zcash
[VerusCoin.git] / qa / rpc-tests / zcjoinsplit.py
CommitLineData
730790f7
SB
1#!/usr/bin/env python2
2
3#
d36098f8 4# Test joinsplit semantics
730790f7
SB
5#
6
7from test_framework.test_framework import BitcoinTestFramework
8from test_framework.util import *
9from decimal import Decimal
10import os
11import shutil
12import sys
13
22de1602 14class JoinSplitTest(BitcoinTestFramework):
730790f7 15 def setup_network(self):
6ca317e1
SB
16 self.nodes = []
17 self.is_network_split = False
18 self.nodes.append(start_node(0, self.options.tmpdir))
730790f7 19
6ca317e1
SB
20 def run_test(self):
21 zckeypair = self.nodes[0].zcrawkeygen()
a8ac403d
SB
22 zcsecretkey = zckeypair["zcsecretkey"]
23 zcaddress = zckeypair["zcaddress"]
24
6ca317e1
SB
25 (total_in, inputs) = gather_inputs(self.nodes[0], 40)
26 protect_tx = self.nodes[0].createrawtransaction(inputs, {})
85c9ecb8 27 joinsplit_result = self.nodes[0].zcrawjoinsplit(protect_tx, {}, {zcaddress:39.99}, 39.99, 0)
a8ac403d 28
d36098f8 29 receive_result = self.nodes[0].zcrawreceive(zcsecretkey, joinsplit_result["encryptednote1"])
a8ac403d
SB
30 assert_equal(receive_result["exists"], False)
31
d36098f8 32 protect_tx = self.nodes[0].signrawtransaction(joinsplit_result["rawtxn"])
6ca317e1
SB
33 self.nodes[0].sendrawtransaction(protect_tx["hex"])
34 self.nodes[0].generate(1)
a8ac403d 35
d36098f8 36 receive_result = self.nodes[0].zcrawreceive(zcsecretkey, joinsplit_result["encryptednote1"])
a8ac403d
SB
37 assert_equal(receive_result["exists"], True)
38
52676958
SB
39 # The pure joinsplit we create should be mined in the next block
40 # despite other transactions being in the mempool.
41 addrtest = self.nodes[0].getnewaddress()
42 for xx in range(0,10):
43 self.nodes[0].generate(1)
44 for x in range(0,50):
45 self.nodes[0].sendtoaddress(addrtest, 0.01);
46
d36098f8 47 joinsplit_tx = self.nodes[0].createrawtransaction([], {})
85c9ecb8 48 joinsplit_result = self.nodes[0].zcrawjoinsplit(joinsplit_tx, {receive_result["note"] : zcsecretkey}, {zcaddress: 39.98}, 0, 0.01)
a8ac403d 49
d36098f8 50 self.nodes[0].sendrawtransaction(joinsplit_result["rawtxn"])
6ca317e1 51 self.nodes[0].generate(1)
6674f41c
SB
52
53 print "Done!"
d36098f8 54 receive_result = self.nodes[0].zcrawreceive(zcsecretkey, joinsplit_result["encryptednote1"])
a8ac403d
SB
55 assert_equal(receive_result["exists"], True)
56
730790f7 57if __name__ == '__main__':
22de1602 58 JoinSplitTest().main()
This page took 0.098655 seconds and 4 git commands to generate.