Encapsulates the gas metering state (SuiGasStatus) and the payment source metadata,
whether it is from a smashed list (coin objects or address-balance withdrawals) or
un-metered. In other words, this serves the point of interaction between the on-chain data
(coins and address balances) and the gas meter.
A resolved gas payment: the location that will receive the final charge or refund,
paired with the total SUI available after smashing. Produced by
GasCharger::gas_payment_amount and consumed by PTB execution to set up the
runtime gas coin.
Public wrapper that describes how gas will be paid before smashing occurs.
Constructed via PaymentKind::unmetered() or PaymentKind::smash(methods) and
consumed by GasCharger::new.
Identifies where a gas payment lives, independent of its value (ObjectRef or reservation).
Used often as a key, e.g. during smashing and during gas final charging.