Where is sum(vin) > sum(vout) check in Bitcoin Core?

2

I'm searching the function that validates a transaction according to Protocol rules - "tx" messages especially step 14 sum(vin) > sum(vout).

I found this interesting function CheckTransaction(const CTransaction& tx, CValidationState &state) but it does not validate step 14, right?

Where is this check for step 14?

Piu130

Posted 2019-03-27T13:51:56.453

Reputation: 123

Answers

6

https://github.com/bitcoin/bitcoin/search?q=bad-txns-in-belowout&unscoped_q=bad-txns-in-belowout

const CAmount value_out = tx.GetValueOut();
if (nValueIn < value_out) {
    return state.DoS(100, false, REJECT_INVALID, "bad-txns-in-belowout", false,
        strprintf("value in (%s) < value out (%s)", FormatMoney(nValueIn), FormatMoney(value_out)));
}

amaclin

Posted 2019-03-27T13:51:56.453

Reputation: 5 763