MCPcopy Create free account
hub / github.com/ElementsProject/elements / run_test

Method run_test

test/functional/feature_discount_ct_ordering.py:38–290  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

36 self.skip_if_no_bdb()
37
38 def run_test(self):
39
40 node0 = self.nodes[0]
41 node1 = self.nodes[1]
42 node2 = self.nodes[2]
43
44 self.generate(node0, 101)
45 balance = node0.getbalance()
46 assert_equal(balance['bitcoin'], 21000000)
47
48 self.log.info("Create UTXOs")
49 many = {}
50 num = 25
51 for i in range(num):
52 addr = node0.getnewaddress()
53 info = node0.getaddressinfo(addr)
54 many[info['unconfidential']] = 1
55 for i in range(10):
56 addr = node1.getnewaddress()
57 info = node1.getaddressinfo(addr)
58 many[info['unconfidential']] = 1
59 for i in range(10):
60 addr = node2.getnewaddress()
61 info = node2.getaddressinfo(addr)
62 many[info['unconfidential']] = 1
63
64 txid = node0.sendmany("", many)
65 self.generate(node0, 1)
66
67 feerate = 1.0
68 self.log.info(f"Send explicit tx to node 1 at {feerate} sat/vb")
69 addr = node1.getnewaddress()
70 info = node1.getaddressinfo(addr)
71 txid = node0.sendtoaddress(info['unconfidential'], 1.0, "", "", False, None, None, None, None, None, None, feerate)
72 tx = node0.gettransaction(txid, True, True)
73 decoded = tx['decoded']
74 vin = decoded['vin']
75 vout = decoded['vout']
76 assert_equal(len(vin), 2)
77 assert_equal(len(vout), 3)
78 assert_equal(tx['fee']['bitcoin'], Decimal('-0.00000326'))
79 assert_equal(decoded['vsize'], 326)
80 self.sync_mempools([node0, node1])
81 tx = node1.getrawtransaction(txid, True)
82 assert_equal(tx['discountvsize'], 326)
83
84 feerate = 2.0
85 self.log.info(f"Send explicit tx to node 1 at {feerate} sat/vb")
86 addr = node1.getnewaddress()
87 info = node1.getaddressinfo(addr)
88 txid = node0.sendtoaddress(info['unconfidential'], 1.0, "", "", False, None, None, None, None, None, None, feerate)
89 tx = node0.gettransaction(txid, True, True)
90 decoded = tx['decoded']
91 vin = decoded['vin']
92 vout = decoded['vout']
93 assert_equal(len(vin), 2)
94 assert_equal(len(vout), 3)
95 assert_equal(tx['fee']['bitcoin'], Decimal('-0.00000652'))

Callers

nothing calls this directly

Calls 12

deserializeMethod · 0.95
assert_equalFunction · 0.90
CBlockClass · 0.90
infoMethod · 0.80
sync_mempoolsMethod · 0.80
is_feeMethod · 0.80
getAmountMethod · 0.80
connect_nodesMethod · 0.80
generateMethod · 0.45
calc_sha256Method · 0.45
get_vsizeMethod · 0.45
restart_nodeMethod · 0.45

Tested by

no test coverage detected