parent
91c56dbccf
commit
296aaa87c6
@ -0,0 +1,60 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright (c) 2020 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
"""
|
||||
Tests mempool functionality for MWEB transactions
|
||||
"""
|
||||
|
||||
from test_framework.test_framework import BitcoinTestFramework
|
||||
from test_framework.ltc_util import setup_mweb_chain
|
||||
from test_framework.util import assert_equal, assert_raises_rpc_error
|
||||
|
||||
class MWEBMempoolTest(BitcoinTestFramework):
|
||||
def set_test_params(self):
|
||||
self.setup_clean_chain = True
|
||||
self.num_nodes = 3
|
||||
self.extra_args = [
|
||||
[
|
||||
"-rpcserialversion=0",
|
||||
'-whitelist=noban@127.0.0.1'
|
||||
],
|
||||
[
|
||||
"-rpcserialversion=1",
|
||||
'-whitelist=noban@127.0.0.1'
|
||||
],
|
||||
[
|
||||
'-whitelist=noban@127.0.0.1'
|
||||
],
|
||||
]
|
||||
|
||||
def run_test(self):
|
||||
node0 = self.nodes[0]
|
||||
node1 = self.nodes[1]
|
||||
node2 = self.nodes[2]
|
||||
|
||||
self.log.info("Setup MWEB chain")
|
||||
setup_mweb_chain(node0)
|
||||
|
||||
self.log.info("Pegin some coins")
|
||||
node0.sendtoaddress(node0.getnewaddress(address_type='mweb'), 10)
|
||||
node0.generate(1)
|
||||
|
||||
self.log.info("Create an MWEB-to-MWEB transaction")
|
||||
txid = node0.sendtoaddress(node0.getnewaddress(address_type='mweb'), 2)
|
||||
self.sync_all()
|
||||
|
||||
self.log.info("Assert txid is returned in getrawmempool but tx not returned from getmempoolentry for rpcserialversion=0")
|
||||
assert_equal([txid], node0.getrawmempool())
|
||||
assert_raises_rpc_error(-22, "MWEB-only transaction not serializable for rpcserialversion<2", node0.getmempoolentry, txid)
|
||||
|
||||
self.log.info("Assert txid is returned in getrawmempool but tx not returned from getmempoolentry for rpcserialversion=1")
|
||||
assert_equal([txid], node1.getrawmempool())
|
||||
assert_raises_rpc_error(-22, "MWEB-only transaction not serializable for rpcserialversion<2", node1.getmempoolentry, txid)
|
||||
|
||||
self.log.info("Assert txid is returned in getrawmempool and tx is returned for getmempoolentry for rpcserialversion=2")
|
||||
assert_equal([txid], node2.getrawmempool())
|
||||
assert node2.getmempoolentry(txid) is not None
|
||||
|
||||
if __name__ == '__main__':
|
||||
MWEBMempoolTest().main()
|
Loading…
Reference in new issue