ElementsProject / ElementsProject/elements
Inconsistency of "fee at end" rule
- Dominant language
- C++
- Stars
- 1.2k
- Forks
- 416
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 15
Description
Some of our RPCs enforce a rule that the fee output must be last. I'm not clear on where this requirement comes from, or whether it needs to be enforced.
There is at least one case in blinding (blinded inputs / no blinded outputs) where we have to add a zero-value OP_RETURN output in order to balance the blinding factors. It looks like we add this at the end, which messes up the 'fee output must be last' logic.
If the fee output indeed must be last, I would like to add some checks to ensure we are consistent about this everywhere, rather than in an ad-hoc way as we do now. Then we can move the "bonus output" to be before the fee for consistency.
If not, I would like to revisit the "fee last" rule.
Contributor guide
Assessment
This issue has not been assessed yet.