Commit Graph

22430 Commits

Author SHA1 Message Date
MarcoFalke
0cfbdeddc6 Merge #18545: test: refactor rpc_signrawtransaction and add logging
9cdddae3b4efee071d71ba3b6629a53017332f6f test: add rpc_signrawtransaction logging (Jon Atack)
4d6cde38cefa61209d307ed8015bdd40f2695668 test: refactor rpc_signrawtransaction witness script tests (Jon Atack)

Pull request description:

  As a follow-up to #18484, the new tests are good but bury the one non-duplicate line in each test that sets the witness script, and there is no logging in the testfile. This PR makes it easy to see what is unique to each of the new tests and adds logging.

ACKs for top commit:
  theStack:
    ACK 9cdddae3b4 🥚 🐰

Tree-SHA512: 7b1ca303326658afb90b7635abc9fe8bb65f0be004124d4dcf38702bb6f38bc06ce33c0642be4ad5d511453d003cdefeea691e66e3b963a4feb66f6237a3c241
2023-01-11 21:42:32 -06:00
MarcoFalke
7ea1dd6ac1 Merge #18597: test: Extend wallet_dump test to cover comments
555567ace9baae3c80e118eeca434d5c424a3487 test: Extend wallet_dump test to cover comments (MarcoFalke)

Pull request description:

ACKs for top commit:
  ryanofsky:
    Code review ACK 555567ace9baae3c80e118eeca434d5c424a3487. Nice new checks in this test. I confirmed this catches the missing FormatISO8601DateTime call you discovered in https://github.com/bitcoin/bitcoin/pull/17954#discussion_r406891999

Tree-SHA512: 71aa23dd039f3bcdee642b01151edd1a0d44f48cedd070f5858148c8cb8abd6f5edfd212daeba38e35c843da5ea6c799e5a952105fdecedac355a5a843c05a84
2023-01-11 21:42:32 -06:00
MarcoFalke
5e34141b29 Merge #18609: test: Remove REJECT message code
b1b0cfecb639ce44be280c7a45a41a19e893c401 test: Remove REJECT message code (Hennadii Stepanov)

Pull request description:

  We no longer use REJECT p2p message:
  - #15437
  - #17004

ACKs for top commit:
  theStack:
    ACK b1b0cfecb6 (nice dead code find)

