Commit Graph

597 Commits (55a78d7b262e56f5b9e5b8ab39b538c226c19b4d)

Author SHA1 Message Date
matejcik 98f0496b2c feat(core/stellar): add type checking to Stellar app
3 years ago
matejcik 1b601b3e08 feat(common): strong typing for Stellar protobuf messages
3 years ago
Martin Milata bd005e33df refactor(core): decouple T1 button handling from touch
3 years ago
matejcik b666895303 feat(core/rust): catch, handle and propagate uPy exceptions
3 years ago
matejcik 30b08d949b feat(common): add default values to EthereumSignTx fields
3 years ago
matejcik 639406b01f feat(all): make chain_id mandatory
3 years ago
Martin Milata f37ca13f1a refactor(core): disable SD, SBU, fatfs for T1 build
3 years ago
gabrielkerekes d2a5be4e38 feat(cardano): prepare protobuf messages for streamed tx signing
3 years ago
matejcik d33d61d84e chore(core): remove Lisk
3 years ago
Frederik Bolding 38fa9197ca feat(core,python): support for Ethereum EIP1559 transactions
3 years ago
gabrielkerekes 4f7c6b3586 feat(common): change all protobuf message type hints to strings
3 years ago
Martin Milata 2a91052b02 refactor(core/ui): move altcoin and webauthn layouts to separate file
3 years ago
Martin Milata 31052007ff refactor(core): enable mypy for apps.management
3 years ago
Martin Milata 5a0ea3f146 refactor(core): convert apps.management.recovery_device to layouts
3 years ago
Martin Milata 312876ab67 refactor(core): convert apps.management.reset_device to layouts
3 years ago
Martin Milata 574dcbc8a3 refactor(core): convert apps.common to layouts
3 years ago
Martin Milata 875cc0cb1a refactor(core): convert apps.webauthn to layouts
3 years ago
matejcik 9ab1891b22 feat(common): more required fields in messages-management
3 years ago
matejcik 5dcb51458f chore(core/ui): drop no longer used confirm_proposals_tezos
3 years ago
matejcik dcc38f5267 refactor(core/ui): replace confirm_hex, clarify API
3 years ago
matejcik 6d15e90ed3 refactor(core/ui): reorganize line width constants
3 years ago
matejcik cb882df100 feat(core): in debug mode, dump contents of received protobuf messages
3 years ago
Martin Milata 8da978981e perf(core): share wire buffer between wire and debuglink
3 years ago
Andrew Kozlik 334103b089 refactor(core/crypto): Optimize DER encoding of signatures.
3 years ago
Andrew Kozlik 7811204ed5 refactor(core/bitcoin): Use HashWriter in address derivation.
3 years ago
Andrew Kozlik 2c003052f5 refactor(core/bitcoin): Change CoinInfo.script_hash to be a HashContext.
3 years ago
Martin Milata ceaf4da617 fix(core): explicitly refresh display on T1
3 years ago
matejcik 2b3c75c4de fix(core): properly respond to USB events while on a paginated screen
3 years ago
matejcik cf15dce326 refactor(core/ethereum): improve API of the rlp module
3 years ago
matejcik b41d4c71f0 feat(core/emulator): JSON memory map dump
3 years ago
matejcik 1e1963f1ee fix(core): do not send ButtonRequest on every paging event
3 years ago
Pavol Rusnak 8cfa5da1ce
docs: fix typos in comments
3 years ago
matejcik 015c47d564 chore(core): export PropertyType to fix mypy errors
3 years ago
matejcik da4442bbd7 feat(core): auto-hexlify in confirm_properties
3 years ago
matejcik 41c5d773e2 refactor(core): put property key+value on the same screen
3 years ago
Martin Milata 178b575465 refactor(core): convert apps.nem to layouts
3 years ago
Martin Milata 3ffbae5d17 refactor(core): convert apps.binance to layouts
3 years ago
Martin Milata ddac852acf refactor(core): convert apps.cardano to layouts
3 years ago
Martin Milata ffb400180d refactor(core/ui): more consistent layout parameter names
3 years ago
Martin Milata a143fe34d0 refactor(core): convert apps.lisk to layouts
3 years ago
Martin Milata ebf6ef1666 refactor(core): convert apps.tezos to layouts
3 years ago
Martin Milata 12478b1716 refactor(core): convert apps.stellar to layouts
3 years ago
Martin Milata 6aeaadfe16 refactor(core): convert apps.ripple to layouts
3 years ago
Martin Milata 16094df0c5 refactor(core): convert most of apps.monero to layouts
3 years ago
Martin Milata 6c926ad82e refactor(core): convert apps.ethereum to layouts
3 years ago
Martin Milata b7cab90e3c refactor(core/ui): use new_lines=False in layouts
3 years ago
matejcik 1012ee8497 feat(core): send ButtonRequests for paging events
3 years ago
Jan Pochyla a8623c4b59 refactor(core): fix imports and use new protobuf API in apps
3 years ago
Jan Pochyla 02aa14fc04 refactor(core): Switch to new Protobuf API
3 years ago
matejcik 8a5cb41060 chore(core): regenerate with new templates
3 years ago
matejcik d42bc8a4c0 refactor(core): prepare new templates for enums and messages
3 years ago
Pavol Rusnak 23aa69caea fix(core): unify Features.revision reporting with legacy
3 years ago
Martin Milata 767e7b8e8d fix(core): spaces in Shamir info texts
3 years ago
matejcik 86089fa5ad feat(core): avoid restarting session for select messages (fixes #1631)
3 years ago
Martin Milata c54077a714 fix(core): imports needed for T1 startup
3 years ago
matejcik 411a7bb802 fix(core/wire): handle codec errors better
3 years ago
matejcik 231a1fe229 refactor(core): do not cache reverse-mapping of message types in RAM
3 years ago
matejcik 93db39ad70 fix(core/wire): drop unused reader, clarify writer usage
3 years ago
matejcik 94521a2065 feat(core): presize some modules to account for their sub-imports
3 years ago
matejcik 5f4240d93c feat(core): preallocate sys.modules to an appropriate size
3 years ago
matejcik f6f3c7ffcf fix(core): prevent flickering when homescreen does not need to redraw
3 years ago
matejcik 5d12b943b3 feat(core): ensure all module names are interned
3 years ago
matejcik aaa3ce6117 fix(core/bitcoin): fix CoinJoin authorization with new cache
3 years ago
matejcik dd655422f1 refactor(core/wire): simplify the message handling loop
3 years ago
matejcik b1ca6ca848 refactor(core/debug): offload debug configuration from apps.debug
3 years ago
matejcik e859c13d70 refactor(core): limit global imports in key places
3 years ago
matejcik 7ca67cc4d9 feat(core): clear out memory space after every workflow
3 years ago
matejcik e629a72c3a refactor(core): move app registrations to a single handler function
3 years ago
matejcik 3cdb09c294 refactor(core): modify cache to preallocate all its data
3 years ago
matejcik ea505b592c refactor(core): move empty_bytearray to trezor.utils
3 years ago
matejcik b0116d0bdc refactor(core): modify wire to preallocate its buffers
3 years ago
gabrielkerekes bf3e64ff20 fix(common): add isort:skip_file to files generated by pb2py
3 years ago
gabrielkerekes 2313293477 feat(core/cardano): add support for catalyst voting registration
3 years ago
gabrielkerekes 2c503b16f5 fix(common): fix one value enums in pb2py
3 years ago
Martin Milata ac711fb8ee style(core): use more recent type annotation syntax
3 years ago
Martin Milata 0278998f72 style(common): mypy: disable implicit Optional for function arguments
3 years ago
Martin Milata 8b3ac659a0 style(core): mypy: disable implicit Optional for function arguments
3 years ago
Martin Milata f97af2af1b chore(core/ui): typing: no implicit Optional
3 years ago
Martin Milata da72482c2f refactor(core/ui): get rid of confirm_wipe
3 years ago
Martin Milata c0174ff217 refactor(core/ui): raise exception on dialog cancel by default
3 years ago
Martin Milata 2b6ea25712 refactor(core): convert rest of apps.bitcoin to layouts
3 years ago
Martin Milata b1e38fe382 refactor(core): no implicit spaces in render_text
3 years ago
Martin Milata 01900b8536 refactor(core): convert parts of apps.webauthn to layouts
3 years ago
Martin Milata ffe6d65f72 refactor(core): convert parts of apps.management to layouts
3 years ago
Martin Milata c09a142e2a refactor(core): convert apps.misc.* to layouts
3 years ago
Martin Milata 0b5d17bf49 refactor(core/ui): merge confirm_hexdata and show_pubkey
3 years ago
Martin Milata 6ded531f8f refactor(core): convert apps.common.sdcard to layouts
3 years ago
Martin Milata 035f114125 fix(core/ui): don't return CONFIRMED/CANCELLED from layouts
3 years ago
Rafael Korbas a9b8b0e119 feat(core/cardano): chunked serialization of signed transaction
3 years ago
Andrew Kozlik 3084d1196d feat(core): Support 50 digit PIN and wipe code.
3 years ago
Pavol Rusnak 4649b80b44
feat(core): allow secp256k1-zkp for bitcoin-only build
3 years ago
matejcik cb7152542d feat: drop DebugLinkShowText functionality
3 years ago
Andrew Kozlik b10acbe153 feat(core): Allow decreasing output amount in RBF transactions.
3 years ago
Andrew Kozlik 5593862dc1 fix(core): Disable hold-to-confirm animation when animations are disabled.
3 years ago
JoeGruff e3ea32a986 multi: Add decred staking.
3 years ago
Pavol Rusnak 6c11bc60d7
common/defs/fido: add namecheap
3 years ago
Martin Milata ee2ec85983 fix(core): fix title shown for multisig address
3 years ago
Roman Zeyde b2877afa7f feat(common): add public_key to ECDHSessionKey
3 years ago
Pavol Rusnak 4b0f41d41e
fix(common): change msg_id of RebootToBootloader from 804 to 87
3 years ago
Ondrej Mikle 77e99078c3
chore(trezorlib): add generated message files
3 years ago
Ondrej Mikle 1579c62332
chore(legacy): reboot to bootloader protobuf generated messages
3 years ago
Martin Milata 9b60cc0098 feat(core): restart loader from current position
3 years ago
Martin Milata 192d0dcf87 feat(core): hold homescreen to lock
3 years ago
Martin Milata db2db8e6f3 feat(common): add hold_ms to DebugLinkDecision
3 years ago
Pavol Rusnak b4daf2f3e3
chore(core): run make gen to regenerate fido2 icons
3 years ago
Martin Milata 391602ae99 refactor(core): turn show_address, show_pubkey, show_xpub into layouts
3 years ago
Martin Milata 03699f5639 refactor(core): turn show_success, show_warning into layouts
3 years ago
Martin Milata f38abf9d89 refactor(core): introduce layouts
3 years ago
Martin Milata 18cb429610 feat(core): introduce Text.format_parametrized()
3 years ago
Martin Milata f1382bf892 refactor(core): model-dependent UI component directories
3 years ago
matejcik 14037d0c31 chore: regenerate protobuf classes
3 years ago
matejcik 637ccadcb6 style(core): remove unused type:ignore comment after mypy upgrade
3 years ago
Rafael Korbas e4c406822c Add multiasset sending and min validity to Cardano transactions
3 years ago
Pavol Rusnak 345ef52949 feat(proto): add amount_unit to AuthorizeCoinJoin and SignTx
3 years ago
Pavol Rusnak f3d5de15ef refactor(core): turn SECP256K1_ZKP into a firmware feature flag
3 years ago
Pavol Rusnak 6689b9c22f common/protob: add GetAddress.ignore_xpub_magic field
3 years ago
mcudev b8ffcadf94
common/defs/fido: add gemini webauthn (#1416)
3 years ago
matejcik 2d3a4d15fa fix(core/ui): render_text uses correct font and color with item_offset
4 years ago
matejcik 24195d7c3e fix(core/ui): use full line_width for content
4 years ago
matejcik bbef9c650b refactor(core): improve render_text behavior
4 years ago
Pavol Rusnak edb1243f64 feat(proto): add descriptors related fields to GetPublicKey/PublicKey
4 years ago
Andrew Kozlik aeb021b159 chore(core): Improve naming of SLIP39's T9 mask lookup.
4 years ago
Pavol Rusnak 1187e4ddaf style(common): use new syntax for typing in autogenerated protobuf enums
4 years ago
Pavol Rusnak a1dda836ec style(core/src): use new syntax for typing
4 years ago
Martin Milata ee64b65b26 refactor(core): call super().__init__() in subclasses
4 years ago
Martin Milata fa1566cb71 refactor(core): call super().__init__() in Component and Layout subclasses
4 years ago
Pavol Rusnak 952adc5961
style(core): use PEP515 Underscores in Numeric Literals
4 years ago
matejcik faa57e29db build(core): include generated resources.py in repo
4 years ago
Rafael Korbas b261f789f3 Add support for stakepool registration to Cardano
4 years ago
Andrew Kozlik ad6a0bc2a2 chore(common): Add new request types TXORIGINPUT and TXORIGOUTPUT.
4 years ago
Andrew Kozlik 443e0c101e chore(common): Add orig_hash and orig_index fields to TxInput and TxOutput.
4 years ago
Martin Milata 830592f2d9 feat(core): add experimental_features setting
4 years ago
Martin Milata 0376670404 feat(common): expose 'unstable' option in generated code
4 years ago
Martin Milata 314cd260eb feat(common): add experimental_features setting
4 years ago
Pavol Rusnak d8534b5ee6
perf(core/extmod): replace HMAC Python implementation with C
4 years ago
Andrew Kozlik d90c3af6ea docs(core): Fix typos in slip39.py.
4 years ago
Martin Milata b2c4bbdaa2 feat(common): add auto_lock_delay and display_rotation to Features
4 years ago
matejcik 0eed360037 chore: make tx type names shorter
4 years ago
matejcik 244b264b47 chore(core): fix typing and kwargs usage
4 years ago
matejcik ef4022fbf5 auto: regenerate protobuf classes
4 years ago
matejcik b0a2297b14 feat(core): convert protobuf decoding errors to DataErrors
4 years ago
Martin Milata 7d37b2c90f common: add PromptTemporarily to SafetyChecks enum
4 years ago
Martin Milata 9f066e877d common: add SafetyCheckLevel to Features
4 years ago
Andrew Kozlik 5d745d5d04 common/protob: Add commitment_data to TxInputType.
4 years ago
Martin Milata b8bb63fbef core: drop unused FONT_SIZE constant
4 years ago
matejcik e0583dd5cb all: use a specific error code for "invalid session"
4 years ago
Andrew Kozlik dd540a2ccd core/ui: Initialize Qr class properly.
4 years ago
Pavol Rusnak d1973b7486
pipenv: update Pipfile
4 years ago
Pavol Rusnak 4e11735d22 core/modtrezorui: remove prefill from text functions
4 years ago
Pavol Rusnak 65805c9145
core: fix non-determinism in resources.py.mako
4 years ago
Andrew Kozlik 5c1f197602 common/protob: Add CancelAuthorization message.
4 years ago
Andrew Kozlik 2c30dd62fc common: Add DoPreauthorized message.
4 years ago
Andrew Kozlik bbab13f6e7 common/protob: Add AuthorizeCoinJoin message.
4 years ago
gabrielkerekes f2ee450410 Include metadata in transaction signing
4 years ago
gabrielkerekes e92baf5b02 Update protobuf
4 years ago
gabrielkerekes b5f3511c1c Add support for script addresses in tx outputs
4 years ago
Pavol Rusnak cec87bba50
core: remove mono bold font variant (not used anywhere)
4 years ago
Gabriel Kerekeš d2c1624602 Cardano shelley update 2/3 (#1112)
4 years ago
gabrielkerekes e1615e60ec Update Cardano to support Shelley era 1/3
4 years ago
matejcik fdcb64ac24 all: rename protobuf `unsafe_prompts` to `safety_checks`
4 years ago
matejcik 1109250dcf core: add option to allow unsafe prompts
4 years ago
matejcik c3a61998cb core: generate resdata by Mako, use if/elif trick to save RAM
4 years ago
matejcik 5e7fd3aea6 core: use utils.BufferReader instead of apps.common.BytearrayReader
4 years ago
matejcik 1ff4a0d239 core: separate BufferIO into Reader (read-only) and Writer
4 years ago
matejcik 3514a31bc9 core: make USB codec resilient to OOM conditions
4 years ago
matejcik 31e2170766 core: make protobuf buffer smaller, dynamically allocate bigger if necessary
4 years ago
matejcik 01d695283f core: make protobuf buffer bigger
4 years ago
matejcik 0c3bc53aee core: clean up types for field caching, fix count_message
4 years ago
matejcik d568afa80d core: improve protobuf field caching
4 years ago
matejcik 85d74ece76 core: implement synchronous v1 codec
4 years ago
Martin Milata fd117a0c9f core: raise error on auto-lock value out of range
4 years ago
matejcik 051763575d core: touch idle timer in keyboards (fixes #1099)
4 years ago
matejcik 2c4ecff0a4 core: fix synthetic events breaking io.poll delay calculation
4 years ago
Andrew Kozlik 533de50588 common/protob: Add GetOwnershipId message.
4 years ago
Andrew Kozlik 956ea9a94f common: Add ownership_proof field to TxInputType.
4 years ago
Andrew Kozlik c723c78529 common/protob: Add GetOwnershipProof message.
4 years ago
Andrew Kozlik 3b6c1e5e6b core/crypto: Add functions for verifying DER encoded signatures.
4 years ago
Andrew Kozlik cc655575c8 common: Add witness field to TxInputType.
4 years ago
Andrew Kozlik 872768928b core/crypto: Fix endianity in DER length encoding.
4 years ago
Tomas Susanka ca3dd2bfb9 common: skip deprecated fields during generation; deprecate overwintered field in Zcash
4 years ago
Andrew Kozlik f382f77c89 core/ui: Fix repaint bug in QR code rendering #1067.
4 years ago
Tomas Susanka e534ae3ad7 legacy, core: rename Features.pin_cached to unlocked and unify
4 years ago
Andrew Kozlik 9c61257e8e core: Use the Lock icon in the PIN entry dialog only when the device is actually locked.
4 years ago
matejcik 9df7c84c56 core/ui: lower lockscreen brightness
4 years ago
matejcik 872e0fb0e0 core: lower scheduler resolution to milliseconds
4 years ago
matejcik 847691798b core: simplify homescreen and lockscreen implementations
4 years ago
matejcik 70f67883c5 core: fix artifacts in click-based UI tests
4 years ago
matejcik a9d8fd3992 core: debuglink interface avoids workflow management
4 years ago
matejcik f32c2f9e23 core: replace workflow.kill_default with workflow.close_others
4 years ago
matejcik 6f53ca0ac6 core: rework wait_layout()
4 years ago
matejcik bbfce4e303 common: introduce ButtonRequestType.PinEntry
4 years ago
matejcik 3dbd9c9eca core/loop: prevent finalizers from doing things when task is closed externally
4 years ago
matejcik 42e7c43c7c core: make sure that auto-lock shuts down running workflows
4 years ago
matejcik 2d0206c043 core: replace workflow.on_start/on_close with workflow.spawn
4 years ago
matejcik 02565f3bfb core/loop: introduce spawn syscall
4 years ago
matejcik 7ff1251ee1 core: dim lockscreen (fixes #974)
4 years ago
matejcik 67b723e4ca core: add a global idle timer
4 years ago
matejcik 246998910a core: refactor usage of input_signals
4 years ago
matejcik 09af8aed4e core: consider lockscreen to be a separate homescreen
4 years ago
matejcik 0600d87c8c common: rename ClearSession to LockDevice, introduce EndSession
4 years ago
matejcik eabfcab9b9 core: add default messages to some error codes
4 years ago
matejcik 341c5b7d10 core/wire: make handler lookup pluggable
4 years ago
matejcik 87433995b0 core: add BITCOIN_ONLY to mock file
4 years ago
Tomas Susanka 9dfc08ca61 core/bitcoin: drop decred_script_version
4 years ago
Tomas Susanka 1ac0f60550 core: update isort config to place relative imports last
4 years ago
matejcik aa52fc3903 core/extmod: drop unused rfc6979 module
4 years ago
matejcik 123b07e3ad core: drop support for pre-registering keychain namespaces
4 years ago
matejcik 63dfcb17a7 core: make mypy happy about importing fatfs
4 years ago
Andrew Kozlik d0b80bddc8 core/tests: Fix unit tests after sign_tx refactor.
4 years ago
Andrew Kozlik 2b74513e49 core: Fix mypy.
4 years ago
Andrew Kozlik 79c60615de core: Fix typing.
4 years ago
matejcik 5885978c83 Merge branch 'release/2020-04'
4 years ago
Dusan Klinec 25b6e9058f xmr: proto - add fields for protocol optimization
4 years ago
matejcik eec0615444 core: drop sys.pyi from mocks (fixes #934)
4 years ago
Tomas Susanka 0b7a8449f8 core: style
4 years ago
Tomas Susanka bf20537f41 core: add option to omit cancel button in HoldToConfirm; add it to reset
4 years ago
matejcik e2035b4972 all: drop Horizen and BIP-115 support [NO BACKPORT]
4 years ago
matejcik 27803ee8c1 all: drop overwintered field from transaction
4 years ago
Andrew Kozlik e5008eb332 core/webauthn: Remove indistinguishable credentials from the allow list.
4 years ago
Andrew Kozlik 0af0e06d5b core/webauthn: Truncate names in credential data to at most 100 bytes.
4 years ago
Andrew Kozlik 2f905a1157 core/webauthn: Add algorithm and curve to WebAuthnListResidentCredentials response.
4 years ago
Tomas Susanka f8de140271 core: add cancel to hold to confirm dialogs
4 years ago
matejcik 7f91bc571c core: ensure default task restarts after a passphrase workflow (fixes #883)
4 years ago
Tomas Susanka 5ee6e56f56
Merge pull request #880 from trezor/tsusanka/sign-verify-ui
4 years ago
Tomas Susanka a8af9feebe core: fix text overflow in some dialogs
4 years ago
matejcik 18ac4fc9ca core: update Python facing APIs
4 years ago
matejcik b916072389 common: restore PassphraseAck.state
4 years ago
matejcik e9c275c24f core/sdcard: fix invalid state when filesystem mounting fails
4 years ago
matejcik ddee77ecb6 core: add SD clearing via debuglink
4 years ago
matejcik d08942be4a core: introduce filesystem wrapper
4 years ago
Tomas Susanka ff1bb67abc common: return the PasshraseType button request
4 years ago
matejcik e61b7d28e9 all: do not send state in PassphraseAck (not needed for compatibility)
4 years ago
matejcik d3b88a37be core: do not catch SystemExit in handle_session (#826)
4 years ago
Tomas Susanka 2c0504ad1c
Merge pull request #803 from trezor/passphrase
4 years ago
matejcik 05a1d6f771 core/debug: add "show arbitrary screen" capability, for easier prototyping
4 years ago
matejcik c01d04f26e common/protob: drop a default field declaration
4 years ago
matejcik 4c9689d7a7 common: return deprecated fields to protobuf, to allow cross-version compatible code
4 years ago
Pavol Rusnak fdfa64ac2a
core/ui: fix HoldToConfirm redraw
4 years ago
Tomas Susanka 56dc952495 common: fix PassphraseAck.on_device id
4 years ago
Pavol Rusnak 73ed2f3450
legacy: small nitpicks related to the new passphrase handling
4 years ago
Tomas Susanka aa6988a556
core/ui: introduce draw_simple
4 years ago
Tomas Susanka f3553f63f1
common: remove PassphraseRequest.on_device completely
4 years ago
Tomas Susanka c65b57affb
core, legacy: remove passphrase_cached
4 years ago
Tomas Susanka a3f3d4fcdb
remove ping.passphrase/pin
4 years ago
Tomas Susanka 466dc4732d
core/passphrase: add button requests
4 years ago
Tomas Susanka cd09f9ce94
all: modify passphrase source to always on device
4 years ago
Tomas Susanka eafd57c301
common, core: add passphrase entry capability
4 years ago
Tomas Susanka 90d5cdfd5b
all: rework passphrase
4 years ago
matejcik 0df3c64855 core: fix unexpected messages in debug mode (fixes #809)
4 years ago
matejcik 4e82e69070 core: add missing type annotation
4 years ago