
<!-- Describe the issue -->
Following commit 46004790588c24174a0bec49b540d158ce163ffd (@achow101), `decodepsbt` overstates the fee, apparently including both the `witness_utxo` and `non_witness_utxo` amounts in the inputs.

**Expected behavior**

The decoded fee should be the sum of the inputs, minus the sum of the outputs.

**Actual behavior**

The decoded fee is exactly twice the amount of the inputs, minus the sum of the outputs.

**To reproduce**

Build any PSBT using `createpsbt`, `walletprocesspsbt`, then decode it with `decodepsbt`. See the `fee` field in the JSON.

**System information**

I compiled myself from 5550fa5983ea59e7ccef6540b7ec49a1770fb3ca on Whonix 14.

Then I did `git revert 46004790588c24174a0bec49b540d158ce163ffd ` and the problem went away.

{RPCResult::Type::STR_HEX, "hex", "The hex"},
                                    {RPCResult::Type::STR, "type", "The type, eg 'pubkeyhash'"},
                                }},
                                {RPCResult::Type::ARR, "bip32_derivs",  true, "",
                                {
                                    {RPCResult::Type::OBJ, "", "",
                                    {
                                        {RPCResult::Type::STR, "pubkey", "The public key this path corresponds to"},
                                        {RPCResult::Type::STR, "master_fingerprint", "The fingerprint of the master key"},
                                        {RPCResult::Type::STR, "path", "The path"},
                                    }},
                                }},
                                {RPCResult::Type::OBJ_DYN, "unknown", "The unknown global fields",
                                {
                                    {RPCResult::Type::STR_HEX, "key", "(key-value pair) An unknown key-value pair"},
                                }},
                            }},
                        }},
                        {RPCResult::Type::STR_AMOUNT, "fee",  true, "The transaction fee paid if all UTXOs slots in the PSBT have been filled."},
                    }
                },
                RPCExamples{
                    HelpExampleCli("decodepsbt", "\"psbt\"")
                },
            }.Check(request);
    RPCTypeCheck(request.params, {UniValue::VSTR});
    
    PartiallySignedTransaction psbtx;
    std::string error;
    if (!DecodeBase64PSBT(psbtx, request.params[0].get_str(), error)) {