def METHOD_NAME(
    self, transaction: SignedTransactionAPI, computation: ComputationAPI
) -> ComputationAPI:
    transaction_context = self.vm_state.get_transaction_context(transaction)
    gas_remaining = computation.get_gas_remaining()
    gas_used = transaction.gas - gas_remaining
    gas_refund = self.calculate_gas_refund(computation, gas_used)
    gas_refund_amount = (gas_refund + gas_remaining) * transaction_context.gas_price
    if gas_refund_amount:
        self.vm_state.logger.debug2(
            "TRANSACTION REFUND: %s -> %s",
            gas_refund_amount,
            encode_hex(computation.msg.sender),
        )
        self.vm_state.delta_balance(computation.msg.sender, gas_refund_amount)
    # Beneficiary Fees
    gas_used = transaction.gas - gas_remaining - gas_refund
    transaction_fee = gas_used * self.vm_state.get_tip(transaction)
    # EIP-161:
    # Even if the txn fee is zero, the coinbase is still touched here. Post-merge,
    # with no block reward, in the cases where the txn fee is also zero, the
    # coinbase may end up zeroed after the computation and thus should be marked
    # for deletion since it was touched.
    self.vm_state.logger.debug2(
        "TRANSACTION FEE: %s -> %s",
        transaction_fee,
        encode_hex(self.vm_state.coinbase),
    )
    self.vm_state.delta_balance(self.vm_state.coinbase, transaction_fee)
    # Process Self Destructs
    for account, _ in computation.get_accounts_for_deletion():
        self.vm_state.logger.debug2("DELETING ACCOUNT: %s", encode_hex(account))
        self.vm_state.delete_account(account)
    return computation