1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-01-09 23:11:10 +00:00
Commit Graph

120 Commits

Author SHA1 Message Date
Martin Milata
ddac852acf refactor(core): convert apps.cardano to layouts 2021-06-23 11:51:18 +02:00
Martin Milata
ffb400180d refactor(core/ui): more consistent layout parameter names 2021-06-23 11:51:18 +02:00
Martin Milata
a143fe34d0 refactor(core): convert apps.lisk to layouts 2021-06-23 11:51:18 +02:00
Martin Milata
ebf6ef1666 refactor(core): convert apps.tezos to layouts 2021-06-23 11:51:18 +02:00
Martin Milata
12478b1716 refactor(core): convert apps.stellar to layouts 2021-06-23 11:51:18 +02:00
Martin Milata
6aeaadfe16 refactor(core): convert apps.ripple to layouts 2021-06-23 11:51:18 +02:00
Martin Milata
16094df0c5 refactor(core): convert most of apps.monero to layouts
Progress popups are not ported yet as they're unlike anything else.

Introduces paginate_paragraphs.
2021-06-23 11:51:18 +02:00
Martin Milata
6c926ad82e refactor(core): convert apps.ethereum to layouts 2021-06-23 11:51:18 +02:00
Martin Milata
b7cab90e3c refactor(core/ui): use new_lines=False in layouts 2021-06-23 11:51:18 +02:00
matejcik
1012ee8497 feat(core): send ButtonRequests for paging events 2021-06-22 11:25:12 +02:00
Jan Pochyla
a8623c4b59 refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
Martin Milata
767e7b8e8d fix(core): spaces in Shamir info texts 2021-06-03 16:54:42 +02:00
Martin Milata
c54077a714 fix(core): imports needed for T1 startup
Now debug build booted on wiped T1 connects to USB and shows square in
top right corner.
2021-05-17 18:03:07 +02:00
matejcik
f6f3c7ffcf fix(core): prevent flickering when homescreen does not need to redraw 2021-05-06 13:14:21 +02:00
matejcik
5d12b943b3 feat(core): ensure all module names are interned 2021-05-06 13:14:21 +02:00
matejcik
e859c13d70 refactor(core): limit global imports in key places
so that by importing `apps.base`, we don't pull in the whole circus
2021-05-06 13:14:21 +02:00
Martin Milata
ac711fb8ee style(core): use more recent type annotation syntax
https://www.python.org/dev/peps/pep-0585/ - Type Hinting Generics In Standard Collections
https://www.python.org/dev/peps/pep-0604/ - Allow writing union types as X | Y
2021-04-01 11:12:30 +02:00
Martin Milata
8b3ac659a0 style(core): mypy: disable implicit Optional for function arguments
https://www.python.org/dev/peps/pep-0484/#union-types
2021-04-01 11:12:30 +02:00
Martin Milata
f97af2af1b chore(core/ui): typing: no implicit Optional 2021-03-30 22:34:01 +02:00
Martin Milata
da72482c2f refactor(core/ui): get rid of confirm_wipe 2021-03-30 22:34:01 +02:00
Martin Milata
c0174ff217 refactor(core/ui): raise exception on dialog cancel by default 2021-03-30 22:34:01 +02:00
Martin Milata
2b6ea25712 refactor(core): convert rest of apps.bitcoin to layouts 2021-03-30 22:34:01 +02:00
Martin Milata
b1e38fe382 refactor(core): no implicit spaces in render_text 2021-03-30 22:34:01 +02:00
Martin Milata
01900b8536 refactor(core): convert parts of apps.webauthn to layouts 2021-03-30 22:34:01 +02:00
Martin Milata
ffe6d65f72 refactor(core): convert parts of apps.management to layouts 2021-03-30 22:34:01 +02:00
Martin Milata
c09a142e2a refactor(core): convert apps.misc.* to layouts 2021-03-30 22:34:01 +02:00
Martin Milata
0b5d17bf49 refactor(core/ui): merge confirm_hexdata and show_pubkey 2021-03-30 22:34:01 +02:00
Martin Milata
6ded531f8f refactor(core): convert apps.common.sdcard to layouts 2021-03-30 22:34:01 +02:00
Martin Milata
035f114125 fix(core/ui): don't return CONFIRMED/CANCELLED from layouts 2021-03-30 22:34:01 +02:00
Andrew Kozlik
3084d1196d feat(core): Support 50 digit PIN and wipe code. 2021-03-25 14:24:41 +01:00
Andrew Kozlik
b10acbe153 feat(core): Allow decreasing output amount in RBF transactions. 2021-03-17 15:15:50 +01:00
Andrew Kozlik
5593862dc1 fix(core): Disable hold-to-confirm animation when animations are disabled. 2021-03-17 15:15:50 +01:00
JoeGruff
e3ea32a986 multi: Add decred staking.
Add two new input and four output script types.

