def METHOD_NAME(self, args) -> None:
    dest_addr = self._normalize_address(args.dest_address)
    if dest_addr is None:
        return
    amount = args.amount
    a_type = args.type.upper()
    if a_type not in {'PERCENT', 'NEON'}:
        print(f'wrong type of amount type {a_type}, should be PERCENT or NEON', file=sys.stderr)
        return
    elif amount <= 0:
        print(f'amount {amount} should be more than 0', file=sys.stderr)
        return
    elif amount > 100 and a_type == 'PERCENT':
        print(f'amount {amount} is too big, should be less or equal 100', file=sys.stderr)
        return
    self._connect_to_proxy()
    neon_acct_dict = self._get_neon_addr_dict()
    total_balance = 0
    for balance in neon_acct_dict.values():
        total_balance += balance
    if a_type == 'NEON':
        check_balance = math.ceil(total_balance / 1_000_000_000 / 1_000_000_000)
        if check_balance < amount:
            print(f'amount {amount} is too big, should be less than {check_balance}', file=sys.stderr)
            return
        amount = amount * 1_000_000_000 * 1_000_000_000
    elif a_type == 'PERCENT':
        amount = math.floor(total_balance * amount / 100)
    total_amount = 0
    for neon_addr, balance in neon_acct_dict.items():
        if balance <= 0:
            continue
        gas = self._estimate_tx(neon_addr, dest_addr)
        tx_cost = gas * self._gas_price
        balance -= tx_cost
        if balance <= 0:
            continue
        balance = min(balance, amount)
        self._send_tx(neon_addr, dest_addr, balance, gas)
        amount -= balance
        total_amount += balance
        if amount <= 0:
            break
    total_amount = self._get_neon_amount(total_amount)
    print(f'successfully send {total_amount:,.18} NEON to 0x{dest_addr.hex()}')