Withdraws gas from the GasBuiltin to handle the success case flow. Returns Some(()) if there is sufficient gas to handle the success case, otherwise returns None.

Signature

pub extern fn withdraw_gas() -> Option implicits(RangeCheck, GasBuiltin) nopanic;

Examples

// The success branch is the following lines, the failure branch is the `panic` caused by the
// `unwrap` call.
withdraw_gas().unwrap();
// Direct handling of `withdraw_gas`.
match withdraw_gas() {
    Some(()) => success_case(),
    None => cheap_not_enough_gas_case(),
}