Tree-SHA512: 0a662b282e921c3991aeb15f54d077837f1ef20bc2e3b0b35117bb97a21d1bd1c3e21458e5c18ba0ca02030d559e3e8e74dbd3d3e2b46dbe7bede550948c3b55
2023-01-11 21:42:32 -06:00
PastaPastaPasta
4615a071b7
feat(coinjoin): implement new serialization for dsq and dstx (#5136)
## 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. -->
https://github.com/dashpay/dash/issues/4966

## What was done?
Serialization now depends on the protocol version, and we use an updated
serialization that is spv friendly for the new version

## How Has This Been Tested?
hasn't

## Breaking Changes
this should be backwards compatible, but this likely should get some
release notes.

## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] 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

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2023-01-11 21:24:29 -06:00
Odysseas Gabrielides
78593c7d71
fix!: Rotation members calc v19 (#5142)
With 18.2, block
`0000000000000044356e582f9748f9baf084e5b7946e6386b32620d540830fda` is
marked invalid with `bad-qc-invalid`.

## Issue being fixed or feature implemented
While the 19 isn’t active -> Calculate rotation members based on 18.1
code
Once 19 active -> Calculate rotation members based on 18.2 code

## What was done?


## How Has This Been Tested?


## Breaking Changes


## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] 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-01-10 15:14:27 -06:00
Odysseas Gabrielides
49271358ee
fix: non-aligned BLS serialization within MNLISTDIFF (#5151)
## Issue being fixed or feature implemented
When constructing `CSimplifiedMNListDiff`,
`CSimplifiedMNListDiff::nVersion` is set to 2 if the v19 fork is active.
It turns out that `CSimplifiedMNListEntry::nVersion` wasn't set to 2 as
well as it was supposed.

Because we used `emplace_back` when filling the list of
`CSimplifiedMNListEntry`, this actually constructed the object with the
default value of 1 instead of copying it.

Surprising but I managed to see that while debugging.

## What was done?

## How Has This Been Tested?


## Breaking Changes


## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] 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

Co-authored-by: pasta <pasta@dashboost.org>
2023-01-10 14:53:14 -06:00
UdjinM6
30fa322d38
fix: resolve potential deadlock (#5138)
## Issue being fixed or feature implemented
```
POTENTIAL DEADLOCK DETECTED
Previous lock order was:
 (2) 'cs_main' in governance/governance.cpp:1096 (in thread 'init')
 (1) 'cs' in governance/governance.cpp:1096 (in thread 'init')
Current lock order is:
 (1) 'cs' in governance/governance.cpp:778 (in thread 'msghand')
 'cs' in governance/object.cpp:104 (in thread 'msghand')
 (2) '::cs_main' in validation.cpp:117 (in thread 'msghand')
```

#5021 follow-up
## What was done?
Lock `cs_main` earlier

## How Has This Been Tested?
run dashd on testnet

## Breaking Changes
none

## 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
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] 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-01-10 13:10:10 -06:00
UdjinM6
0fdd3120c9
fix: preserve the original order of fields in CDeterministicMNStateDiff (#5139)
## Issue being fixed or feature implemented
We shouldn't have changed it in the first place if we want to avoid
additional migration/reindexing. I did not think about it when I
proposed this patch in #5021, sorry 🙈 Thanks @ogabrielides for noticing
👍

#5021 follow-up

## What was done?
<!--- Describe your changes in detail -->


## 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
- [ ] 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-01-10 13:06:44 -06:00
PastaPastaPasta
a9709b61d4
fix: avoid re-propogating old qfcommit messages (#5145)
<!--
*** 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. -->
This fixes an issue where qfcommit messages can be replayed from the
past, then are validated and propagated to other nodes. This patch
changes it so that old qfcommits are not relayed.

## What was done?
<!--- Describe your changes in detail -->


## 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. -->
Deployed to a node, and ensured that the log messages are shown. 

## 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. -->
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] 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**
- [ ] I have assigned this pull request to a milestone
2023-01-07 20:26:32 -06:00
PastaPastaPasta
c9161e2ebf
refactor: begin to de-globalize masternodeSync (#5103)
<!--
*** 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. -->
minimizing global uses

## What was done?
<!--- Describe your changes in detail -->
Started the deglobalization, a future PR should be done to continue this
deglobalization

## 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 -->
none

## 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
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have added or updated relevant unit/integration/functional/e2e
tests
- [x] 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

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2023-01-04 23:37:20 +03:00
UdjinM6
d85c897f89
Merge pull request #5135 from UdjinM6/merge_master_18.2.0
chore: Merge master 18.2.0 back into develop
2023-01-03 22:32:17 +03:00
PastaPastaPasta
a3c5fcda72
Merge pull request #5133 from UdjinM6/fix_immer
build: fix gitian builds
2023-01-03 12:47:06 -06:00
UdjinM6
6a9fab6a36
Merge branch 'master' into merge_master_18.2.0 2023-01-03 21:44:37 +03:00
UdjinM6
47b32efef2
build: fix gitian builds
we don't want submodules
2023-01-03 14:51:16 +03:00
PastaPastaPasta
12743b9197
Merge pull request #5110 from kittywhiskers/locale_indep
backport: bitcoin#18225, #18270, #21438, #22220, #18134, #18449, #19750, #20452 (locale independence)
2023-01-02 14:20:17 -06:00
Kittywhiskers Van Gogh
cae9d1791c merge bitcoin#20452: Replace use of locale dependent atoi(…) with locale-independent std::from_chars(…) 2023-01-02 14:19:33 -06:00
Kittywhiskers Van Gogh
bb0a52907d merge bitcoin#19750: remove unused c-string variant of atoi64() 2023-01-02 14:19:33 -06:00
Kittywhiskers Van Gogh
c76b22ec72 merge bitcoin#18449: Remove unused itostr 2023-01-02 14:19:33 -06:00
Kittywhiskers Van Gogh
b8873243e3 merge bitcoin#18134: Replace std::to_string with locale-independent alternative 2023-01-02 14:19:33 -06:00
Kittywhiskers Van Gogh
73dd6bdb20 merge bitcoin#22220: make ParseMoney return a std::optional<CAmount> 2023-01-02 14:19:33 -06:00
Kittywhiskers Van Gogh
0f7204cf60 merge bitcoin#21438: add ParseUInt8() test coverage 2023-01-02 14:19:33 -06:00
Kittywhiskers Van Gogh
8327611d63 merge bitcoin#18270: Fail to parse whitespace-only strings in ParseMoney(...) 2023-01-02 14:19:33 -06:00
Kittywhiskers Van Gogh
e6fba929a6 merge bitcoin#18225: Fail to parse empty string in ParseMoney 2023-01-02 14:19:33 -06:00
PastaPastaPasta
82ea1a2a2c
Merge pull request #5130 from kittywhiskers/bump_bls
depends: update 'src/dashbls' to dashpay/bls-signatures@22b06602 as 8bf0c812
2023-01-02 13:31:07 -06:00
Kittywhiskers Van Gogh
dae66d4fc4 build: add mimalloc's Win32 API dependencies 2023-01-02 12:43:49 +05:30
Kittywhiskers Van Gogh
c70f440f66 revert: revert 'stop tracking cmake dependency relic_conf.h.in'
This reverts commit 7d03389345.
2023-01-02 12:41:55 +05:30
Kittywhiskers Van Gogh
964e3aaf36 depends: update 'src/dashbls' to dashpay/bls-signatures@22b06602 as 8bf0c812 2023-01-02 12:41:54 +05:30
Kittywhiskers Van Gogh
8bf0c812f5 Squashed 'src/dashbls/' changes from 66ee820fbc..22b066020c
22b066020c build: match detection of Win32 libraries with mimalloc (#60)
03268b3a02 Merge pull request #59 from kittywhiskers/repair_subtree
3d2e7a183e depends: commit microsoft/mimalloc@91ba1f37 to source tree as 44314dd9
7a4d1a01fa depends: remove mangled 'depends/mimalloc' subdirectory
44314dd972 Squashed 'depends/mimalloc/' content from commit 91ba1f37
8383f081bd dashbls: replace flaky minialloc with microsoft/mimalloc@91ba1f37, add as vendored dependency (#55)
85b7e61b55 fix: Should not check validity for legacy G1 and G2 in FromBytes (#58)
7457939dd5 chore/fix: bump Catch2 to v2.13.10 (#57)

git-subtree-dir: src/dashbls
git-subtree-split: 22b066020c14bd162022c73f90fc7c940f4acdda
2023-01-02 12:40:54 +05:30
Kittywhiskers Van Gogh
7d03389345 revert: stop tracking cmake dependency relic_conf.h.in
This reverts commit 3378c00a46.
2023-01-02 12:40:15 +05:30
thephez
b258279b01
fix: support new format of electrum backup files in importelectrumwallet (#5107)
## Issue being fixed or feature implemented
Fix for the `importelectrumwallet` issue report in #5106 

## What was done?
<!--- Describe your changes in detail -->
Check the `private_key` field for prefixes set off by ":" when
processing electrum CSV/JSON backup files.

## 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. -->
Tested locally by importing a backup modified to include both styles of
private key formatting

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

## 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
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] 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**
- [ ] I have assigned this pull request to a milestone
2023-01-02 01:02:54 -06:00
PastaPastaPasta
6868970937
Merge pull request #5119 from kittywhiskers/dep.md
docs: create and update dependencies.md, dashify
2023-01-01 20:42:55 -06:00
Kittywhiskers Van Gogh
e6ff8fbf89 docs: replace bitcoin/bitcoin@master refs to dashpay/dash@develop 2023-01-01 20:42:09 -06:00
Kittywhiskers Van Gogh
c65bfe864e docs: update dependencies.md to match version of 'depends' pkgs 2023-01-01 20:42:09 -06:00
Kittywhiskers Van Gogh
280ecefd0a merge bitcoin#16441: remove qt libjpeg check from bitcoin_qt.m4 2023-01-01 20:42:09 -06:00
Kittywhiskers Van Gogh
a3b1575e20 merge bitcoin#17561: Changed MiniUPnPc link to https in dependencies.md 2023-01-01 20:42:09 -06:00
Kittywhiskers Van Gogh
3027975ef2 merge bitcoin#15684: Fix typo libsrvg->librsvg 2023-01-01 20:42:09 -06:00
Kittywhiskers Van Gogh
b1a546aeb1 merge bitcoin#15222: Add info about factors that affect dependency list 2023-01-01 20:42:09 -06:00
Kittywhiskers Van Gogh
e62dca7830 merge bitcoin#11264: Fix broken Markdown table in dependencies.md 2023-01-01 20:42:09 -06:00
Kittywhiskers Van Gogh
40bddfd3b2 merge bitcoin#10779: Create dependencies.md 2023-01-01 20:42:09 -06:00
Kittywhiskers Van Gogh
db654198d7 docs: replace remaining OSX references with macOS 2023-01-01 20:42:09 -06:00
PastaPastaPasta
91e6dac0be
Merge pull request #5006 from vijaydasmp/bp21_2
backport: merge bitcoin#16521,18495,16929,18770,15760,19069,19630
2023-01-01 20:17:41 -06:00
fanquake
106ca023a0 Merge #19630: Cleanup fee estimation code
a3abeec33a6ae903e514c7a7b6f587b7c17288a0 policy/fees: remove a floating-point division by zero (Antoine Poinsot)
c36869bbf6a38626833b4aea53be024c48ede475 policy/fees: unify some duplicated for loops (Antoine Poinsot)
569d92a4d2924a1f6d50775980b591552f6372e7 policy/fees: small readability improvements (Antoine Poinsot)
5b8cb35621891b681f9b49a9de5f6d8da4ccdecc policy/fee: remove requireGreater parameter in EstimateMedianVal() (Antoine Poinsot)
dba8196b447b6a85be66890db70928100e867d8b policy/fees: correct decay explanation comments (Antoine Poinsot)

Pull request description:

  This (*does not* change behaviour and) cleans up a bit of unused code in `CBlockPolicyEstimator` and friends, and slightly improves readability of the rest (comment correction etc.). The last commit is a small reformatting one which I could not resist but am happy to remove at will.

ACKs for top commit:
  jnewbery:
    utACK a3abeec33a6ae903e514c7a7b6f587b7c17288a0
  MarcoFalke:
    ACK a3abeec33a6ae903e514c7a7b6f587b7c17288a0 💹
  ariard:
    Code Review ACK a3abeec.

Tree-SHA512: b7620bcd23a2ffa8f7ed859467868fc0f6488279e3ee634f6d408872cb866ad086a037e8ace76599a05b7e9c07768adf5016b0ae782d153196b9c030db4c34a5
2023-01-01 20:16:57 -06:00
MarcoFalke
a9f50ea944 Merge #19069: refactor: replace pointers by references within tx_verify.{h,cpp}
b00266fe0cf05fe6044f471105ce2bfed4349626 refactor: replace pointers by references within tx_verify.{h,cpp} (Sebastian Falbesoner)

Pull request description:

  This PR gets rid of another unnecessary use of raw pointers, similar to PR #19053 (see also issue #19062 where useful commands for finding potential candidates are listed) but in the tx verification module.

  For the functions `CalculateSequenceLocks()` and `SequenceLocks()`, the  `prevHeights` vector parameter type is changed to be passed as a reference. Note that there were no checks for null pointers -- if one would pass `nullptr` to one of the functions, the following line would immediately lead to a crash:
  dcacea096e/src/consensus/tx_verify.cpp (L32)

ACKs for top commit:
  Empact:
    Code Review ACK b00266fe0c

Tree-SHA512: 0eb71591467905434082029128bdca4df94988c372af40dca325654f6c002c72a00c73776cb5e72d6de2b2f218649211a5dbf19300a2e01f1841d6034e0f01e0
2023-01-01 20:16:57 -06:00
MarcoFalke
e06f95c020 Merge #15760: doc: Clarify sendrawtransaction::maxfeerate==0 help
fa49db7eac doc: Clarify sendrawtransaction::maxfeerate==0 help (MarcoFalke)

Pull request description:

  Used a lot in e.g. the tests: `git grep 'maxfeerate=0)' test`

ACKs for commit fa49db:
  promag:
    ACK fa49db7.
  jonatack:
    ACK fa49db7eac

Tree-SHA512: cb3fa10960f45606c3599b76c48666a663e5c44cfb7c29bab5d44caa7dc6cb57aaac81cb9b173e079dde01d07c5363c99416f25303a8fd41010928118474a741
2023-01-01 20:16:57 -06:00
MarcoFalke
a6c2c3a6d2 Merge #18770: test: Remove raw-tx byte juggling in mempool_reorg
fa489011d9202d61463dbc426041c867f2670438 test: Remove raw-tx byte juggling in mempool_reorg (MarcoFalke)

Pull request description:

ACKs for top commit:
  robot-visions:
    ACK fa489011d9202d61463dbc426041c867f2670438

Tree-SHA512: 2ae537a5b34e48d2954ba02d9e050ae1a99043080266d5decca3f983b13bc3ddcbee1f3f3c7457e16ee76ea17b9ce08cac2e3205cf46b5e3c3e4ca5f758f00de
2023-01-01 20:16:57 -06:00
Wladimir J. van der Laan
0528026442 Merge #16929: test: follow-up to rpc: default maxfeerate value as BTC/kB
6659810e2f38994813aa9d7644d570ae0152fa2c test: use named args for sendrawtransaction calls (Jon Atack)
5c1cd78b7e582660a78d9d9dec673967a6b78936 doc: improve rawtransaction code/test docs (Jon Atack)
acc14c50932c7353f94d3d4367d05021606e0ca9 test: fix incorrect value in rpc_rawtransaction.py (Jon Atack)

Pull request description:

  Follow-up to PR #16521.

  - Fix incorrect value in rpc_rawtransaction test as per https://github.com/bitcoin/bitcoin/pull/16521/files#r325842308
  - Improve the code docs
  - Use named arguments as per https://github.com/bitcoin/bitcoin/pull/16521/files#r310715127

  Happy to squash or keep only the first commit if the others are too fixup-y.

ACKs for top commit:
  laanwj:
    ACK 6659810e2f38994813aa9d7644d570ae0152fa2c

Tree-SHA512: bf5258f23802ab3ba3defb8791097e08e63f3e2af21023f832cd270dc88d1fa04349e921d69f9f5fedac5dce5cd3c1cc46b48febbede4bc18dccb8be994565b2
2023-01-01 20:16:57 -06:00
MarcoFalke
08d5428afe Merge #18495: rpc: Remove deprecated migration code
2599d13c9417dc8c5107535521173687ec5e6c2f rpc: Remove deprecated migration code (Vasil Dimov)

Pull request description:

  Don't accept a second argument to `sendrawtransaction` and
  `testmempoolaccept` of type `bool`. Actually even the code before this
  change would not accept `bool`, but it would print a long explanatory
  message when rejecting it: "Second argument must be numeric (maxfeerate)
  and no longer supports a boolean. To allow a transaction with high fees,
  set maxfeerate to 0."

  This was scheduled for removal in 6c0a6f73e.

ACKs for top commit:
  MarcoFalke:
    ACK 2599d13c9417dc8c5107535521173687ec5e6c2f 📅

Tree-SHA512: e2c74c0bde88e20149d0deab0845851bb3979143530a6bae4f46769d61b607ad2e2347f8969093c2461a80c47661732dc0b3def140f8ce84081719adda3b3811
2023-01-01 20:16:57 -06:00
Wladimir J. van der Laan
2660c9722b Merge #16521: rpc: Use the default maxfeerate value as BTC/kB
2dfd6834ef8737e16e4b96df0c459f30a0721d6c test: Add test for default maxfeerate in sendrawtransaction (Joonmo Yang)
261843e4bef96ab296a9775819a99bfa60cad743 wallet/rpc: Use the default maxfeerate value as BTC/kB (Joonmo Yang)

Pull request description:

  Fixes https://github.com/bitcoin/bitcoin/issues/16382

  This patch tries to treat `maxfeerate` in sendrawtransaction/testmempoolaccept RPC as a rate(BTC/kB) instead of an absolute value(BTC).
  The included test case checks if the new behavior works correctly, by using the transaction with an absolute fee of ~0.02BTC, where the fee rate is ~0.2BTC/kB.
  This test should be failing if the default `maxfeerate` is 0.1BTC, but pass if the default value is 0.1BTC/kB

ACKs for top commit:
  laanwj:
    ACK 2dfd6834ef8737e16e4b96df0c459f30a0721d6c (ACKs by Sjors and MarcoFalke above for trivially different code)

Tree-SHA512: a1795bffe8a182acef8844797955db1f60bb0c0ded97148f3572dc265234d5219271a3a7aa0b6418a43f73b2b2720ef7412ba169c99bb1cdcac52051f537d6af
2023-01-01 20:16:57 -06:00
Odysseas Gabrielides
a37e196dd0
feat(rpc): Hide old banned mns by default (#5125)
<!--
*** 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. -->


## What was done?
<!--- Describe your changes in detail -->
It was requested by service desk to hide old banned masternodes when
calling rpc `masternodelist`.
The period from which a masternode is considered old banned is more than
a `SuperblockCycle`.

| Network        | SuperblockCycle           |
| ------------- |:-------------:|
| Mainnet      | 16616 |
| Testnet    | 24      |
| Devnet | 24     |
| Regtest | 10      |

The new mode `recent` was added to in order to hide old banned
masternodes.
Note: If the mode `recent` is used, then the reply mode is `JSON` (can
be additionally filtered)

## 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
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have added or updated relevant unit/integration/functional/e2e
tests
- [x] 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-01-01 19:04:35 -06:00
UdjinM6
43c9a411d6
Merge pull request #5127 from PastaPastaPasta/v18.2.0-final-changes
[v18.2.x] chore: final changes for v18.2.0
2023-01-02 03:12:16 +03:00