def METHOD_NAME(self):
    if self._neon_account_info:
        user_balance = self._neon_account_info.balance
    else:
        user_balance = 0
    required_balance = self._tx.gasPrice * self._tx_gas_limit + self._tx.value
    if required_balance <= user_balance:
        return
    if len(self._tx.callData) == 0:
        message = 'insufficient funds for transfer'
    else:
        message = 'insufficient funds for gas * price + value'
    raise EthereumError(f'{message}: address {self._tx.hex_sender} have {user_balance} want {required_balance}')