In Bitcoin Core, virtual size has two meanings:
- BIP 141 defines virtual size = weight/4 (rounded up), i.e. transaction size plus witness size divided by 4. (https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#additional-definitions )
- Virtual size = max(weight, sigopscost*bytespersigop) / 4 rounded up, used in all mempool code to punish very very high sigops transactions.
Currently we have no code that uses meaning #2, but we do have some weird
backported code that uses meaning #1, which is definitely inappropriate
for BCH since we don't have segwit.
This diff removes that stuff and also removes the ability to ask for
virtual size in the BIP141 convention (without a sigops count), which is always
going to be a conceptual mistake in our codebase.