1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-16 03:18:09 +00:00

eth: make confirmation layouts more compact

Fixes #210
This commit is contained in:
Jan Pochyla 2018-10-23 17:07:07 +02:00
parent 65434fa49a
commit a074dd3e54
2 changed files with 11 additions and 9 deletions

View File

@ -16,10 +16,12 @@ async def require_confirm_tx(ctx, to, value, chain_id, token=None, tx_type=None)
to_str = _ethereum_address_hex(to, networks.by_chain_id(chain_id)) to_str = _ethereum_address_hex(to, networks.by_chain_id(chain_id))
else: else:
to_str = "new contract?" to_str = "new contract?"
text = Text("Confirm sending", ui.ICON_SEND, icon_color=ui.GREEN) text = Text("Confirm sending", ui.ICON_SEND, icon_color=ui.GREEN, new_lines=False)
text.bold(format_ethereum_amount(value, token, chain_id, tx_type)) text.bold(format_ethereum_amount(value, token, chain_id, tx_type))
text.normal("to") text.normal(ui.GREY, "to", ui.FG)
text.mono(*split_address(to_str)) for to_line in split_address(to_str):
text.br()
text.mono(to_line)
# we use SignTx, not ConfirmOutput, for compatibility with T1 # we use SignTx, not ConfirmOutput, for compatibility with T1
await require_confirm(ctx, text, ButtonRequestType.SignTx) await require_confirm(ctx, text, ButtonRequestType.SignTx)
@ -27,11 +29,13 @@ async def require_confirm_tx(ctx, to, value, chain_id, token=None, tx_type=None)
async def require_confirm_fee( async def require_confirm_fee(
ctx, spending, gas_price, gas_limit, chain_id, token=None, tx_type=None ctx, spending, gas_price, gas_limit, chain_id, token=None, tx_type=None
): ):
text = Text("Confirm transaction", ui.ICON_SEND, icon_color=ui.GREEN) text = Text(
"Confirm transaction", ui.ICON_SEND, icon_color=ui.GREEN, new_lines=False
)
text.bold(format_ethereum_amount(spending, token, chain_id, tx_type)) text.bold(format_ethereum_amount(spending, token, chain_id, tx_type))
text.normal("Gas price:") text.normal(ui.GREY, "Gas price:", ui.FG)
text.bold(format_ethereum_amount(gas_price, None, chain_id, tx_type)) text.bold(format_ethereum_amount(gas_price, None, chain_id, tx_type))
text.normal("Maximum fee:") text.normal(ui.GREY, "Maximum fee:", ui.FG)
text.bold(format_ethereum_amount(gas_price * gas_limit, None, chain_id, tx_type)) text.bold(format_ethereum_amount(gas_price * gas_limit, None, chain_id, tx_type))
await require_hold_to_confirm(ctx, text, ButtonRequestType.SignTx) await require_hold_to_confirm(ctx, text, ButtonRequestType.SignTx)

View File

@ -123,22 +123,20 @@ class Text(ui.LazyWidget):
self.content = [] self.content = []
def normal(self, *content): def normal(self, *content):
self.content.append(ui.NORMAL)
self.content.extend(content) self.content.extend(content)
def bold(self, *content): def bold(self, *content):
self.content.append(ui.BOLD) self.content.append(ui.BOLD)
self.content.extend(content) self.content.extend(content)
self.content.append(ui.NORMAL)
def mono(self, *content): def mono(self, *content):
self.content.append(ui.MONO) self.content.append(ui.MONO)
self.content.extend(content) self.content.extend(content)
self.content.append(ui.NORMAL)
def mono_bold(self, *content): def mono_bold(self, *content):
self.content.append(ui.MONO_BOLD) self.content.append(ui.MONO_BOLD)
self.content.extend(content) self.content.extend(content)
self.content.append(ui.NORMAL)
def br(self): def br(self):
self.content.append(BR) self.content.append(BR)