Skip to content

Commit 40fed33

Browse files
author
MarcoFalke
committed
Merge bitcoin/bitcoin#22510: test: add test for RPC error 'Transaction already in block chain'
2ebf2fe test: check for RPC error 'Transaction already in block chain' (-27) (Sebastian Falbesoner) Pull request description: This PR adds missing test coverage for the RPC error "Transaction already in block chain" (error code `RPC_VERIFY_ALREADY_IN_CHAIN` = `RPC_TRANSACTION_ALREADY_IN_CHAIN` = -27), which is thrown in the function `BroadcastTransaction` (src/node/transaction.cpp). ACKs for top commit: kristapsk: ACK 2ebf2fe (ran linter, looked at changes and ran modified test and checked code in `src/node/transaction.cpp`) darosior: ACK 2ebf2fe Tree-SHA512: 8bfbd3ff3da0cb3b8745f69b8ca2377f85fa99f0270750840b60e6ae43b5645c5c59b236993e8b2ad0444ec4171484e4f1ee23fa7e81b79d4222bcb623666fa5
2 parents a273e3c + 2ebf2fe commit 40fed33

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

test/functional/rpc_rawtransaction.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,15 @@ def run_test(self):
515515
assert_equal(testres['allowed'], True)
516516
self.nodes[2].sendrawtransaction(hexstring=rawTxSigned['hex'], maxfeerate='0.20000000')
517517

518+
self.log.info('sendrawtransaction/testmempoolaccept with tx that is already in the chain')
519+
self.nodes[2].generate(1)
520+
self.sync_blocks()
521+
for node in self.nodes:
522+
testres = node.testmempoolaccept([rawTxSigned['hex']])[0]
523+
assert_equal(testres['allowed'], False)
524+
assert_equal(testres['reject-reason'], 'txn-already-known')
525+
assert_raises_rpc_error(-27, 'Transaction already in block chain', node.sendrawtransaction, rawTxSigned['hex'])
526+
518527

519528
if __name__ == '__main__':
520529
RawTransactionsTest().main()

0 commit comments

Comments
 (0)