TxOutItem MaxGas and GasRate are inconsistent
This is a dedicated Issue for the caveat in #1859 (closed)
that a TxOutItem's MaxGas should always equal TransactionSize * GasRate,
so THORChain permits the intended TransactionSize and no greater,
but inconsistent integer-flooring breaks this invariant.
(From when increasing the GasRate by 1.5x .)
Odd behaviour from this includes (in regression tests) a 10500 BTC.BTC MaxGas when the TransactionSize is 1000 and the GasRate is 10 (1.5x 7 TransactionFeeRate),
or that BNB TxOutItems nonsensically have gas_rate
(11250) higher than their max_gas
amount (7500).
I have proposed that a single GetGasDetails
function be used which calculates and returns both,
particularly as GetMaxGas
and GetGasRate
are typically called in close proximity (duplicating their GetNetworkFee
call).