Commit ba2817f
committed
Merge #7342: fix(rpc): report inactive DIP3 for ProTx RPCs
f671673 fix: use token reject reason for inactive DIP3 (PastaClaw)
4d38776 fix(rpc): report inactive DIP3 for ProTx RPCs (PastaClaw)
Pull request description:
## Issue being fixed or feature implemented
ProTx RPCs can return a generic `bad-tx-type` error with RPC code `-1` when
used before DIP0003 is active on regtest/devnet. The underlying problem is that
special transaction validation rejects extra payload transactions before DIP3,
but the RPC response does not explain that activation height is the blocker.
This improves the Dash Core developer experience by returning an explicit
inactive-DIP3 RPC verification error with activation height context.
## What was done?
- Added an early DIP0003 activation check in the shared ProTx submission helper
before special transaction validation.
- Return `RPC_VERIFY_ERROR` with the DIP3 activation height, current chain
height, next block height, and a regtest/devnet hint.
- Added functional test coverage for both funded and external-collateral ProTx
registration paths before DIP3 activation.
## How Has This Been Tested?
Tested locally on macOS arm64 with the existing depends prefix and autotools
build.
- `make -j8 src/dashd src/dash-cli`
- `test/functional/feature_dip3_deterministicmns.py --cachedir=/Users/claw/Projects/dash/worktrees/protx-dip3-error/test/cache`
- Pre-PR review gate: `ship`
## Breaking Changes
None. This only changes the RPC error returned before DIP0003 activation for
ProTx submission paths.
## Checklist:
- [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
- [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_
ACKs for top commit:
UdjinM6:
utACK f671673
PastaPastaPasta:
utACK f671673
Tree-SHA512: 0667d9d4860947c09849257bbf6585456ad4aeff7a6c6295de5ca1fc8c729909ac50af960697466697439952b54e1fd3ddaa972a31ef94a120a711b37faf8b253 files changed
Lines changed: 50 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
113 | | - | |
| 113 | + | |
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
354 | 354 | | |
355 | 355 | | |
356 | 356 | | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
357 | 374 | | |
358 | | - | |
| 375 | + | |
359 | 376 | | |
360 | 377 | | |
361 | 378 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
65 | 89 | | |
66 | 90 | | |
67 | 91 | | |
68 | 92 | | |
69 | 93 | | |
70 | 94 | | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
71 | 102 | | |
72 | 103 | | |
73 | 104 | | |
| |||
0 commit comments