|
|
|
@ -30,38 +30,31 @@ async def ask_transfer_mosaic(ctx, common: NEMTransactionCommon, transfer: NEMTr
|
|
|
|
|
mosaic_quantity = mosaic.quantity * transfer.amount / NEM_MOSAIC_AMOUNT_DIVISOR
|
|
|
|
|
|
|
|
|
|
if definition:
|
|
|
|
|
msg = Text('Confirm mosaic', ui.ICON_SEND,
|
|
|
|
|
'Confirm transfer of',
|
|
|
|
|
ui.BOLD, format_amount(mosaic_quantity, definition['divisibility']) + definition['ticker'],
|
|
|
|
|
ui.NORMAL, 'of',
|
|
|
|
|
ui.BOLD, definition['name'],
|
|
|
|
|
icon_color=ui.GREEN)
|
|
|
|
|
|
|
|
|
|
msg = Text('Confirm mosaic', ui.ICON_SEND, icon_color=ui.GREEN)
|
|
|
|
|
msg.type('Confirm transfer of')
|
|
|
|
|
msg.bold(format_amount(mosaic_quantity, definition['divisibility']) + definition['ticker'])
|
|
|
|
|
msg.type('of')
|
|
|
|
|
msg.bold(definition['name'])
|
|
|
|
|
await require_confirm(ctx, msg, ButtonRequestType.ConfirmOutput)
|
|
|
|
|
|
|
|
|
|
if 'levy' in definition and 'fee' in definition:
|
|
|
|
|
levy_msg = _get_levy_msg(definition, mosaic_quantity, common.network)
|
|
|
|
|
msg = Text('Confirm mosaic', ui.ICON_SEND,
|
|
|
|
|
'Confirm mosaic',
|
|
|
|
|
'levy fee of',
|
|
|
|
|
ui.BOLD, levy_msg,
|
|
|
|
|
icon_color=ui.GREEN)
|
|
|
|
|
|
|
|
|
|
msg = Text('Confirm mosaic', ui.ICON_SEND, icon_color=ui.GREEN)
|
|
|
|
|
msg.type('Confirm mosaic', 'levy fee of')
|
|
|
|
|
msg.bold(levy_msg)
|
|
|
|
|
await require_confirm(ctx, msg, ButtonRequestType.ConfirmOutput)
|
|
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
msg = Text('Confirm mosaic', ui.ICON_SEND,
|
|
|
|
|
ui.BOLD, 'Unknown mosaic!',
|
|
|
|
|
ui.NORMAL, *split_words('Divisibility and levy cannot be shown for unknown mosaics', 22),
|
|
|
|
|
icon_color=ui.RED)
|
|
|
|
|
msg = Text('Confirm mosaic', ui.ICON_SEND, icon_color=ui.RED)
|
|
|
|
|
msg.bold('Unknown mosaic!')
|
|
|
|
|
msg.type(*split_words('Divisibility and levy cannot be shown for unknown mosaics', 22))
|
|
|
|
|
await require_confirm(ctx, msg, ButtonRequestType.ConfirmOutput)
|
|
|
|
|
|
|
|
|
|
msg = Text('Confirm mosaic', ui.ICON_SEND,
|
|
|
|
|
ui.NORMAL, 'Confirm transfer of',
|
|
|
|
|
ui.BOLD, '%s raw units' % mosaic_quantity,
|
|
|
|
|
ui.NORMAL, 'of',
|
|
|
|
|
ui.BOLD, '%s.%s' % (mosaic.namespace, mosaic.mosaic),
|
|
|
|
|
icon_color=ui.GREEN)
|
|
|
|
|
msg = Text('Confirm mosaic', ui.ICON_SEND, icon_color=ui.GREEN)
|
|
|
|
|
msg.type('Confirm transfer of')
|
|
|
|
|
msg.bold('%s raw units' % mosaic_quantity)
|
|
|
|
|
msg.type('of')
|
|
|
|
|
msg.bold('%s.%s' % (mosaic.namespace, mosaic.mosaic))
|
|
|
|
|
await require_confirm(ctx, msg, ButtonRequestType.ConfirmOutput)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -102,12 +95,11 @@ async def ask_importance_transfer(ctx, common: NEMTransactionCommon, imp: NEMImp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async def _require_confirm_transfer(ctx, recipient, value):
|
|
|
|
|
content = Text('Confirm transfer', ui.ICON_SEND,
|
|
|
|
|
ui.BOLD, 'Send %s XEM' % format_amount(value, NEM_MAX_DIVISIBILITY),
|
|
|
|
|
ui.NORMAL, 'to',
|
|
|
|
|
ui.MONO, *split_address(recipient),
|
|
|
|
|
icon_color=ui.GREEN)
|
|
|
|
|
await require_confirm(ctx, content, ButtonRequestType.ConfirmOutput)
|
|
|
|
|
text = Text('Confirm transfer', ui.ICON_SEND, icon_color=ui.GREEN)
|
|
|
|
|
text.bold('Send %s XEM' % format_amount(value, NEM_MAX_DIVISIBILITY))
|
|
|
|
|
text.type('to')
|
|
|
|
|
text.mono(*split_address(recipient))
|
|
|
|
|
await require_confirm(ctx, text, ButtonRequestType.ConfirmOutput)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async def _require_confirm_payload(ctx, payload: bytes, encrypt=False):
|
|
|
|
@ -116,13 +108,11 @@ async def _require_confirm_payload(ctx, payload: bytes, encrypt=False):
|
|
|
|
|
if len(payload) > 48:
|
|
|
|
|
payload = payload[:48] + '..'
|
|
|
|
|
if encrypt:
|
|
|
|
|
content = Text('Confirm payload', ui.ICON_SEND,
|
|
|
|
|
ui.BOLD, 'Encrypted:',
|
|
|
|
|
ui.NORMAL, *split_words(payload, 22),
|
|
|
|
|
icon_color=ui.GREEN)
|
|
|
|
|
text = Text('Confirm payload', ui.ICON_SEND, icon_color=ui.GREEN)
|
|
|
|
|
text.bold('Encrypted:')
|
|
|
|
|
text.type(*split_words(payload, 22))
|
|
|
|
|
else:
|
|
|
|
|
content = Text('Confirm payload', ui.ICON_SEND,
|
|
|
|
|
ui.BOLD, 'Unencrypted:',
|
|
|
|
|
ui.NORMAL, *split_words(payload, 22),
|
|
|
|
|
icon_color=ui.RED)
|
|
|
|
|
await require_confirm(ctx, content, ButtonRequestType.ConfirmOutput)
|
|
|
|
|
text = Text('Confirm payload', ui.ICON_SEND, icon_color=ui.RED)
|
|
|
|
|
text.bold('Unencrypted:')
|
|
|
|
|
text.type(*split_words(payload, 22))
|
|
|
|
|
await require_confirm(ctx, text, ButtonRequestType.ConfirmOutput)
|
|
|
|
|