dash/test/functional/test_framework
Odysseas Gabrielides e7badf1da1
fix: check HPMNs duplicate on tx broadcast (#5257)
<!--
*** Please remove the following help text before submitting: ***

Provide a general summary of your changes in the Title above

Pull requests without a rationale and clear improvement may be closed
immediately.

Please provide clear motivation for your patch and explain how it
improves
Dash Core user experience or Dash Core developer experience
significantly:

* Any test improvements or new tests that improve coverage are always
welcome.
* All other changes should have accompanying unit tests (see
`src/test/`) or
functional tests (see `test/`). Contributors should note which tests
cover
modified code. If no tests exist for a region of modified code, new
tests
  should accompany the change.
* Bug fixes are most welcome when they come with steps to reproduce or
an
explanation of the potential issue as well as reasoning for the way the
bug
  was fixed.
* Features are welcome, but might be rejected due to design or scope
issues.
If a feature is based on a lot of dependencies, contributors should
first
  consider building the system outside of Dash Core, if possible.
-->

## Issue being fixed or feature implemented
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->
Before this fix, uniqueness of HPMN `platformNodeID` was checked only
while processing a block containing a `ProRegTx` or a `ProUpServTx`.
This is not enough as a `ProRegTx` or `ProUpServTx` containing duplicate
HPMN `platformNodeID` must be rejected at tx broadcast level.

## What was done?
<!--- Describe your changes in detail -->
Checking uniqueness when calling respective RPC and when receiving such
txs.

## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->


## Breaking Changes
<!--- Please describe any breaking changes your code introduces -->


## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [x] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation

**For repository code-owners and collaborators only**
- [x] I have assigned this pull request to a milestone
2023-03-16 18:28:38 +02:00
..
__init__.py Merge bitcoin#9956: Reorganise qa directory (#2912) 2019-05-19 23:20:34 +03:00
address.py Merge #17984: test: Add p2p test for forcerelay permission 2022-10-20 11:48:12 -04:00
authproxy.py Merge #18596: test: Try once more when RPC connection fails on Windows 2021-09-28 14:46:44 -04:00
blocktools.py Merge #19082: test: Moved the CScriptNum asserts into the unit test in script.py 2023-02-27 23:12:41 -06:00
coverage.py Some Dashification (#3513) 2020-06-11 11:39:04 +03:00
descriptors.py merge bitcoin#15368: Descriptor checksums 2021-10-28 14:01:02 +05:30
key.py merge bitcoin#19105: Add Muhash3072 implementation in Python 2022-04-27 20:05:13 +05:30
messages.py Merge #18334: test: Add basic test for BIP 37 2023-02-27 23:12:41 -06:00
mininode.py Merge #18807: [doc / test / mempool] unbroadcast follow-ups 2023-02-27 23:12:41 -06:00
muhash.py partial bitcoin#19055: Add MuHash3072 implementation 2022-04-27 20:05:13 +05:30
netutil.py Merge bitcoin/bitcoin#24342: test: remove import socket in test_ipv6_local 2022-04-11 09:46:40 -07:00
ripemd160.py docs/build: Kubuntu 22.04 build fix (#4843) 2022-05-28 23:27:04 -05:00
script_util.py Merge #17108: test: fix "tx-size-small" errors after default address change 2022-05-17 01:20:21 -04:00
script.py Merge #19082: test: Moved the CScriptNum asserts into the unit test in script.py 2023-02-27 23:12:41 -06:00
siphash.py Merge bitcoin#9956: Reorganise qa directory (#2912) 2019-05-19 23:20:34 +03:00
socks5.py merge #14954: Require python 3.5 2021-08-31 11:16:12 +05:30
test_framework.py fix: check HPMNs duplicate on tx broadcast (#5257) 2023-03-16 18:28:38 +02:00
test_node.py Merge #19252: test: wait for disconnect in disconnect_p2ps + bloomfilter test followups 2023-02-27 23:12:41 -06:00
test_shell.py Merge #17378: TestShell: Fix typos & implement cleanups 2023-01-23 12:22:29 -06:00
util.py merge bitcoin#21634: Skip SQLite fsyncs while testing 2023-02-07 10:53:33 -06:00
wallet_util.py Merge #15108: [tests] tidy up wallet_importmulti.py 2022-03-08 22:53:13 -05:00