Page MenuHomePhabricator

wallet: Don't override signing errors
ClosedPublic

Authored by PiRK on Sep 9 2021, 12:54.

Details

Reviewers
majcosta
Group Reviewers
Restricted Project
Commits
rABCf58d3ab83703: wallet: Don't override signing errors
Summary

While reviewing #17204 I noticed that the errors in input_errors from ::SignTransaction where being overridden by CWallet::SignTransaction. For example, a Script related error led to incomplete signature data which led to CWallet::SignTransaction reporting that keys were missing, which was a less precise error than the original one.

Note: in our codebase the errors are overwritten one more time, as a result of a change in D8100. The comment mentions "get proper error messages". None of these error messages seem to be tested at the moment, because removing this block does not cause any test to fail.

This is a backport of core#19568

Test Plan

ninja all check-all

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable