ndw.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:DarkWallet 作者: DissentDifference 项目源码 文件源码
def _send_screen(self):
        ec, self._history = await api.Wallet.history(self._ws,
                                                     self._active_pocket)
        self._send_fields = ["", "", "", ""]
        self._selected_send_item = 0
        while True:
            await self._display_history()
            c = self.screen.getch()
            if c == curses.KEY_UP:
                self._selected_send_item -= 1
                if self._selected_send_item < 0:
                    self._selected_send_item = 3
            elif c == curses.KEY_DOWN:
                self._selected_send_item += 1
                if self._selected_send_item > 3:
                    self._selected_send_item = 0
            elif c == curses.KEY_ENTER or c == 10 or c == 13:
                if self._selected_send_item == 0:
                    break
                _, addr, amount, fee = self._send_fields
                try:
                    decimal.Decimal(amount)
                except decimal.InvalidOperation:
                    self._status = "Invalid amount"
                    break
                try:
                    decimal.Decimal(fee)
                except decimal.InvalidOperation:
                    self._status = "Invalid fee"
                    break
                addr_type = await api.Daemon.validate_address(self._ws,
                                                              addr)
                if addr_type == "invalid":
                    self._status = "Invalid address"
                    break
                dests = [(addr, amount)]
                ec, tx_hash = await api.Wallet.send(self._ws, dests, fee=fee,
                                                    pocket=self._active_pocket)
                if ec:
                    self._status = ec.name
                else:
                    self._status = "Sent %s" % tx_hash
                break
            elif c == curses.KEY_BACKSPACE:
                self._send_fields[self._selected_send_item] = \
                        self._send_fields[self._selected_send_item][:-1]
            elif c == curses.KEY_LEFT or c == curses.KEY_RIGHT:
                pass
            else:
                self._send_fields[self._selected_send_item] += chr(c)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号