Decred ticket purchases consist of a stake submission, op returns, and
change addresses. Although change addresses are allowed by consensus,
they are no longer used in practice and so have been given the
restrictions of a null pubkey and no value. Stake scripts are almost
identical to p2pkh or p2sh except for an extra opcode in front. Inputs
are currently only used in the form of one input three outputs with the
first output, or stake submission, paying to a public key hash, or with
two inputs and five outputs with the stake submission paying to a
multisig script hash. The op returns are directed to the user in the
case of one and the voting service provider and user in the case of two.

One of the sstx commitment for a ticket must pay back to the trezor
wallet. This is checked and an error is thrown if we don't find the
expected public key hash.

Because this adds the ability to create new types of outputs once the
ticket votes, two new input script types are also needed. A successful
vote will lead to a stake generation script that must be spent, and an
unsuccessful vote will lead to a revocation script that must be spent.
If we allowed stake change scripts to have a valid pubkey, that too
would require another op code, but we disallow those for output.
2021-03-17 12:16:08 +01:00
Martin Milata
ee2ec85983 fix(core): fix title shown for multisig address 2021-03-11 14:21:03 +01:00
Martin Milata
9b60cc0098 feat(core): restart loader from current position
On "hold to confirm" dialogs, when you hold your finger, lift it, and
quickly hold again, the progress bar jumps to the beginning. This commit
changes the behavior so the progress continues from its current position
of the reverse animation.
2021-02-24 00:10:10 +01:00
Martin Milata
192d0dcf87 feat(core): hold homescreen to lock 2021-02-24 00:10:10 +01:00
Martin Milata
391602ae99 refactor(core): turn show_address, show_pubkey, show_xpub into layouts 2021-02-10 13:57:19 +01:00
Martin Milata
03699f5639 refactor(core): turn show_success, show_warning into layouts 2021-02-10 13:57:19 +01:00
Martin Milata
f38abf9d89 refactor(core): introduce layouts
Layouts can be used by the application code to interact with user using
small number of dialogs or other groups of UI components. Each layout is
identified by name and takes some parameters. Most layouts will have an
implementation for each hardware model, mechanism is provided to import
the correct version so that application code can be oblivious to the
model.

This commit introduces the layout concept and converts a couple of
dialogs to use it.
2021-02-10 13:57:19 +01:00
Martin Milata
18cb429610 feat(core): introduce Text.format_parametrized() 2021-02-10 13:57:19 +01:00
Martin Milata
f1382bf892 refactor(core): model-dependent UI component directories
They now live under trezor.ui.components.tt. Later
trezor.ui.components.t1 will be added and application code will be
rewritten to not use them directly in order to work on both TT and T1.
2021-02-10 13:57:19 +01:00
matejcik
2d3a4d15fa fix(core/ui): render_text uses correct font and color with item_offset 2021-01-11 16:47:59 +01:00
matejcik
24195d7c3e fix(core/ui): use full line_width for content 2021-01-11 16:47:59 +01:00
matejcik
bbef9c650b refactor(core): improve render_text behavior
* use less memory due to copy-less rendering
* implement linebreaking on embedded \n
2021-01-11 16:47:59 +01:00
Pavol Rusnak
a1dda836ec style(core/src): use new syntax for typing 2020-12-01 15:52:29 +01:00
Martin Milata
ee64b65b26 refactor(core): call super().__init__() in subclasses 2020-11-30 14:48:08 +01:00
Martin Milata
fa1566cb71 refactor(core): call super().__init__() in Component and Layout subclasses 2020-11-30 14:48:08 +01:00
Pavol Rusnak
952adc5961
style(core): use PEP515 Underscores in Numeric Literals 2020-11-23 14:30:16 +01:00
Martin Milata
b8bb63fbef core: drop unused FONT_SIZE constant 2020-09-01 19:57:46 +02:00
Andrew Kozlik
dd540a2ccd core/ui: Initialize Qr class properly. 2020-08-20 18:13:09 +02:00