diff --git a/common/defs/ethereum/released-definitions-timestamp.txt b/common/defs/ethereum/released-definitions-timestamp.txt index c45f22d5bb..e5cdeb4973 100644 --- a/common/defs/ethereum/released-definitions-timestamp.txt +++ b/common/defs/ethereum/released-definitions-timestamp.txt @@ -1 +1 @@ -2023-04-03T13:44:24+00:00 +2023-09-06T12:08:21+00:00 diff --git a/common/tools/cointool.py b/common/tools/cointool.py index a9ba0d2417..8eb8fc1e7b 100755 --- a/common/tools/cointool.py +++ b/common/tools/cointool.py @@ -21,6 +21,9 @@ from coin_info import Coin, CoinBuckets, Coins, CoinsInfo, FidoApps, SupportInfo DEFINITIONS_TIMESTAMP_PATH = ( coin_info.DEFS_DIR / "ethereum" / "released-definitions-timestamp.txt" ) +DEFINITIONS_LATEST_URL = ( + "https://raw.githubusercontent.com/trezor/definitions/main/definitions-latest.json" +) try: import termcolor @@ -912,5 +915,24 @@ def render( do_render(file, dst) +@cli.command() +# fmt: off +@click.option("-v", "--verbose", is_flag=True, help="Print timestamp and merkle root") +# fmt: on +def new_definitions(verbose: bool) -> None: + """Update timestamp of external coin definitions.""" + assert requests is not None + eth_defs = requests.get(DEFINITIONS_LATEST_URL).json() + eth_defs_date = eth_defs["metadata"]["datetime"] + if verbose: + click.echo( + f"Latest definitions from {eth_defs_date}: {eth_defs['metadata']['merkle_root']}" + ) + eth_defs_date = datetime.datetime.fromisoformat(eth_defs_date) + DEFINITIONS_TIMESTAMP_PATH.write_text( + eth_defs_date.isoformat(timespec="seconds") + "\n" + ) + + if __name__ == "__main__": cli() diff --git a/common/tools/release.sh b/common/tools/release.sh index 3e6a34bd24..9c7ba84826 100755 --- a/common/tools/release.sh +++ b/common/tools/release.sh @@ -7,6 +7,7 @@ trap "rm -r $CHECK_OUTPUT" EXIT $HERE/cointool.py check > $CHECK_OUTPUT/pre.txt +$HERE/cointool.py new-definitions -v $HERE/support.py release $HERE/cointool.py check > $CHECK_OUTPUT/post.txt diff --git a/core/.changelog.d/2161.changed b/core/.changelog.d/2161.changed deleted file mode 100644 index 7adcda3212..0000000000 --- a/core/.changelog.d/2161.changed +++ /dev/null @@ -1 +0,0 @@ -Changed design of the path warning screen (model T only). diff --git a/core/.changelog.d/2341.changed b/core/.changelog.d/2341.changed deleted file mode 100644 index 472e61629b..0000000000 --- a/core/.changelog.d/2341.changed +++ /dev/null @@ -1 +0,0 @@ -Update to MicroPython 1.19.1. diff --git a/core/.changelog.d/2610.added b/core/.changelog.d/2610.added deleted file mode 100644 index beb5505e31..0000000000 --- a/core/.changelog.d/2610.added +++ /dev/null @@ -1 +0,0 @@ -Implement UI for Model R diff --git a/core/.changelog.d/2937.changed b/core/.changelog.d/2937.changed deleted file mode 100644 index 104e40f2da..0000000000 --- a/core/.changelog.d/2937.changed +++ /dev/null @@ -1 +0,0 @@ -Introduce multiple account warning to BTC send flow. diff --git a/core/.changelog.d/2937.changed.1 b/core/.changelog.d/2937.changed.1 deleted file mode 100644 index d9b55d7551..0000000000 --- a/core/.changelog.d/2937.changed.1 +++ /dev/null @@ -1 +0,0 @@ -Introduce multisig warning to BTC receive flow. diff --git a/core/.changelog.d/2955.fixed b/core/.changelog.d/2955.fixed deleted file mode 100644 index 4f9a096932..0000000000 --- a/core/.changelog.d/2955.fixed +++ /dev/null @@ -1 +0,0 @@ -Fixed gamma correction settings for Model T diff --git a/core/.changelog.d/2956.changed b/core/.changelog.d/2956.changed deleted file mode 100644 index c4a9f10e6b..0000000000 --- a/core/.changelog.d/2956.changed +++ /dev/null @@ -1 +0,0 @@ -Changed grey_dark and green colors in TT UI diff --git a/core/.changelog.d/2989.added b/core/.changelog.d/2989.added deleted file mode 100644 index cd2d6b57aa..0000000000 --- a/core/.changelog.d/2989.added +++ /dev/null @@ -1 +0,0 @@ -Added support for STM32F429I-DISC1 board diff --git a/core/.changelog.d/3047.added b/core/.changelog.d/3047.added deleted file mode 100644 index 32c4b05e26..0000000000 --- a/core/.changelog.d/3047.added +++ /dev/null @@ -1 +0,0 @@ -QR code display when exporting XPUBs. diff --git a/core/.changelog.d/3048.added b/core/.changelog.d/3048.added deleted file mode 100644 index 9ca067e4da..0000000000 --- a/core/.changelog.d/3048.added +++ /dev/null @@ -1 +0,0 @@ -Added hw model field to all vendor headers. diff --git a/core/.changelog.d/3205.added b/core/.changelog.d/3205.added deleted file mode 100644 index fe4468f37e..0000000000 --- a/core/.changelog.d/3205.added +++ /dev/null @@ -1,2 +0,0 @@ -Added firmware update without interaction. -Split builds of different parts to use simple util.s assembler, while FW+bootloader use interconnected ones. diff --git a/core/.changelog.d/3216.removed b/core/.changelog.d/3216.removed deleted file mode 100644 index 6a68fa7f30..0000000000 --- a/core/.changelog.d/3216.removed +++ /dev/null @@ -1 +0,0 @@ -MUE support diff --git a/core/.changelog.d/3218.fixed b/core/.changelog.d/3218.fixed deleted file mode 100644 index 67e778caa4..0000000000 --- a/core/.changelog.d/3218.fixed +++ /dev/null @@ -1 +0,0 @@ -Fix more info button on shamir recovery screen. diff --git a/core/.changelog.d/3237.added b/core/.changelog.d/3237.added deleted file mode 100644 index 08672d1dc7..0000000000 --- a/core/.changelog.d/3237.added +++ /dev/null @@ -1 +0,0 @@ -Add support for address chunkification in Receive and Sign flow. diff --git a/core/.changelog.d/3255.added b/core/.changelog.d/3255.added deleted file mode 100644 index 77f420f8f6..0000000000 --- a/core/.changelog.d/3255.added +++ /dev/null @@ -1 +0,0 @@ -Implement device authentication for Model R. diff --git a/core/.changelog.d/3256.added b/core/.changelog.d/3256.added deleted file mode 100644 index 90dad1fff0..0000000000 --- a/core/.changelog.d/3256.added +++ /dev/null @@ -1 +0,0 @@ -Use Optiga as a source of randomness in seed generation for Model R. diff --git a/core/.changelog.d/3296.added b/core/.changelog.d/3296.added deleted file mode 100644 index b67fca3cb5..0000000000 --- a/core/.changelog.d/3296.added +++ /dev/null @@ -1 +0,0 @@ -Integrate Optiga into PIN verification for Model R. diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md index e0d60435f2..655d4dba7e 100644 --- a/core/CHANGELOG.md +++ b/core/CHANGELOG.md @@ -4,6 +4,38 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## [2.6.2] (internal release) + +### Added +- [T2B1] Integrate Optiga into PIN verification. [#3296] + + +## [2.6.1] (internal release) + +### Added +- [T2B1] Implement UI. [#2610] +- QR code display when exporting XPUBs. [#3047] +- Added hw model field to all vendor headers. [#3048] +- Added firmware update without interaction. [#3205] +- Split builds of different parts to use simple util.s assembler, while FW+bootloader use interconnected ones. [#3205] +- Add support for address chunkification in Receive and Sign flow. [#3237] +- [T2B1] Implement device authentication. [#3255] +- [T2B1] Use Optiga as a source of randomness in seed generation. [#3256] + +### Changed +- [T2T1] Changed design of the path warning screen. [#2161] +- Update to MicroPython 1.19.1. [#2341] +- Introduce multisig warning to BTC receive flow. [#2937] +- Introduce multiple account warning to BTC send flow. [#2937] + +### Removed +- MUE coin support. [#3216] + +### Fixed +- [T2T1] Fixed gamma correction settings for. [#2955] +- [T2T1] Fix more info button on shamir recovery screen. [#3218] + + ## [2.6.0] (19th April 2023) ### Added @@ -701,6 +733,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [#2144]: https://github.com/trezor/trezor-firmware/pull/2144 [#2151]: https://github.com/trezor/trezor-firmware/pull/2151 [#2152]: https://github.com/trezor/trezor-firmware/pull/2152 +[#2161]: https://github.com/trezor/trezor-firmware/pull/2161 [#2166]: https://github.com/trezor/trezor-firmware/pull/2166 [#2167]: https://github.com/trezor/trezor-firmware/pull/2167 [#2181]: https://github.com/trezor/trezor-firmware/pull/2181 @@ -718,6 +751,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [#2300]: https://github.com/trezor/trezor-firmware/pull/2300 [#2313]: https://github.com/trezor/trezor-firmware/pull/2313 [#2324]: https://github.com/trezor/trezor-firmware/pull/2324 +[#2341]: https://github.com/trezor/trezor-firmware/pull/2341 [#2354]: https://github.com/trezor/trezor-firmware/pull/2354 [#2355]: https://github.com/trezor/trezor-firmware/pull/2355 [#2366]: https://github.com/trezor/trezor-firmware/pull/2366 @@ -741,6 +775,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [#2577]: https://github.com/trezor/trezor-firmware/pull/2577 [#2587]: https://github.com/trezor/trezor-firmware/pull/2587 [#2595]: https://github.com/trezor/trezor-firmware/pull/2595 +[#2610]: https://github.com/trezor/trezor-firmware/pull/2610 [#2611]: https://github.com/trezor/trezor-firmware/pull/2611 [#2623]: https://github.com/trezor/trezor-firmware/pull/2623 [#2651]: https://github.com/trezor/trezor-firmware/pull/2651 @@ -752,3 +787,15 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [#2834]: https://github.com/trezor/trezor-firmware/pull/2834 [#2841]: https://github.com/trezor/trezor-firmware/pull/2841 [#2899]: https://github.com/trezor/trezor-firmware/pull/2899 +[#2937]: https://github.com/trezor/trezor-firmware/pull/2937 +[#2955]: https://github.com/trezor/trezor-firmware/pull/2955 +[#2989]: https://github.com/trezor/trezor-firmware/pull/2989 +[#3047]: https://github.com/trezor/trezor-firmware/pull/3047 +[#3048]: https://github.com/trezor/trezor-firmware/pull/3048 +[#3205]: https://github.com/trezor/trezor-firmware/pull/3205 +[#3216]: https://github.com/trezor/trezor-firmware/pull/3216 +[#3218]: https://github.com/trezor/trezor-firmware/pull/3218 +[#3237]: https://github.com/trezor/trezor-firmware/pull/3237 +[#3255]: https://github.com/trezor/trezor-firmware/pull/3255 +[#3256]: https://github.com/trezor/trezor-firmware/pull/3256 +[#3296]: https://github.com/trezor/trezor-firmware/pull/3296 diff --git a/core/assets/model_r/device_name.png b/core/assets/model_r/device_name.png index 84cdebf5ec..62630ccb1c 100644 Binary files a/core/assets/model_r/device_name.png and b/core/assets/model_r/device_name.png differ diff --git a/core/embed/extmod/modtrezorutils/modtrezorutils.c b/core/embed/extmod/modtrezorutils/modtrezorutils.c index c9c61cad10..55281b5062 100644 --- a/core/embed/extmod/modtrezorutils/modtrezorutils.c +++ b/core/embed/extmod/modtrezorutils/modtrezorutils.c @@ -281,6 +281,9 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_0(mod_trezorutils_bootloader_locked_obj, STATIC mp_obj_str_t mod_trezorutils_revision_obj = { {&mp_type_bytes}, 0, sizeof(SCM_REVISION) - 1, (const byte *)SCM_REVISION}; +STATIC mp_obj_str_t mod_trezorutils_model_name_obj = { + {&mp_type_str}, 0, sizeof(MODEL_NAME) - 1, (const byte *)MODEL_NAME}; + STATIC mp_obj_str_t mod_trezorutils_full_name_obj = { {&mp_type_str}, 0, @@ -352,7 +355,7 @@ STATIC const mp_rom_map_elem_t mp_module_trezorutils_globals_table[] = { #else {MP_ROM_QSTR(MP_QSTR_USE_OPTIGA), mp_const_false}, #endif - {MP_ROM_QSTR(MP_QSTR_MODEL), MP_ROM_QSTR(MODEL_NAME_QSTR)}, + {MP_ROM_QSTR(MP_QSTR_MODEL), MP_ROM_PTR(&mod_trezorutils_model_name_obj)}, {MP_ROM_QSTR(MP_QSTR_MODEL_FULL_NAME), MP_ROM_PTR(&mod_trezorutils_full_name_obj)}, {MP_ROM_QSTR(MP_QSTR_INTERNAL_MODEL), diff --git a/core/embed/firmware/bl_check.c b/core/embed/firmware/bl_check.c index 3c527806af..6a9a25458b 100644 --- a/core/embed/firmware/bl_check.c +++ b/core/embed/firmware/bl_check.c @@ -65,9 +65,12 @@ static secbool known_bootloader(const uint8_t *hash, int len) { // bootloader_T1B1.bin version #define BOOTLOADER_T1B1_00 {0xc1, 0x01, 0xd3, 0x8a, 0x00, 0x5e, 0x4f, 0x5f, 0x87, 0x1f, 0x49, 0x78, 0x24, 0x9c, 0xf9, 0x82, 0xd1, 0x91, 0x4b, 0xa6, 0x90, 0x03, 0x9c, 0x50, 0x49, 0x61, 0x10, 0x4f, 0xee, 0xe7, 0x1d, 0x7b} #define BOOTLOADER_T1B1_FF {0xbd, 0xb2, 0xf7, 0x62, 0xfb, 0x10, 0xbb, 0x30, 0x1f, 0x95, 0xa3, 0x12, 0x6b, 0x41, 0x1f, 0x66, 0xfc, 0x57, 0x28, 0xce, 0x7f, 0x59, 0x42, 0x6c, 0x3e, 0xed, 0xf7, 0x69, 0xbb, 0x96, 0xbd, 0x4b} -// bootloader_T2B1.bin version 2.0.5.0 -#define BOOTLOADER_T2B1_00 {0xf1, 0x3d, 0x46, 0x21, 0xec, 0xf9, 0x92, 0xfb, 0x5c, 0x50, 0xaf, 0xdb, 0x55, 0x13, 0x0e, 0x7f, 0xbe, 0x5b, 0x30, 0x37, 0xc9, 0x17, 0xff, 0xf5, 0xe7, 0xd7, 0xe9, 0x1d, 0x09, 0x5c, 0xf3, 0x2a} -#define BOOTLOADER_T2B1_FF {0xa9, 0xf0, 0x63, 0xfd, 0x8a, 0xe7, 0x6c, 0x52, 0x92, 0xcb, 0x11, 0x69, 0x87, 0x79, 0x62, 0x11, 0x1e, 0x01, 0x1e, 0xf1, 0xb5, 0xd9, 0x20, 0x16, 0x4d, 0x2c, 0x16, 0x41, 0x0d, 0xa1, 0xe7, 0xc8} +// bootloader_T2B1_qa.bin version 2.1.3.0 +#define BOOTLOADER_T2B1_QA_00 {0xcb, 0x07, 0x8a, 0x12, 0x1c, 0x42, 0xd9, 0x14, 0xba, 0xca, 0x0f, 0x0a, 0xf5, 0x85, 0xa6, 0xb4, 0xfb, 0x28, 0x52, 0x1d, 0xf7, 0x34, 0xbf, 0x9c, 0xd8, 0x52, 0xd7, 0xf2, 0x4b, 0xdc, 0x19, 0xca} +#define BOOTLOADER_T2B1_QA_FF {0x21, 0x3b, 0x01, 0xd3, 0x51, 0x3e, 0xb4, 0x7f, 0xb4, 0x66, 0xb6, 0x2f, 0x3f, 0xca, 0x81, 0xbf, 0xb6, 0x8f, 0x0f, 0xbd, 0xab, 0x34, 0xff, 0xf5, 0x9d, 0x32, 0xf2, 0x6a, 0x4c, 0x99, 0x14, 0xde} +// bootloader_T2B1.bin version 2.1.3.0 +#define BOOTLOADER_T2B1_00 {0x5d, 0x6a, 0x6f, 0x32, 0x7b, 0xdf, 0xed, 0x91, 0x0c, 0x7b, 0xec, 0xeb, 0x90, 0x8a, 0xd7, 0x47, 0x5a, 0x17, 0xf7, 0x1e, 0xd0, 0x74, 0x0b, 0x1b, 0x41, 0xdd, 0x26, 0x1b, 0x14, 0x69, 0x5b, 0xfa} +#define BOOTLOADER_T2B1_FF {0xa5, 0xe8, 0xbe, 0xab, 0xa9, 0xf1, 0x6f, 0x0d, 0xf6, 0x4d, 0xa1, 0xde, 0x8f, 0x4c, 0x9a, 0xa1, 0x9f, 0xa7, 0xd0, 0x23, 0xa7, 0x84, 0xdf, 0xcc, 0x11, 0xef, 0x0d, 0x04, 0xed, 0xd0, 0x46, 0x22} // bootloader_1.bin version #define BOOTLOADER_1_00 {0xa5, 0x5a, 0x8b, 0x88, 0x94, 0x8a, 0x33, 0x2b, 0xed, 0x0d, 0xd9, 0x5c, 0x79, 0xd5, 0xbe, 0x0c, 0x73, 0x52, 0xaa, 0xac, 0xb3, 0x4f, 0xea, 0xd0, 0xaa, 0x88, 0x33, 0x23, 0x64, 0xab, 0x77, 0x5a} #define BOOTLOADER_1_FF {0x50, 0x6c, 0x5f, 0xd3, 0x73, 0x7b, 0x9b, 0xb7, 0xb9, 0xbf, 0xf9, 0xfa, 0xc6, 0xb9, 0x43, 0x27, 0x8b, 0x06, 0xad, 0x3a, 0xec, 0xce, 0x35, 0xa3, 0x52, 0xc3, 0x6e, 0x9e, 0x9a, 0xb3, 0x50, 0x98} diff --git a/core/embed/firmware/bootloaders/bootloader_T2B1.bin b/core/embed/firmware/bootloaders/bootloader_T2B1.bin index ed76a2da0e..6a887e1f5e 100644 Binary files a/core/embed/firmware/bootloaders/bootloader_T2B1.bin and b/core/embed/firmware/bootloaders/bootloader_T2B1.bin differ diff --git a/core/embed/firmware/bootloaders/bootloader_T2B1_qa.bin b/core/embed/firmware/bootloaders/bootloader_T2B1_qa.bin new file mode 100644 index 0000000000..7be7ca8c16 Binary files /dev/null and b/core/embed/firmware/bootloaders/bootloader_T2B1_qa.bin differ diff --git a/core/embed/models/model_D001.h b/core/embed/models/model_D001.h index f6c123619e..5a97b71e6f 100644 --- a/core/embed/models/model_D001.h +++ b/core/embed/models/model_D001.h @@ -5,7 +5,6 @@ #define MODEL_FULL_NAME "Trezor Model T" #define MODEL_INTERNAL_NAME "D001" #define MODEL_INTERNAL_NAME_TOKEN T -#define MODEL_NAME_QSTR MP_QSTR_T #define MODEL_INTERNAL_NAME_QSTR MP_QSTR_D001 /*** Discovery uses DEV keys in any build variant ***/ diff --git a/core/embed/models/model_T1B1.h b/core/embed/models/model_T1B1.h index 5c163312f2..b1f425584b 100644 --- a/core/embed/models/model_T1B1.h +++ b/core/embed/models/model_T1B1.h @@ -5,7 +5,6 @@ #define MODEL_FULL_NAME "Trezor Model One" #define MODEL_INTERNAL_NAME "T1B1" #define MODEL_INTERNAL_NAME_TOKEN T1B1 -#define MODEL_NAME_QSTR MP_QSTR_1 #define MODEL_INTERNAL_NAME_QSTR MP_QSTR_T1B1 #define BOOTLOADER_START 0x08000000 diff --git a/core/embed/models/model_T2B1.h b/core/embed/models/model_T2B1.h index 86c8881112..26bb9c2f55 100644 --- a/core/embed/models/model_T2B1.h +++ b/core/embed/models/model_T2B1.h @@ -1,11 +1,10 @@ #ifndef MODELS_MODEL_T2B1_H_ #define MODELS_MODEL_T2B1_H_ -#define MODEL_NAME "R" -#define MODEL_FULL_NAME "Trezor Model R" +#define MODEL_NAME "Safe 3" +#define MODEL_FULL_NAME "Trezor Safe 3" #define MODEL_INTERNAL_NAME "T2B1" #define MODEL_INTERNAL_NAME_TOKEN T2B1 -#define MODEL_NAME_QSTR MP_QSTR_R #define MODEL_INTERNAL_NAME_QSTR MP_QSTR_T2B1 /*** PRODUCTION KEYS ***/ diff --git a/core/embed/models/model_T2T1.h b/core/embed/models/model_T2T1.h index 6405d8d7fa..bbc6964a2b 100644 --- a/core/embed/models/model_T2T1.h +++ b/core/embed/models/model_T2T1.h @@ -5,7 +5,6 @@ #define MODEL_FULL_NAME "Trezor Model T" #define MODEL_INTERNAL_NAME "T2T1" #define MODEL_INTERNAL_NAME_TOKEN T2T1 -#define MODEL_NAME_QSTR MP_QSTR_T #define MODEL_INTERNAL_NAME_QSTR MP_QSTR_T2T1 /*** PRODUCTION KEYS ***/ diff --git a/core/embed/rust/src/ui/model_tr/component/welcome_screen.rs b/core/embed/rust/src/ui/model_tr/component/welcome_screen.rs index 6c656ed157..c38fff4548 100644 --- a/core/embed/rust/src/ui/model_tr/component/welcome_screen.rs +++ b/core/embed/rust/src/ui/model_tr/component/welcome_screen.rs @@ -58,6 +58,6 @@ impl Component for WelcomeScreen { impl crate::trace::Trace for WelcomeScreen { fn trace(&self, t: &mut dyn crate::trace::Tracer) { t.component("WelcomeScreen"); - t.string("model_name", "Trezor Model R"); + t.string("model_name", "Trezor Safe 3"); } } diff --git a/core/embed/rust/src/ui/model_tr/res/device_name.toif b/core/embed/rust/src/ui/model_tr/res/device_name.toif index ab9bab67cb..9d506e2e85 100644 Binary files a/core/embed/rust/src/ui/model_tr/res/device_name.toif and b/core/embed/rust/src/ui/model_tr/res/device_name.toif differ diff --git a/core/src/apps/ethereum/definitions_constants.py b/core/src/apps/ethereum/definitions_constants.py index 063c0aba21..349e8980dc 100644 --- a/core/src/apps/ethereum/definitions_constants.py +++ b/core/src/apps/ethereum/definitions_constants.py @@ -9,7 +9,7 @@ PUBLIC_KEYS = ( b"\xb8\xd2\xb2\x1d\xe2\x71\x24\xf0\x51\x1f\x90\x3a\xe7\xe6\x0e\x07\x96\x18\x10\xa0\xb8\xf2\x8e\xa7\x55\xfa\x50\x36\x7a\x8a\x2b\x8b", ) -MIN_DATA_VERSION = 1680529464 +MIN_DATA_VERSION = 1694002101 FORMAT_VERSION = b"trzd1" if __debug__: diff --git a/python/src/trezorlib/models.py b/python/src/trezorlib/models.py index f10eaabf13..3d83a2959e 100644 --- a/python/src/trezorlib/models.py +++ b/python/src/trezorlib/models.py @@ -53,7 +53,7 @@ TREZOR_T = TrezorModel( ) TREZOR_R = TrezorModel( - name="R", + name="Safe 3", internal_name="T2B1", minimum_version=(2, 1, 0), vendors=VENDORS,